NOTES ADDED 12-12-01 REGARDING (mostly) TEST FEATURES OF THE STEP 5 SYSTEM 1. You can edit code in the PLC and also load this edited code while the PLC is running. (Doesn't have to be stopped). Note: when you have finished making changes to the code, you will have some difficulty making the system swallow it. Until the system has come up with the prompt "Overwrite code in PLC" you're not there. Be persistant with "enter" and "save" and after a few rejections, you'll get the desired "Overwrite...." prompt. 2. STATUS VARIABLE DISLAY You set up this screen with a list of the variables you wish to monitor. After entering this list (or modifying it) always hit SAVE so that the list will reappear the next time you enter this screen. Note: besides saving the default list, you can use SAVE AS to create multiple lists. Once the list is entered, you ACTIVATE it with the mouse or the INSERT (Ins) key. You will then see the values of the variables. If the program is running, you can watch the variables as they change, counters countings, etc. (Dynamic display). If you have gone to this screen after hitting a breakpoint with "program test", you will see the frozen values of the variables at the break point. You can also display a "FIELD" by hitting F4 and then filling in the command line. Editing the variable list: To edit, you must have the menu bar visible at the bottom of the screen, i.e. the status display must be interupped. To interrupt the display, hit ESC. Ordinary key strokes, up and down arrows, and Enter all work in conventional fashion to edit the variable list. Example: to monitor DD7 of DB11, make an entry "DB11", hit return, then enter DD7. In our Step 5 program, the contents of this location are incremented every second by OB16, the 1-sec interrupt routine. (Our OB16 does this and nothing else). After a warm restart by toggling the front panel run switch, you will see the frozen old value. This will be replaced by a zero, and then begin incrementing. Note: if the initialization routine has trouble, i.e. in establishing communication with the CP581, it will time out in 90 seconds and then DD7 will begin to increment. 3. ISTACK DISPLAY (interrupt stack) You can select this display with the program not running or running. This seems not to be a dynamic display, but rather reflects various control conditions, past and present, that were valid at the time the display was selected. Use the mouse to click on any symbol. The meaning of that symbol will be displayed at the bottom of the screen. A red X below a symbol indicates a selected or existing condition. Examples: that the last restart was a warm restart; that the last restart was a cold restart; that the program is running in cyclic mode; that the processor is stopped..... But what about the interrupt stack?? If the cpu is stopped, you can hit "INSERT", and the status display will be replaced by the stack of nested interrupts that were active when STOP occurred. (See page 5-21 of the CPU 928B Version 3Ub1 Programming Guide). 4. BLOCK STATUS DISPLAY (dynamic display of processing within a block) This STEP5 EDITING HINTS JBH 9-28-00 The STEP5/PC development system makes editing quite awkward. This may be due, in part, to our use of a standard PC rather than the Siemens custom Programmer PC. Getting around the menus from one field to another is sometimes difficult, but not as difficult as editing a field, once you are there. The editor essentially gives you no prompts. You have to know what can be entered. A non-acceptable entry, followed by RETURN will often cause the entry to be erased - purged! Or you may be answered with a cryptic error message, perhaps "Error No. XX" for which there seems to be no written key or online help. Reasons why your entry may not be acceptable: 1. You have used an instruction that is ok in an FB, but not allowed in an OB or PB. 2. You have written JU FBxx but you have not filled the rest of this function call: the name of the Fb and the argument list (which is *** in the case of no arguments). Comments: Three types of comment can appear in your program: statement comments, segment comments, and symbolic comments. Statement comments are those that you enter while editing the program. They appear to the right of the statement. (See below for how to access the comment field to enter a comment). Segment comments form headings for program segments. They are also entered while using the editor. Symbol comments are those that have been entered in the "assignments" file. Suppose that, in the symbols table, you have assigned the symbol "pwrflag to F10.1, along with a comment "pwrflag is for the dc supply". In your program, any line that refers to the F10.0 or "pwrflag" will cause the comment in the assignent file to appear in your program file. A function key in the editor allows the editing screen to display either symbol comments or statement comments, but not both. A print-out of the program, however, can contain both. The function key, Shift F4, actually cycles through three options: statement and segment comments are displayed, symbol and segment comments are displayed, and no comments are displayed. It is tricky to enter statement comments. As you edit a line of code, you must move the cursor to the extreme right side of the operand field, using the space bar or the tab key. Once you are at the far right of this field, hit the space bar and you will be at the beginning of the comment field. Labels on statments: To jump around in the code, you need statements such as "JU =CAT". Here, "CAT" is a label on another statement, e.g. "CAT :A -PWRFLAG" Note that the jump statemnt must refer to CAT as "=CAT". Note also the dash before "PWRFLAG"; without the dash, the system doesn't have enough sense to look for an otherwise unidentified symbol in its symbol table. Shift F3 puts the editor in symbol mode or absolute mode. These are display options. If you switch to symbol mode, every "F10.0" on the screen will become "-PWRFLAG". If you switch back to absolute mode, evern "-PWRFLAG" will change to "f10.0". If you are in symbol mode and you enter "F10.0", as soon as you enter that line, the "F10.0" will change to "-PWRFLAG". Note that you can use the Function keys in the editor to get into the symbol table - rather than leaving the program to edit the symbol table and then getting back into the program editor. To edit a program block. Invoke the editor. Put cursor on line to be edited. Softkey "edit". Make changes. "enter" - maybe three times. DEALING WITH THE PROMMER (prom burner) The Siemens PROM burner came with a software disk "STEP4/ST/PC-PAKET 1.00 ERW.EXT.PROMMER 1/1 as well as a small multilingual manual. The manual contains instructions for installing the software. However, it seems that our PC version of STEP5 contains the necessary software. The prommer works without further software, and , in fact, the software on the disk refuses to install. As with the editor, the prompts and keystrokes for PROM operations are not obvious. One invokes these functions from the main STEP5 menu's "Management" submenu and "EPROMS" sub-submenu. This takes you to a screen on which two parameters can be entered or changed amd then entered. The top parameter should be left as "WORD", which always the correct response for our S135 system. The second parameter sets the checksum to "YES" or "NO". A YES must cause the checksum to be generated and transferred to the PROM as a data word. A NO probably results in a zero or some more unique word to be written in the checksum loacation. When the EPROM is read by the PLC, the PLC calculates the checksum of the incoming data and compares it to the included checksum. If the included checsum is "no check sum", the PLC can simply say ok, as if the checksum had been valid. (Why would one ever turn off the checksum option?). The other fields on this first PROMMER screen cannot be changed here; they have been set earlier on page 1 and/or page2 of Settings. Afer being sure that WORD is selected and checksum is YES, hit F6. All that changes on the screen is the softkey description at the bottom. When the "BLOW" function is selected, a screen appears asking for two parameters. The first,B, is for block. Type A for all and hit enter. The cursor moves to the PRT field (printer). Leave this field blank if you don't want to print and exit by hitting the "Insert" key on the PC. When you are prompted for PROGRAM NUMBER, type 500 if you are dealing with a FLASH card. Enter the 500 by hitting the "Insert" key or with a left mouse click. As is often the case, this is not enough; you have to also hit Insert again , or maybe even 500 Insert Insert. The lower light (yellow) on the PROMMER will first blink - probably when the "500 Program" is being downloaded. It will light continuously while the module is being DELETED (erased) or BURNED (programmed). How to install the module in the PLC. Simply push the module into its slot. Then clear the RAM by using STEP5 BLOCKS, DELETE, IN THE PLC, ALL, OVERALL RESET. The delete erases the ram and the overall reset causes the contents of the module to be loaded into the ram. Manual procedure for reloading the RAM from the module. (Not as foolproof as the STEP5 procedure described above). Suppose the module is installed and its contents are present in the RAM. Switch the top switch to the downward position, STOP. Press the RESET button upward to RESET and hold it there for 5 seconds. Press the RESET button downward to OVERALL RESET and hold it there. Switch the RUN switch up and the down. Release the lower switch. Repeat the procedure at least once. Manuyal procedure to erase the RAM: Pull the module out of its socket. (As long as the module remains plugged in, you cannot erase the RAM). Clear the memory as follows: Switch the top switch to the downward position, STOP. Press the RESET button upward to RESET and hold it there for 5 seconds. Press the RESET button downward to OVERALL RESET and hold it there. After about 5 seconds, switch the RUN switch up. After another 5 seconds, switch the RUN swith down. After another 5 seconds, release the lower switch. plc error: attempting to set or reset q0.0 when the digital output card is not present results in an error that stops the PLC. In this case a warm restart jumps past the error and the (test) program finishes its 5-sec timeout and stops. Another warm restart doesnt start it againl, since it has finished and is awaiting a start via OB20 or OB21. Give it a regular cold start and it encounters the error and immedately hangs again. Then another warm start again pushes it past the error and lets the program run its alloted course. The lamp blinking program, when eventually successful, showed that the digital output board must be plugged in at the time the PLC crate is powered up (manuals do mention this) but that no external power need be applied to the board (except to work the LEDs) and no DB1 need be written and entered. 2-27-01 Siemens manual gives procedure for overall reset which usually does not work. Here is a procedure discovered by Luis Murray, which seems to work: 1. Set the top swich to STOP. 2. Push the bottom switch down (OVERALL RESET) and, while holding it down, lift the upper switch to RUN. 3. Push the bottom switch up momentarily to RESET 4 Set the top switch to STOP 5 Lift the bottom switch to RESET and, while holding it up, lift the upper switch to RUN. 6 mRelease the bottom switch. Better Procedure for overall reset: from Notes given to Jorge during Siemens course: Start in the STOP position Hold the Reset swith down Toggle the RUN/STOP switch twice (note: twice!) Hold the reset switch up Place Run/Stop switch to "RUN" Let the reset switch return to its center position Timed interrupt routines (e.g. 1 sec, 0.1 sec...)_ will be active if they are present in the code, i.e. if OB16 is present, it will be automatically called ever second. __________ Debugging tools difficult to use with init routines (OB21, OB21, Ob22 ). A fix is to simply put a long delay loop (30 seconds, say) at the start of the init routine. This gives time to do a "start PLC" command and then turn on the breakpoint routine before the program has left the delay loop.