In short
Is your Allen-Bradley 1769 CompactLogix showing a flashing red OK LED? Read this complete guide to diagnose recoverable major faults, clear errors, and restore normal operations.
Overview
A flashing red OK (or Status) LED on an Allen-Bradley 1769 CompactLogix controller indicates a recoverable major fault. Unlike a solid red light—which typically signals non-recoverable internal hardware failure or fatal processor lockup—the flashing red state means the controller processor is still functioning and communicating, but it has suspended execution of the user program to protect your machinery and the automation system from uncontrolled behavior.
To restore operation when the OK LED is flashing red, you must connect to the controller using RSLogix 5000 or Studio 5000, retrieve the active fault code, and resolve the root hardware or logical issue. Once the root cause is resolved, the fault can be cleared, and the controller can be cycled back into Run mode.
Symptoms
When a 1769 CompactLogix controller experiences a recoverable major fault, you will typically observe the following symptoms on the control panel and in your development software:
- The OK LED flashes red: This is the primary indicator on the front panel of the processor (such as an L32E, L35E, L30ER, or L33ER).
- I/O modules enter their safe state: Depending on your configuration, input/output modules will de-energize or hold their last state, and their individual status LEDs may flash green or diagnostic red.
- Loss of machine control: The PLC immediately halts program execution. Actuators, motors, and digital outputs will shut down immediately.
- Software indicates 'Faulted': When you open RSLogix 5000 or Studio 5000 and view the controller status online, the status box in the upper-left corner of the workspace flashes red and displays "Faulted".
- HMI communication dropouts: While the PLC may still communicate via EtherNet/IP or serial protocols to report its status, HMI displays will show communication error overlays or offline warning tags because the application code is not processing updates.
Possible Causes
A flashing red OK light can be caused by either physical hardware issues in the 1769 backplane system or runtime application programming issues. The most common causes include:
- Array Out of Range Errors: A pointer, alias, or indirect address in the controller's logic attempted to access an element beyond the defined limits of an array (e.g., trying to write to
MyArray[10]when the array is only dimensioned from 0 to 9). - Math Overflow/Division by Zero: Execution of an instruction (e.g., DIV) with zero as the divisor, or a value calculating beyond the bounds of its designated data type (like writing a value greater than 32,767 to a 16-bit INT) without an overflow trap enabled.
- Broken 1769 Bus Connections: Vibration or loose components causing physical communication drops along the 1769 DIN rail. If a module slide lock is loose or a module becomes disconnected, a major fault is triggered.
- Missing or Damaged End Cap: A 1769 backplane cannot operate without a terminator. If the right-hand end cap (e.g., 1769-ECR or 1769-ECL) is loose, missing, or damaged, communication fails.
- Task Watchdog Timeout: A task (such as a Periodic Task) took longer to execute than its configured watchdog timer allows, usually caused by an infinite loop or nested JSR (Jump to Subroutine) instructions.
- Memory Corruption on Power Cycle: A dead controller battery (on older L32E/L35E units) or a failed internal energy storage module (ESM capacitor on newer L30ER/L33ER units) combined with a power cycle, resulting in the PLC losing its user program RAM.
- I/O Module Connection Failures: Unconfigured or sudden removal of an expansion I/O module while the controller is in Run mode, assuming "Major Fault On Controller If Connection Fails" is checked in the module configuration.
Step-by-Step Troubleshooting
Follow these sequential steps to safely diagnose and clear the flashing red OK light on your 1769 CompactLogix PLC.
Step 1: Check the 1769 Bus Slide Locks and End Cap
Before opening your laptop, perform a quick physical inspection of your PLC system rack.
- Verify that all 1769 modules are firmly pressed together on the DIN rail.
- Ensure the orange slide locks on the top and bottom of each module are pushed completely to the left (engaged/locked position).
- Check that the right-side bus terminator end cap (1769-ECR or 1769-ECL) is securely installed and locked. A loose end cap is one of the most common physical causes of a flashing red OK LED.
Step 2: Establish Online Connection with RSLogix 5000 / Studio 5000
To find out exactly what occurred, you must read the fault queue online.
- Connect your PC to the PLC via its USB, serial (DF1), or EtherNet/IP port.
- Open RSLinx Classic and locate the processor via the active driver (typically EtherNet/IP or DF1).
- Open your matching offline program file in Studio 5000 or RSLogix 5000.
- Go to the Communications menu, select Who Active, select your PLC, and click Go Online.
Step 3: Identify the Active Major Fault Code
Once online, the software will show a red spinning "Faulted" icon in the top left corner.
- Click on the Faulted status box or navigate to Controller Properties by right-clicking the controller name in the Organizer tree.
- Select the Major Faults tab.
- Note down the Type and Code listed under the active fault. For example:
- Type 03, Code 16: Connection to an I/O module was lost.
- Type 04, Code 20: Index out of range (array boundaries exceeded).
- Type 04, Code 34: Watchdog timeout.
- Type 01, Code 60: Power-up noise or corrupt memory.
Step 4: Address the Specific Fault Code
- If Code is Type 03 (I/O Fault): Identify which module connection failed. Inspect the module's connection tab, check for external 24VDC field power issues to the module, or replace the module if it has hardware damage.
- If Code is Type 04 (Program Fault): Inspect your code. Go to the routine and rung indicated by the fault trace. Add range-checking logic to make sure dynamic pointers cannot exceed array bounds, or build an overflow trap to handle mathematical exceptions.
- If the Controller is Empty (No Program): If the memory was completely wiped (often accompanied by Type 01, Code 60), you will need to re-download the user program. Check your battery status or replace the controller's energy storage module to prevent this from recurring on the next power loss.
Step 5: Clear the Fault and Test
- In the Major Faults window, click the Clear Faults button.
- The OK LED on the physically mounted controller may briefly turn green or steady amber.
- Use the keyswitch on the front of the controller (or the software menu) to switch the PLC from Faulted to Program mode, then into Run mode.
- Monitor the status. If the code loops back into the fault condition instantly, you have not resolved the logical or physical source of the trigger.
Recommended Actions
To prevent the flashing red OK light from reoccurring and causing unscheduled downtime in your facility, implement these proactive measures:
- Use Fault Routines: Program a Controller Fault Handler or Program Fault Handler routine. This logic can isolate specific errors (like math overflows) and clear them automatically before they trigger a major CPU shutdown.
- Uncheck "Major Fault On Connection Loss": For non-critical I/O expansion modules, double-click the module in the I/O configuration tree, go to the Connection tab, and uncheck "Major Fault On Controller If Connection Fails in Run Mode" if the machine can operate safely without it.
- Implement Array Boundary Checks: If your code uses indirect addressing (such as
MyArray[Pointer]), always use a comparison instruction (LES,GRT, orLIMIT) to ensurePointerremains valid before executing the instruction. - Perform Preventive Maintenance on Power Supplies: Voltage dips can cause backplane drops. Ensure the 1769 system power supply (1769-PA2, 1769-PB2, 1769-PA4, or 1769-PB4) has enough reserve capacity to handle your entire connected I/O rack.
Recommended Replacement Parts
If the flashing red light is triggered by persistent module failures, or if the controller's memory is wiped upon every power cycle, you may need to replace aged or damaged hardware components:
| Part Number | Description | Use Case |
|---|---|---|
| 1769-ECR | Right-hand Bus Extension End Cap | Resolves backplane connection termination faults (Type 03) |
| 1769-BA | Lithium Battery Assembly | Restores RAM retention on L31, L32E, and L35E models |
| 1769-PA2 / PB2 | 120/240VAC or 24VDC Power Supply | Resolves power drops causing intermittent backplane faults |
| 1769-L30ER / L33ER | Modern CompactLogix 5370 Controllers | Replacement if the physical controller backplane chip is damaged |
Related Articles
- How to Replace a Faulty 1769-ECR End Cap on CompactLogix
- Sizing and Diagnostic Troubleshooting for 1769 Power Supplies
- A Complete Guide to Replacing Batteries on legacy CompactLogix Systems
FAQ
Q: Can I clear a flashing red OK light without open PC software?
Yes, if your PLC has a physical mode keyswitch on the front panel. Rotate the key switch fully clockwise to PROG mode, wait 3 seconds, and then turn it back to RUN (or REM). If the fault was a transitorily cleared issue (and the logic isn't continuously forcing the error), this action will clear the fault and resume processing.
Q: Does a flashing red OK LED mean my PLC is permanently broken?
No. A flashing red OK LED indicates a recoverable error. It means the CPU is doing its job by halting and waiting for resolution. If the OK LED is solid red, however, this typically indicates a fatal hardware failure, and the controller must be replaced.
Q: Why does my CompactLogix fault out with a flashing red light every time the plant powers down?
This is typically caused by a depleted or disconnected RAM backup source. On older units (e.g., L32E, L35E), the lithium battery (1769-BA) has died, which wipes the logic upon utility power interruption. On newer units (e.g., L33ER), the internal Energy Storage Module (ESM) capacitor may have failed and can no longer write the RAM contents to the internal non-volatile flash memory on power shutdown.
Q: What is the most common logical fault code causing this status?
Type 04, Code 20 (Array Subscript Range Violation) is the most common programming error. It occurs when loops or dynamic sequences (like packaging indexing) calculate an index tag value that doesn't fit within the allocated size of the array.
Shop the parts in this guide
Browse in-stock inventory for the products covered by this article.
