Home › Technical articles

Đọc bằng tiếng Việt

SLC 500 fault codes (S:6): reading major errors via S:1/13, S:5 and the FLT LED, full code list, clearing

TDL Industrial Automation · Last updated:

How to read a major fault on an SLC 500 processor (bit S:1/13, the hex code in S:6, the S:5 minor bits, the FLT LED), what each code from 0001 to xx94 means and what to do (0020, 0022, 0034, xx52, xx53…), the xx slot convention, the fault routine and clearing faults safely.

When an SLC 500 processor hits a major error, it sets bit S:1/13 (Major Error Halted) and writes a hex error code to word S:6 in the status file. The processor then either puts all outputs in a safe state and turns on the fault LED, or (SLC 5/02 and higher) runs the user fault routine with outputs still active (1747-RM001G-EN-P, p. B-12). The processor never clears S:6, so the code stays there to read (p. B-26). The manual sorts the codes into five groups: powerup, going-to-run, run, user program instruction and I/O errors (pp. 16-3, B-26). This article summarizes the full code list from chapter 16, "Troubleshooting Faults", and appendix B, "SLC Status File". Each row gives the meaning and the action the manual recommends.

Where a major fault shows

  • S:1/13: set by the processor on every major error. For the processor to accept a mode change, you must correct the condition and clear this bit (p. B-12).
  • S:6: the major error code. The processor stores and displays it in hex (p. B-26). To compare it in ladder logic, convert it to decimal. For example, an EQU that catches error 0016 uses S:6 as Source A and 22 as Source B (p. B-26).
  • S:5, bits 0–7: the minor error bits. If any of them is still set at the end of the scan, the processor turns it into major error 0020 (p. B-21).
  • S:1/0–S:1/4: the processor mode code. The fault mode is S:1/13 set together with the Remote Program or Suspend Idle code or, on processors with a keyswitch, the PROGram or RUN code (p. B-6).
  • S:20 and S:21: the rung (S:20) and file (S:21) the processor last executed before a major error or power-down. On an SLC 5/02 they work only if the program was saved with Test Single Step selected. On SLC 5/03 and higher they are built in (pp. B-41, 11-2).
  • FLT LED: on SLC 5/03 and higher, all LEDs flash once at power-up, the processor runs its self test, and the LEDs flash again. Then RUN is on if the program is running, and FLT is on if the processor has a fault (p. 16-15).

Three fault types: does the fault routine run?

The S:6 table in appendix B puts the codes in three classes (pp. B-26, 11-2):

Class Fault routine
Non-user fault Does not run
Non-recoverable user fault Runs once; it can send a MSG to another node to report the fault condition
Recoverable user fault Can clear the fault by clearing S:1/13

The code tables below give this class in the "Fault routine" column. A "—" means the appendix B table marks no class for that code.

Many codes share one list of causes. In the tables, "noise/power" stands for the list the manual gives: noise, lightning, improper grounding, no surge suppression on outputs with inductive loads, or a poor power source.

Powerup errors

Code (hex) Meaning Manual's action Fault routine
0001 NVRAM error. Cause: noise/power, or loss of battery or capacitor backup Correct the cause, reload the program and run. Autoload from a memory module can reload the program and enter Run automatically Does not run
0002 Unexpected hardware watchdog timeout. Cause: noise/power As 0001 Does not run
0003 Memory module memory error; can also occur when going to REM Run. The memory module is corrupted Re-program the memory module; replace it if the error stays Does not run
0007 Failure during memory module transfer. The memory module is corrupted As 0003 Does not run
0008 Internal software error. Cause: noise/power As 0001; if it recurs, contact your Rockwell representative Does not run
0009 Internal hardware error. Cause: noise/power As 0001; if it recurs, contact your Rockwell representative Does not run
(no code) Keyswitch in RUN but the processor powers up in a non-RUN state. The keyswitch may be damaged Connect RSLogix 500. If the status shows "Remote Download in Progress" and bits S:1/0–4 are all cleared, contact your Rockwell representative —

