A ControlLogix controller with a flashing red OK light can make a simple machine fault look rather serious.

Studio 5000 may show something like:

Major Fault T04:C20

The first number is the fault type. The second is the fault code.

That distinction matters. Type 4 does not describe one specific problem—it identifies a family of program-related faults. The code tells you what actually happened.

A major fault stops logic execution and places the controller into a faulted state. The controller’s OK indicator normally flashes red until the fault is handled or cleared.

Safety warning: Correct the cause before clearing the fault. Depending on the keyswitch position and machine logic, clearing a major fault may immediately restart controller execution and energize outputs.

Read the Complete TXX:CXX Number

Never diagnose a ControlLogix fault using the type alone.

For example:

T04:C20

means:

  • T04 — Program fault
  • C20 — Array subscript too large, or an invalid .POS or .LEN value

Meanwhile:

T04:C34

is still a Type 4 program fault, but this time the problem is a timer with a negative preset or accumulated value.

Same type. Completely different repair.

Rockwell’s fault-code reference includes both major and minor faults under some of the same type numbers, so always check the complete displayed description as well as the type and code.

Type 1: Power-Up Faults

Type 1 faults are associated with controller power-up conditions.

T01:C01 — Power Restored in Run Mode

This fault can occur when the controller loses power while operating in Run mode and then powers up again.

Whether this should automatically stop the machine depends on how the application was designed. Some machines should resume automatically after a short power interruption. Others absolutely should not.

A Power-Up Handler can be created to decide what the controller should do after power is restored. Rockwell documents Type 1, Code 1 as the fault used when the controller powers up in Run or Remote Run mode and the power-up handler does not clear it.

Before clearing T01:C01, check:

  • Why power was lost
  • Whether drives, robots and actuators are ready
  • Whether retained sequence values are still valid
  • Whether restarting the machine is safe
  • Whether the Power-Up Handler contains the intended recovery logic

Simply clearing the fault without checking the machine state can cause an unexpected restart.

T01:C60, C61 and C62 — Non-Recoverable Faults

These are considerably more serious.

Rockwell describes these codes as non-recoverable power-up faults. The recommended action includes saving diagnostic information to a memory card, clearing the fault, downloading the application again and contacting Rockwell Automation support with the controller’s diagnostic code.

Do not repeatedly power-cycle a controller showing one of these codes and hope it eventually behaves itself.

Record:

Controller catalog number
Firmware revision
Full T01:Cxx code
Scrolling diagnostic code
What happened before the fault
Whether the problem repeats after a download

The fault may indicate damaged controller memory, a firmware problem or an internal controller failure.

Type 4: Program Faults

Type 4 faults are caused by instructions or values inside the user program.

These are among the most common ControlLogix major faults because one incorrect array index, timer value or subroutine parameter can stop the controller.

T04:C20 — Array Index, POS or LEN Out of Range

This commonly occurs when indirect addressing points beyond the available elements of an array.

For example, suppose you have:

Motor_Status[0] to Motor_Status[9]

The valid indexes are 0 through 9.

If the program attempts to read:

Motor_Status[10]

the index is outside the defined array and can produce a major fault.

Code 20 can also be caused by an invalid .POS or .LEN value in a CONTROL structure. Rockwell’s corrective action is to keep the index and control values within their valid limits.

Do not just reset the index manually and walk away. Find the instruction that allowed it to exceed the limit.

Safer program logic may check the index first:

Index >= 0
Index < Array_Size

Only execute the indexed instruction when both conditions are true.

T04:C83 — Value Out of Range

Code 83 is another out-of-range fault, commonly associated with Boolean arrays and bit-level addressing.

The solution is similar: find where the index is generated, determine why it exceeded the available range and limit it before the indexed instruction executes.

T04:C34 — Negative Timer PRE or ACC

Logix timer preset and accumulated values must not be negative.

This fault often appears when another instruction writes into:

Timer_1.PRE

or:

Timer_1.ACC

The value may come from an HMI, recipe, calculation or copied data structure.

Fix the source of the negative value rather than merely entering a positive number into the timer tag. Rockwell identifies T04:C34 as a major fault caused by a negative timer preset or accumulated value.

Other Common Type 4 Codes

FaultMeaningTypical correction
T04:C16Unknown instructionRemove or replace the unsupported instruction
T04:C31JSR, SBR or RET parameter mismatchCorrect the number and arrangement of parameters
T04:C42JMP points to a missing labelCorrect the target or restore the label
T04:C84Stack overflowReduce routine nesting or passed parameters
T04:C94Nesting limit exceededRestructure the program
T04:C990–999User-defined major faultCheck the application-specific fault logic

