A method for troubleshooting a PLC that will not run
An order of checks that finds the fault faster than staring at the ladder.
Short answer
Work from the outside in: confirm power and the processor mode, then check the physical input at the terminal, then the input in the program, then the logic, then the output in the program, then the output at the terminal. Most faults are found in the first three steps, and starting at the ladder wastes the most time because the ladder is usually right.
The instinct is to open the program. The program is usually right, and it is the slowest place to look.
Work from the outside in
1. Power and mode. Is the processor in RUN? Is there a fault light? A surprising number of calls end here.
2. The field device. Does the input LED change when you actuate it? If not, the fault is wiring, power or the device.
3. The program's view of the input. Does the bit change in a watch table? If the LED changes and the bit does not, suspect addressing or a failed card.
4. The logic. Now, and only now, read the rungs.
5. The program's output. Does the coil energise?
6. The field output. Does the terminal follow the coil? If not, the fault is the card, the wiring or the load.
Each step is a bisection. Every check either eliminates the field or eliminates the program, which is why the order matters more than the individual tests.
The traps
- Forcing left on. Somebody forced a bit last month and did not remove it. Check the force table before anything else on a machine that has been worked on.
- The wrong rung is running. A JSR that is not being called looks exactly like logic that does not work.
- A one-scan event you cannot see. If the bit changes for one scan, a watch table will not show it. Latch it into a spare bit to catch it.
Write down what you find
Not for process reasons. Because the same fault recurs in eighteen months and the person looking at it will be you, with no memory of this afternoon.
Common questions
- Where should I start troubleshooting a PLC fault?
- At the field device, not the program. Confirm the input LED changes when the device actuates. If the LED does not change, the problem is wiring, power or the device, and no amount of reading the ladder will find it. If the LED changes but the program bit does not, the problem is the card or the addressing.
- Why does the input LED light but the program not see it?
- Usually an addressing mismatch: the program is reading a different point than the one wired. Occasionally a failed input card that lights its LED from the field side while failing to update the backplane. Check the address against the wiring drawing before suspecting the logic.
Keep reading
- Safety
SIL or PL: which one does your machine need?
Two standards, two scales, and one machine. Which one applies, how they map to each other, and why the answer is usually ISO 13849.
- Safety
Categories B, 1, 2, 3 and 4, in plain terms
Five architectures, what a single fault does to each, and the practical wiring that goes with them.
- Safety
Safety relay or safety PLC: how to decide
One is a wiring decision, the other is a programming one. The count of safety functions, not the size of the machine, is what settles it.