Source: pp. 16-3–16-4, B-27.

Going-to-run errors

Code (hex) Meaning Manual's action Fault routine
0010 The processor does not meet the revision level the program requires: the program was developed for another revision Ask your Rockwell representative for an upgrade kit for the processor Does not run
0011 Executable program file 2 is absent. The program is incompatible or corrupt Reload the program or reprogram Does not run
0012 The ladder program has a memory error. Cause: noise/power Correct the cause, reload and run; if it stays, develop and load the program with current programming software Does not run
0013 A memory module the program requires is absent, or S:1/10 or S:1/11 is not set as the program requires Install a memory module, or upload the program from the processor to the memory module Can clear
0014 Internal file error. Cause: noise/power As 0012 Does not run
0015 Configuration file error. Cause: noise/power As 0012 Does not run
0016 Startup protection after power loss: S:1/9 is set and power went down while running Reset S:1/9 if that fits the application and go back to run, or clear S:1/13 before the end of the first scan Can clear
0017 NVRAM and memory module programs differ while S:2/9 is set Transfer the memory module program to NVRAM, then go to Run Runs once
0018 Incompatible user program, operating system type mismatch; can also occur at power-up. The program is too advanced for the operating system Ask your Rockwell representative for an upgrade kit for the processor Does not run
0019 Duplicate or missing label in a subroutine Remove the duplicate label or add a label Runs once

Source: pp. 16-4–16-6, B-27. Chapter 16 describes 0019 as a duplicate label number, though its cause column says a duplicate or missing label; the appendix B table says missing or duplicate label.

Run errors

Code (hex) Meaning Manual's action Fault routine
001F Program integrity problem during online editing: noise, communication loss or a power cycle during the edit Reload the program and redo the online changes Does not run
0004 Memory error in Run mode. Cause: noise/power As 0001 Does not run
0020 A minor error bit in the low byte of S:5 is set at the end of the scan: math or FRD overflow, a sequencer or shift register error, a major error while executing the user fault routine, or M0-M1 files referenced for a disabled slot Correct the program, reload and enter Run Can clear
0021 Remote power failure of an expansion I/O chassis SLC 5/02 and higher and FRN 5 SLC 5/01: re-apply power to the expansion chassis; this is the only self-clearing code. Fixed and FRN 1–4 SLC 5/01: cycle power on the local chassis Does not run
0022 User watchdog scan time exceeded: watchdog set too low or the program caught in a loop Increase the watchdog in S:3H or correct the program Runs once
0023 Invalid or missing STI file: an STI file number was assigned but the file not created, or file 0, 1 or 2 was assigned Disable STI (setpoint S:30, file number S:31) or create the STI file; the file number must not be 0, 1 or 2 Runs once
0024 Invalid STI interval (negative or above the limit) Disable STI (S:30, S:31) or create an STI routine for the file number in S:31 Runs once
0025 Excessive stack depth/JSR calls for the STI routine: a JSR calls a file assigned to the STI routine Correct the program to meet the JSR restrictions, reload and run Runs once
0026 As 0025, for an I/O interrupt routine As 0025 Runs once
0027 As 0025, for the user fault routine As 0025 Runs once
0028 Invalid or missing "startup protection" fault routine file: S:29 holds a file number but the file was not created, or it is 0, 1 or 2 Disable the fault routine (S:29) or create a fault routine for the file number in S:29 Does not run
0029 Indexed address outside the whole data file space (B3:0 to the last file) Correct and reload the program; writing to the index register S:24 does not fix it. After recovery the faulted instruction uses an index value of zero Can clear
002A Indexed address beyond the referenced data file Correct the program, allocate more data space with the memory map, or re-save the program allowing file boundaries to be crossed; reload. Writing S:24 does not fix it Runs once
002B The file number of an indirect address has the wrong file type or does not exist Check the file type or create the file Can clear
002C The indirectly referenced element does not exist (the file exists and has the right type), for example T4:[N7:0] with N7:0 = 10 when T4 only goes to T4:9 Create the referenced element Can clear
002D A subelement referenced incorrectly, or an indirect reference to an M-file Correct the references Can clear
002E Invalid DII input slot: the slot is empty or holds a non-discrete card Change the input slot to a discrete I/O card Can clear
002F Invalid or missing DII interrupt file Disable DII by writing a zero, or change it to a valid ladder file (3–255) Runs once