These meanings and corrective actions are listed in Rockwell’s Logix 5000 controller fault-code reference.

Type 6: Task Watchdog Fault

The most important Type 6 major fault is:

T06:C01 — Task watchdog expired

Every task has a watchdog time. The task must finish executing before that timer expires.

A watchdog fault may be caused by:

  • An infinite program loop
  • Excessive routine execution time
  • Too much logic inside one task
  • A higher-priority task repeatedly interrupting it
  • Poor task-priority configuration
  • An abnormal increase in communication or motion processing

Rockwell’s recommended corrective actions include increasing the watchdog time, reducing task execution time, raising the affected task’s priority, simplifying higher-priority tasks or moving some code elsewhere.

Do not immediately increase the watchdog from 500 ms to several seconds just to make the fault disappear.

That may hide the symptom while leaving the real scan-time problem untouched.

Check the task’s:

Maximum scan time
Last scan time
Watchdog value
Priority
Execution period
Overlap count

Also inspect loops, large FOR instructions, repeated COP/CPS operations, Add-On Instructions and routines that recently changed.

Type 6 Codes 2 and 3

Not every Type 6 fault is a major fault.

Rockwell lists:

  • T06:C02 — Periodic task overlap
  • T06:C03 — Event task overlap

as minor faults. They indicate that a task was triggered again before its previous execution finished.

They may not stop the controller immediately, but they should not be ignored. Repeated overlaps can indicate that the task period is too short or that execution time is becoming excessive.

How to Clear a ControlLogix Major Fault in Studio 5000

First, place the machine in a safe condition.

Then go online with the controller and complete these steps:

  1. Open Controller Properties from the Online toolbar.
  2. Select the Major Faults tab.
  3. Record the complete fault type, code and description.
  4. Correct the actual cause.
  5. Select Clear Majors.
  6. Confirm the warning.

Rockwell notes that if the controller keyswitch is in Run mode, the controller can begin running immediately when the major fault is cleared. The software operation also clears the major fault log shown in the Major Faults tab.

That is worth repeating:

Clicking Clear Majors may restart logic immediately.

Make sure nobody is inside the machine, drives are safe and unexpected motion cannot occur.

Clearing a Fault With the Keyswitch

Rockwell also documents clearing major faults using the controller keyswitch:

  1. Move the keyswitch from RUN or REM to PROG.
  2. Move it from PROG to REM.
  3. Move it to RUN when you are ready to restart the program.

Moving it back to PROG instead of RUN leaves the controller out of Run mode.

The keyswitch method clears the active major fault, but it does not clear the major fault log displayed in Studio 5000.

Again, switching to RUN can start the machine. Treat it exactly like a restart command.

What If the Fault Returns Immediately?

An immediate repeat fault usually means the root cause is still present.

For a Type 4 fault, this often happens during prescan or on the first execution of the faulting routine. Check the instruction values before attempting another restart.

For a Type 6 watchdog fault, the task may exceed its watchdog as soon as it begins executing. Temporarily placing the controller in Program mode gives you time to inspect task properties and program logic without repeatedly faulting.

For a Type 1 non-recoverable fault, clearing may not be enough. A project download, firmware investigation or controller replacement may be required.

Do not get trapped in this cycle:

Clear fault
Run controller
Controller faults
Clear fault again
Run controller again

After the second occurrence, stop resetting and start diagnosing.

Clearing Faults Automatically With a Fault Routine

Logix controllers can use fault-handling routines to inspect and selectively clear certain major faults.

Rockwell recommends different handlers for different fault conditions:

  • Type 1: Power-Up Handler
  • Type 4: Program Fault Routine
  • Type 6: Controller Fault Handler

The fault information can be read from the MajorFaultRecord attribute using a GSV instruction. A routine can check the exact fault type and code, correct or safely handle the condition, set the Type and Code members to zero and write the record back using an SSV instruction.

This should be done selectively.

Do not create a routine that blindly clears every major fault. Rockwell specifically warns against continually clearing all controller faults.

A fault routine that hides serious programming, I/O or watchdog problems can make a machine unpredictable—and much harder to troubleshoot later.

Final Checklist

Before returning the controller to Run mode, confirm:

[ ] Full TXX:CXX code recorded
[ ] Root cause identified
[ ] Faulting instruction or condition corrected
[ ] Machine area is clear
[ ] Drives and actuators are in a safe state
[ ] Controller task and program values checked
[ ] Correct project is online
[ ] Restart has been communicated to affected personnel

A ControlLogix major fault is not just an error message to erase.

The fault tells you which part of the controller’s operation failed. Read the complete Type and Code, correct the condition, and only then clear it.

Leave a Reply

Your email address will not be published. Required fields are marked *