Why Your PLC is in RUN Mode but Nothing is Working: The Empty Program Trap
Have you ever looked at your PLC and seen that beautiful green "Run" light, only to realize that absolutely nothing is happening? No outputs are firing, the relays are silent, and your logic seems completely frozen.
I recently ran into an "unplanned learning opportunity" with a Micro 850 using Connected Components Workbench (CCW) that perfectly illustrates this ghost in the machine.
The Symptom: Running but Stalled
In this specific case, the controller status in CCW clearly indicated Run Mode. However, looking at the "Brake Program," it was obvious the logic wasn't executing. I noticed an extra program block—let's call it Prog2—that I had created during a previous cleanup session.
This block was essentially empty, containing only two blank rungs. On paper, a blank rung shouldn't stop a processor, but in the world of industrial automation, "shouldn't" and "doesn't" are two very different things.
The Troubleshooting Process
When a PLC says it is running but the physical outputs (and the code monitoring) say otherwise, it usually points to a scan cycle issue. The processor is likely getting hung up on a specific Program Organizational Unit (POU) before it can reach the rest of your code.
To fix this, I followed a standard "clean sweep" procedure:
Disconnect: Go offline to make structural changes.
Delete the Ghost: I right-clicked and deleted the empty Prog2 block entirely.
Clean Download: I performed a fresh download using the Download with Project Values option.
As soon as the PLC went back into Run Mode, I heard that satisfying click of the internal relays. The logic was finally executing again.
Why Did This Happen?
In the Micro 800 series and CCW environment, the order of your programs in the project tree matters. The PLC scans them from top to bottom. If a program block is corrupted, improperly compiled, or contains certain types of empty rungs, it can cause the scan to hang or behave unpredictably.
Because the processor itself hasn't technically "faulted" (meaning no illegal operations or hardware failures occurred), it stays in Run Mode, even though it’s failing to complete the full scan of your logic.
Key Lessons for Technicians
Keep it Clean: If you aren't using a program block, delete it. Don't leave "empty" placeholders in your project tree.
Trust Your Ears: If you don't hear your relays or see your status LEDs changing, don't trust the "Run" light in the software.
Full Downloads: If the PLC is acting "glitchy," a full download with project values is often more effective than a simple logic change.
Helping you become a better technician so you will always be in demand.
Would you like me to draft a LinkedIn post based on this blog to help share these findings with your network?