Source: pp. 16-6–16-9, B-27–B-29. The 0024 limit is above 2550 ms in chapter 16 and above 2559 ms in the appendix B table. The S:3H watchdog counts 10 ms ticks: default 10 (100 ms), up to 250 (2.5 seconds) or down to 2 (p. B-20).

User program instruction errors

Code (hex) Meaning Manual's action Fault routine
0030 Too many nested subroutine levels (4; 8 on a 5/02 or 5/03), or a nested subroutine calls one of a previous level (recursion) Correct the program to meet the JSR restrictions, reload and run Runs once
0031 Unsupported instruction: the processor type or series does not support an instruction in the program, or a constant is the first operand of a compare Replace the processor with one that supports the program, or change the program so every instruction is supported Runs once
0032 A sequencer length/position parameter points past the end of a data file Correct the program or allocate more data file space with the memory map, reload and run Can clear
0033 The length of an LFU, LFL, FFU, FFL, BSL or BSR points past the end of a data file As 0032 Can clear
0034 Negative timer accumulator or preset. Fixed processors with 24 VDC inputs: negative or zero HSC preset (valid 1–32767) If the program moves values into a timer ACC or PRE (or an HSC preset), make sure they cannot be negative and stay in the valid range; correct, reload, run Can clear
0035 TND, SVC or REF called within an interrupt or user fault routine Correct the program, reload and run Runs once
0036 Invalid PID instruction parameter The detailed code (11H, 12H…) is in the high byte of the second word of the PID control block; see Table 9.36 (p. 9-21) Can clear
0038 RET instruction in a non-subroutine file (the main program) Correct the program, reload and run Does not run
xx39 Invalid string length: the first word of the string is negative, zero or above 82 (xx = data file number) Check the first word of the string elements and correct the data Can clear
003A Write through an indirect address to a file with constant data file protection Remove the protection and retry —
003B Motherboard and daughter card firmware do not match, because they were not flashed as a pair Flash both motherboard and daughter card to the latest version —
003C STI watchdog timeout: STI setpoint too low, the processor could not service the STI interrupt in time Increase the STI setpoint (S:30) —
003D J4 jumper in the wrong position (only in the appendix B table, for 5/03 and 5/04) The manual gives no action —
005F Invalid rack ID (appendix B adds "handshake error") Multi-rack system: configure no more than three racks. Single-rack system: replace the rack, it may be bad Does not run

Source: pp. 16-9–16-10, 9-21, B-31, B-33.

I/O errors and the xx slot convention

In the I/O codes, xx is the slot number in hex: slot 10 is 0A, slot 16 is 10, slot 30 is 1E. If the processor cannot determine the slot, chapter 16 says xx becomes 03 on fixed controllers and 1F on modular controllers (p. 16-11). Example: 0A52 is a missing module in slot 10.

On SLC 5/02 and higher, many I/O faults are recoverable: the user fault routine must disable slot xx, or the processor faults at the end of the scan. A severely damaged I/O card can make the processor report an error in slot 1 even when the card sits in another slot (pp. 16-11, B-29).

