ControlLogix Major Fault — Find, Clear & Recover

Allen-Bradley · intermediate · 30 min

A ControlLogix/CompactLogix controller in the faulted state has logged a Major Fault Type and Code. Read them in Studio 5000, fix the cause, then clear via the keyswitch or the Clear Faults button.

⚠️ Clearing a major fault puts the controller back into RUN and can start machine motion. Confirm the equipment is safe to run before you clear and go to RUN.

What a Major Fault is

On a Logix5000 controller (ControlLogix / CompactLogix / GuardLogix), a major fault halts program execution and turns the OK/FAULT status solid red. Every major fault carries a Fault Type and Fault Code that pinpoint the cause. The single fastest diagnostic step is to read those two numbers — not to power-cycle blindly.

Read the fault

  1. Go online with Studio 5000 Logix Designer.
  2. Open Controller Properties → Major Faults tab (or right-click the controller in the Controller Organizer → Properties → Major Faults). It shows the Type, Code, and a description of the most recent fault.
  3. Interpret the pair. Common examples:
  • Type 1 (Power-up) — the controller powered up from a condition that requires user handling (e.g. no valid program retained, or a nonrecoverable power loss).
  • Type 4 (Program) — an instruction-execution fault such as an array subscript out of range (Type 4, Code 20) or an unknown/invalid instruction (Type 4, Code 16).
  • Type 3 (I/O) — a required I/O connection was lost.

Use the exact Type/Code with the Rockwell "Major, Minor, and I/O Faults" reference (1756-PM014) to get the precise meaning for your firmware.

Fix the cause first

A major fault clears cleanly only if the underlying condition is gone:

  • Program faults (Type 4): correct the logic — bound your array indexes, fix the offending instruction, or add a fault routine that handles the condition gracefully.
  • I/O faults (Type 3): restore the lost connection — check module health, network, and the module's configured connection.
  • Power-up faults (Type 1): verify the program/energy-storage state and battery/ES module as applicable.

Clear and return to RUN

Once the cause is resolved, clear the fault by either method:

  • Keyswitch method: turn the controller keyswitch from RUN → PROG → RUN. This clears the fault and resumes execution if the condition is gone.
  • Studio 5000 method: while online, click Clear Faults in Controller Properties → Major Faults, then switch the controller to RUN.

Prevent the repeat

For recoverable program faults, add a controller fault handler (a Program Fault Routine) so the controller can log and recover from the specific Type/Code instead of halting the whole machine. This is standard practice for faults like array-index errors that may occur on rare data.

Key points

  • Every major fault has a Type and Code — read them in Controller Properties → Major Faults in Studio 5000.
  • Type 1 = power-up, Type 3 = I/O connection lost, Type 4 = program (e.g. Code 20 array out of range, Code 16 unknown instruction).
  • Fix the underlying cause before clearing — the fault returns if the condition is still present.
  • Clear with the keyswitch RUN→PROG→RUN, or the Clear Faults button then switch to RUN.
  • Add a controller fault handler to gracefully recover from recoverable program faults.

Codes and symptoms

Type 1 — Power-up fault
The controller powered up from a condition requiring user handling, such as no retained valid program or a nonrecoverable power loss.
Type 3 — I/O fault
A required I/O connection was lost — check module, network, and connection configuration.
Type 4 Code 20 — Array subscript out of range
An instruction indexed past the end of an array; bound the index or handle it in a fault routine.
Type 4 Code 16 — Unknown instruction
The controller encountered an instruction it cannot execute for the current firmware/configuration.