← Resources
Practice·8 min read·

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.

Sinking and sourcingSINKING (NPN)INPUT CARD+current flows inSOURCING (PNP)INPUT CARD0Vcurrent flows out

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