Code (hex) Meaning Manual's action Fault routine
xx50 Chassis data error. Cause: noise/power Correct the cause, clear the fault and re-enter Run Can clear
xx51 "Stuck" runtime error on an I/O module. Discrete module: a noise problem. Specialty module: see its user manual Cycle system power; if that does not fix it, replace the module Runs once
xx52 A module the program requires is missing or removed Disable the slot in S:11 and S:12, or insert the required module Can clear
xx53 A slot declared unused holds a module, or a module reset itself. SLC 5/03 and higher: run or test mode attempted with an empty chassis Disable the slot (S:11, S:12), remove the module, or change the I/O configuration and reload; if the module reset itself, clear the major fault and run. Empty chassis: disable all its slots Can clear
xx54 The module in the slot is a different type from the configuration Fit the correct module, clear the fault and run; or change the slot configuration, reload and run Can clear
xx55 Discrete module with a different I/O count from the configuration, or an incorrect specialty card driver Fit a module with the configured count, or change the configuration to match; for a specialty card see its user manual Can clear
xx56 The chassis configuration in the program does not match the hardware (appendix B lists it as 0056) Correct the chassis configuration, reload and run Does not run
xx57 A specialty module did not answer a Lock Shared Memory command in time Cycle chassis power; if that does not fix it, see the module's user manual; the module may need replacing Can clear
xx58 A specialty module reports a generic fault: the card fault bit in its status byte is 1 As xx57 Runs once
xx59 A specialty module did not complete a processor command in time See the module's user manual; the module may need replacing Can clear
xx5A Hardware interrupt problem. Discrete module: a noise problem Cycle chassis power, check for noise and proper grounding; for a specialty module see its manual, it may need replacing Runs once
xx5B The program's G file size exceeds the module's capacity Reconfigure the G file as the module manual says, reload and run Can clear
xx5C The M0-M1 file size exceeds the module's capacity Reconfigure the M0-M1 files as the module manual says, reload and run Can clear
xx5D The module requests an interrupt service the processor does not support Check in the module manual which processors support it; change to one of them Can clear
xx5E Processor I/O driver (software) error Reload the program with RSLogix Can clear
xx60–xx6F I/O module specific recoverable major error See the module's user manual Can clear
xx70–xx7F I/O module specific non-recoverable major error See the module's user manual Runs once
xx80–xx8F Specialty module specific major error See the module's user manual Does not run
xx90 A specialty module requested service while its slot was disabled See the module's user manual; the module may need replacing Runs once
xx91 A specialty module in a disabled slot has faulted Cycle chassis power; if that does not fix it, see the manual, the module may need replacing Runs once
xx92 The I/O configuration or interrupt subroutine (ISR) file information for a specialty module is wrong Correct the I/O configuration and ISR file per the module manual, reload and run Runs once
xx93 The processor does not recognize the error code a specialty module sent See the module's user manual Runs once
xx94 A module was inserted under power in run or test mode, or a module reset itself Never insert a module in a powered chassis. If the module is not damaged: remove it, clear the fault and run; or add it to the I/O configuration, reload and run Runs once
00A0, 00A1, 00A2 Communication channel hardware fault on an SLC 5/04 (channel 1, DH+) or SLC 5/05 (channel 1, Ethernet) A write to the status file can clear the fault, but Ethernet, DH+ and RS-232 communication stay disabled until a power cycle. On an SLC 5/05 with 00A1, word S:15 holds a specific Ethernet daughterboard fault code Does not run

Source: pp. 16-11–16-14, B-29–B-34.

LEDs on SLC 5/03 and higher when the operating system fails

An operating system download takes up to 90 seconds. During it, RUN and FLT stay off and the RS232, DH-485 or DH+, Ethernet, FORCE and BATT LEDs light in a set sequence. After a successful download these LEDs are on. If an error occurs while downloading from an operating system memory module, or during the power-up self test, FLT turns on and four LEDs flash on and off every 2 seconds. Every other time they flash on, the combination that lights shows the error (pp. 16-15–16-16):

