Error codes
C.2 PLC non-fatal error codes
S7-200 SMART
792
System Manual, V2.3, 07/2017, A5E03822230-AF
C.2
PLC non-fatal error codes
PLC compiler and run-time errors are non-fatal errors. Non-fatal errors can degrade some
aspect of the performance of your PLC, but do not render the PLC incapable of executing
the user program or updating the I/O.
●
Run-time programming errors are non-fatal error conditions created by your program
while the program is being executed. An example of this is an indirect-address pointer,
which was valid when the program compiled, and then modified by program execution to
point to an out-of-range address. Access the PLC Information from the PLC menu ribbon
strip to determine what type of error has occurred.
You can correct run-time programming errors only by modifying the user program. The
CPU clears the run-time programming errors at the next transition from STOP to RUN
mode.
●
PLC compiler errors (or program-compile errors) prevent you from downloading the
program to the PLC. STEP 7-Micro/WIN SMART detects compile errors when you
compile or download (Page 45) the program, and shows errors in the output window. If
there is a compile error, the PLC retains the current program that is resident in the PLC.
I/O errors are also non-fatal errors. When problems occur with the I/O of the CPU, signal
board, and expansion modules, the PLC records the error information in special memory
(SM) bits that your program can monitor and evaluate.
Non-fatal error codes
Hexadecimal error
code
Non-fatal PLC program compiler errors
0080
The program is too large for the CPU; please reduce the program size
0081
Logic stack underflow; split the network into multiple networks
0082
Illegal instruction; check instruction mnemonics
0083
Illegal instruction before end of main program; remove incorrect instruction
0085
Illegal combination of FOR/NEXT; add FOR instruction or delete NEXT in-
struction
0086
Illegal combination of FOR/NEXT; add NEXT instruction or delete FOR in-
struction
0087
Missing label or POU; add the appropriate label
0088
Illegal instruction before end of subroutine; add RET to the end of the subrou-
tine or remove incorrect instruction
0089
Illegal instruction before end of interrupt routine; add RETI to the end of the
interrupt routine or remove incorrect instruction
008B
Illegal jump in or out of a SCR segment
008C
Duplicate label or POU name
008D
Exceeded maximum label or POU number; ensure that the number of labels
allowed has not been exceeded
0090
Illegal operand
0091
Memory range error; check the operand ranges
0092
Illegal count operand; verify the maximum count size
0093
FOR/NEXT nesting level exceeded