LEDs on Meaning
FAULT, FORCE, DH-485 or DH+ or Ethernet Fatal hardware error
FAULT, FORCE, RS232, DH-485 or DH+ Hardware watchdog timeout
FAULT, BATT NVRAM error
FAULT, BATT, RS232 Operating system memory module contents corrupt
FAULT, BATT, DH-485 or DH+ Downloaded operating system not compatible with the hardware
FAULT, BATT, RS232, DH-485 or DH+ or Ethernet Download attempted onto write-protected memory
FAULT, BATT, FORCE Flash EEPROM failure
FAULT, BATT, FORCE, RS232 Failure while transmitting the operating system
FAULT, BATT, FORCE, DH-485 or DH+ or Ethernet Operating system missing or corrupt

Bit S:5/13 is set when an operating system load from a memory module fails: the protection jumper is in the protect position or missing, or the module is not compatible with the processor hardware. Bit S:5/11 is set while the Battery Low LED is on (p. B-24).

Checks, step by step

  1. Record before clearing: S:6, S:1, the low byte of S:5, S:20 and S:21, and the LED states. The processor never clears S:6 (p. B-26).
  2. Code 0020: find which S:5 bit is set. S:5/0 is overflow, S:5/2 a control register error from LFU, LFL, FFU, FFL, BSL, BSR, SQO, SQC or SQL, S:5/3 a major error while executing the user fault routine, S:5/4 an M0-M1 reference to a disabled slot (pp. B-22–B-23).
  3. I/O codes: convert xx from hex to the slot number and go to that slot. If the code points to slot 1 and that card looks fine, remember that a severely damaged card in another slot can report as slot 1 (p. 16-11).
  4. Codes with the "noise/power" cause (0001, 0002, 0004, 0008, 0009, 0012, 0014, 0015, xx50): check grounding, surge suppression on outputs with inductive loads and the power source; for 0001 also the battery or capacitor backup (pp. 16-3–16-12).
  5. Memory module codes: for 0003 and 0007, re-program the memory module and replace it if the error stays; for 0013, install the memory module or upload the program from the processor to it (the cause is S:1/10 or S:1/11 set differently in the processor and module programs); for 0017 (S:2/9 set, programs differ), transfer the memory module program to NVRAM, then go to Run (pp. 16-3–16-5).
  6. Code 0021: check the expansion chassis power. An over-voltage or over-current in a power supply turns its LED off and can produce an I/O error code instead of 0021 (p. 16-7).
  7. Code 0022: compare the scan time with the S:3H watchdog and look for a loop in the program (pp. 16-7, B-20).

Clearing faults and returning to Run

Manual clear (p. 16-2): clear S:1/13 and the S:5/0–7 bits with programming software or a Data Table Access Module, put the processor in REM Program, correct the condition, then return to REM Run or a REM Test mode. On SLC 5/03 and higher you can turn the keyswitch from RUN to PROG and back to RUN; this clears S:1/13 and S:6 (p. B-12). Clear S:6 as well so that no error code remains once the fault is gone (p. B-12).

Warning: on SLC 5/03 and higher, clearing these bits with the keyswitch in RUN puts the processor straight into Run. Online with the keyswitch in RUN, the clear major fault key warns you that the processor will enter Run once the fault clears (p. 16-2). Before clearing, make sure the machine is safe to move, because outputs will follow the program again. Follow the plant's permit and lockout rules.

Automatic clear (pp. 16-1, B-7–B-11):

  • S:1/8 (Fault Override at Powerup): at power-up the processor clears S:1/13 and S:5/0–7 and tries to enter REM Run, if it was in REM Run and faulted. The bit is off by default. The user program must not be corrupt.
  • S:1/9 (Startup Protection): after a power loss in REM Run, the processor runs the fault routine before the first scan, with S:6 = 0016. If the fault routine does not clear S:1/13, the processor goes to fault mode.
  • S:1/10, S:1/11, S:1/12: the autoload bits, set in the program stored in the memory module. S:1/10 transfers the module program when a memory error is found at power-up, then enters REM Run. S:1/11 and S:1/12 overwrite the program, data tables included, at every power cycle; S:1/12 also puts the processor in REM Run every time.

Fault routine (pp. 11-2–11-3, 16-2, B-44): create a subroutine file numbered 3–255 and enter that number in S:29; write 0 to disable it. Recoverable fault: the routine can correct the problem and clear S:1/13, and the processor continues in REM Run. Non-recoverable fault: the routine runs once and can send a MSG to another node or do an orderly shutdown. It does not run for non-user faults. Inside the routine, read S:20 and S:21 to find the file and rung that faulted.

Application-defined faults: write your own value to S:6, then set S:1/13. Do not reuse system codes; the manual recommends FF00–FF0F (pp. 16-1, B-12).

When it is hardware

  • 0008 or 0009 recurring after the noise causes are dealt with and the program is reloaded: contact your Rockwell representative (p. 16-4).
  • 0003 or 0007 still there after re-programming the memory module: replace the memory module (p. 16-3).
  • xx51 still there after a power cycle: replace the module in slot xx (p. 16-12).
  • 005F on a single-rack system: replace the rack (p. 16-10).
  • Keyswitch in RUN but the processor powers up outside RUN, status "Remote Download in Progress", S:1/0–4 cleared: the keyswitch may be damaged, contact your Rockwell representative (p. 16-4).

Planning the replacement

According to the end-of-life pages on this site, Rockwell lists these SLC 500 processors as discontinued:

Processor Discontinued Replacement per Rockwell
1747-L532 (SLC 5/03) 31/03/2024 5069-L306ER
1747-L542 (SLC 5/04) 31/03/2024 5069-L306ER
1747-L543 (SLC 5/04) 31/03/2024 5069-L310ER
1747-L551 (SLC 5/05) 31/12/2021 5069-L306ER
1747-L552 (SLC 5/05) 31/03/2024 5069-L306ER
1747-L553 (SLC 5/05) 31/03/2024 5069-L310ER

How the program moves to Logix (the same approach applies to SLC 500) is covered in PLC-5 to ControlLogix migration; see also the PLC-5 and SLC 500 migration service. For an engineer on site: breakdown support.

Frequently asked questions

Where do I find the fault code on an SLC 500?

The major error code is in status file word S:6, in hex. Bit S:1/13 shows that the processor has halted on a major error. The processor never clears S:6 (1747-RM001G-EN-P, pp. B-12, B-26).

What is error 0020 on an SLC 500?

A minor error bit in S:5/0–7 is still set at the end of the scan, for example a math overflow or a sequencer or shift register error. Find which S:5 bit is set, correct the program, reload and enter Run (pp. 16-6, B-21–B-23).

What do codes like 0A52 or 1F53 mean?

The first two characters are the slot number in hex, the last two the error type. 0A52 is a required module missing in slot 10. 1F means a modular processor could not determine the slot (pp. 16-11–16-12).

Does turning the keyswitch from RUN to PROG and back clear the fault?

Yes on SLC 5/03 and higher: it clears S:1/13 and S:6. Correct the condition first, and expect the processor to run again as soon as the keyswitch is back in RUN (pp. 16-2, B-12).

How do I fix watchdog error 0022 on an SLC 500?

The scan time has exceeded the S:3H watchdog, because the watchdog is set too low or the program is caught in a loop. Increase S:3H (default 10 ticks of 10 ms, maximum 250) or correct the program (pp. 16-7, B-20).

Sources

  • Rockwell Automation, 1747-RM001G-EN-P, SLC 500 Instruction Set Reference Manual, 11/2008 — chapter 9 (p. 9-21); chapter 11 (pp. 11-2–11-3); chapter 16 "Troubleshooting Faults" (pp. 16-1–16-16); appendix B "SLC Status File" (pp. B-6–B-12, B-20–B-34, B-41, B-44)

Read 15 November 2026. This article paraphrases the sources and does not quote them; read the original documents before designing or working on a system. Links open the latest edition in Rockwell's literature library; page numbers refer to the edition cited.

Related services:
Breakdown support & resident engineers Rockwell Automation upgrades