PLC Troubleshooting Guide – Step-by-Step Fault Finding (2026)

Last Updated: April 2026 | Written by automation engineers with real factory floor troubleshooting experience.

When a PLC stops on the factory floor, every minute of downtime costs money. Effective PLC troubleshooting requires a structured step-by-step approach — not random guessing. This complete PLC troubleshooting guide gives you that structure, covering every fault category from power supply failures to program logic errors, with specific steps for both Siemens S7-1200 and Allen-Bradley systems.

In this guide you will find:

  • A proven 5-step PLC troubleshooting methodology used by experienced engineers
  • Complete LED status indicator guide for Siemens and Allen-Bradley PLCs
  • How to use the Siemens Diagnostic Buffer and Rockwell Fault Log
  • Power supply, IO, communication and program fault troubleshooting — each with specific steps
  • The most common PLC faults and their exact causes and fixes
  • How to use online monitoring and force IO for live diagnosis

PLC Troubleshooting – The 5-Step Methodology

Experienced engineers follow a structured sequence when troubleshooting any PLC system. Jumping straight to the program or randomly swapping modules wastes time. Always work through these 5 steps in order:

StepActionWhat You Are Looking ForTools Needed
1Check power supplyCorrect voltage at PLC terminals, PSU status LEDMultimeter
2Read LED status indicatorsRUN/ERROR/MAINT LED pattern on CPU and modulesEyes — no tools needed
3Check IO modules and field wiringCorrect signals at input terminals, output activationMultimeter, laptop
4Open Diagnostic Buffer / Fault LogFault codes, timestamps, error descriptionsTIA Portal or Studio 5000
5Review program logic onlineRung states, data values, forced IO, incorrect logicLaptop with PLC software

💡 Golden Rule: Never make random changes to the PLC program while troubleshooting a live system. Document every change you make, test one change at a time, and always have a backup of the original program before editing anything.


PLC Troubleshooting – Step 1: Check the Power Supply

The majority of PLC failures that appear complex are actually simple power supply problems. Always check power first before doing anything else.

What to Check

CheckExpected ValueIf Wrong
24VDC supply at PLC L+ and M terminals24V ±10% (21.6-26.4V)Check PSU output, incoming AC supply, fuses
PSU OK LEDSolid greenReplace PSU if all inputs correct
Voltage under loadMust stay above 21.6VPSU undersized — add capacity or replace
AC input to PSU100-240VAC (check nameplate)Check incoming supply, circuit breaker, fuses
PLC CPU power connectorSeated firmly, no corrosionReseat or clean connector
24VDC field supply (for sensors)Separate 24VDC supplyCheck if field PSU is separate from PLC PSU

💡 Important: Always use a separate 24VDC power supply for field devices (sensors, solenoids) and a separate supply for the PLC CPU. Sharing one PSU for both is a common wiring mistake that causes erratic faults when field devices draw heavy current.


PLC Troubleshooting – Step 2: Read LED Status Indicators

PLC LED indicators are your fastest diagnosis tool — they give you the fault category instantly, before you even open the programming software. Learn to read them correctly.

PLC troubleshooting LED status indicators Siemens S7-1200 Allen-Bradley fault diagnosis guide

Siemens S7-1200 LED Status Guide

LEDStateMeaningNext Action
RUNSolid GREEN✅ Normal — PLC in RUN modeCheck program logic — fault may be in logic
RUNSolid ORANGE⚠️ STOP mode — intentional or faultCheck why CPU is in STOP — check diagnostic buffer
RUNFlashing GREENℹ️ Startup or firmware update in progressWait for startup to complete
ERROROFF✅ No errorContinue checking other areas
ERRORSolid RED🔴 Hardware fault — seriousCheck diagnostic buffer immediately
ERRORFlashing RED⚠️ Recoverable fault — program or configOpen TIA Portal → Online & Diagnostics
MAINTSolid YELLOW⚠️ Maintenance neededCheck diagnostic buffer for maintenance entry
LINKSolid GREEN✅ PROFINET connectedCommunication OK
LINKOFF❌ No PROFINET connectionCheck Ethernet cable, IP settings, switch

Allen-Bradley CompactLogix / ControlLogix LED Guide

LEDStateMeaningNext Action
RUNSolid GREEN✅ Controller running normallyCheck program logic
RUNFlashing GREENProgram running, IO not fully configuredCheck IO tree in Studio 5000
RUNSolid RED🔴 Major fault — controller faultedOpen Studio 5000 → Controller Properties → Faults
RUNFlashing RED⚠️ Minor recoverable faultCheck fault log — may self-clear
OKSolid GREEN✅ Self-test passedNormal operation
OKSolid RED🔴 Hardware fault detectedReplace module if fault persists after power cycle
FORCESolid AMBER⚠️ Forced IO values are activeRemove forces after troubleshooting
BATSolid RED🔋 Battery low or missingReplace CPU battery — program may be lost on power cycle

PLC Troubleshooting – Step 3: IO Faults

IO faults are the most common category of PLC problems. A sensor fails, a cable breaks, a module fails — the PLC either sees a wrong input state or cannot activate an output.

Digital Input (DI) Troubleshooting

SymptomPossible CauseHow to TestFix
Input always ON regardless of sensorWiring short to 24V, failed sensorDisconnect sensor — if bit clears, sensor failedReplace sensor or fix wiring
Input never turns ONOpen circuit, wrong wiring, failed moduleMeasure voltage at DI terminal with multimeterFix wiring or replace sensor/module
Input flickers erraticallyLoose connection, electrical noise, wrong sensor typeCheck all terminal screws, add shieldingTighten connections, check NPN/PNP wiring
Wrong input activatingCross-wiring, wrong terminal numberingTrace cable from sensor to terminalCorrect wiring to right terminal

Digital Output (DO) Troubleshooting

SymptomPossible CauseHow to TestFix
Output ON in program but device not activatingBlown output fuse, failed module channelForce output ON — measure voltage at terminalReplace fuse or module
Output always ON regardless of programFailed transistor output (shorted), relay stuckForce output OFF — if device stays ON, module failedReplace IO module
Output activates intermittentlyLoose wiring, overloaded output currentCheck current draw vs module ratingAdd intermediate relay for heavy loads
Device chatters (rapid ON/OFF)Logic error, noisy input causing rapid output changeGo online and monitor rung conditionsAdd timer or latch in logic to stabilize

Analog Input (AI) Troubleshooting

SymptomPossible CauseHow to TestFix
Analog value reads 0 or minimum constantlyWire break (4-20mA drops to 0mA), failed transmitterMeasure mA at AI terminals with clamp meterFix wiring, replace transmitter
Analog value reads maximum constantlyShort circuit on 0-10V, transmitter saturatedDisconnect transmitter — if value drops, transmitter failedReplace transmitter
Analog value noisy/erraticNo shielded cable, cable routed near power cablesReplace with shielded twisted pair cableRe-route cable, connect shield at panel end only
Wrong engineering units displayedIncorrect scaling in program, wrong module configVerify NORM_X/SCALE_X parameters (Siemens) or module scaling (AB)Correct scaling parameters

PLC Troubleshooting – Step 4: Using the Diagnostic Buffer

Siemens S7-1200 – TIA Portal Diagnostic Buffer

The Diagnostic Buffer is the most powerful built-in troubleshooting tool on the S7-1200. It stores a chronological log of all events, warnings, and faults with timestamps.

How to access:

  1. Open TIA Portal → Go Online (connect to PLC)
  2. In Project tree → right-click your CPU → “Online & Diagnostics”
  3. Click “Diagnostics” → “Diagnostic buffer”
  4. Read entries from newest (top) to oldest — the entry just before the STOP event is usually the cause
  5. Double-click any entry for full description and help text
Common Diagnostic Buffer EntryMeaningFix
Configuration error in rack/slot XHardware module missing or wrong typeCheck physical module matches TIA Portal hardware config
I/O access error at address XPLC trying to access IO that doesn’t existCheck IO addresses in program match physical hardware config
Cycle time exceededProgram scan taking longer than watchdog timeOptimize program loops, increase watchdog timeout in CPU properties
STOP caused by programming errorDivide by zero, array out of bounds, invalid pointerReview OB error block — check math operations for divide by zero
Power supply fault24V supply voltage too low or too highMeasure supply voltage — check PSU and wiring
PROFINET device not reachableIO device lost communicationCheck Ethernet cable, device power, IP address settings

Allen-Bradley – Studio 5000 Fault Log

How to access:

  1. Open Studio 5000 → Go Online
  2. Click Controller Properties (right-click controller in project tree)
  3. Click “Fault Log” tab — lists all major and minor faults with timestamps
  4. Note the fault code — use Rockwell’s Publication Library to look up the exact fault description
Fault TypeCode RangeTypical CauseFix
I/O FaultType 3, Code 16IO module not respondingCheck module power and connections
Program FaultType 4, Code 20Instruction execution errorCheck program for math errors, array overruns
Motion FaultType 10Servo drive fault or configuration errorCheck drive fault code, verify axis configuration
Watchdog FaultType 6, Code 1Scan time exceededCheck for infinite loops, optimize program

PLC Troubleshooting – Step 5: Program Logic Faults

Once hardware and IO are confirmed working, faults in the program logic are the next area to investigate. Go online in your programming software to monitor the program running in real time.

Online Monitoring Techniques

TechniqueHow to UseWhat It Reveals
Online Monitor (live rungs)Go online in TIA Portal or Studio 5000 — rungs highlight green/grey showing live statesExactly which contacts are open/closed, which coils are energized
Watch Table (TIA Portal)Add tags to watch table — values update in real timeLive values of timers, counters, data block values, analog readings
Tag Monitor (Studio 5000)Right-click tag → Monitor — shows live valueCurrent value of any tag in real time
Force IOForce input or output ON/OFF to test logic without field deviceConfirms whether logic responds correctly to forced condition
Cross ReferenceTIA Portal: right-click tag → Cross reference. Shows every place a tag is usedIdentifies all rungs that could be affecting a problem bit

⚠️ Warning: Always remove all forced IO after troubleshooting. Leaving forces active on a live production system is extremely dangerous — a forced output can activate a motor or valve unexpectedly. TIA Portal shows a FORCE icon in the toolbar when any forces are active.

Common Program Logic Faults

SymptomCommon CauseHow to Find ItFix
Output never activates despite correct inputsNC contact wired wrong, seal-in circuit missingGo online — trace rung from left to right identifying which contact is openCorrect contact type or add seal-in
Output activates then immediately turns offInterlock condition blocking output, timer too shortGo online — look for what turns the coil OFFFix interlock logic or adjust timer preset
Wrong output activatesWrong tag assigned to output coilCheck coil address matches physical IO addressCorrect tag assignment
Timer not reaching presetSeal-in contact missing — timer resets before completingMonitor timer ET (elapsed time) onlineAdd seal-in contact to hold timer input TRUE
Counter not incrementingInput signal is continuous not pulsed, missing resetMonitor CU input state onlineAdd rising-edge detection (P contact)
CPU goes to STOP during programDivide by zero, accessing invalid DB, cycle time overrunCheck diagnostic buffer for exact error entryAdd zero-check before division, verify DB addresses

PLC Communication Faults

Communication faults are increasingly common as PLC systems connect to more devices — HMIs, drives, remote IO, SCADA systems, and cloud platforms. Here is how to diagnose the most common types:

Fault TypeSymptomCheckFix
PROFINET IO device offlineRed X on IO device in TIA Portal online viewPing device IP from PC, check cable, check device powerFix cable, restore power, verify IP address matches config
Cannot connect TIA Portal to PLC“No compatible devices found”PC and PLC on same subnet? Firewall blocking? Right network adapter selected?Set PC IP to same subnet, disable Windows firewall temporarily
Modbus TCP timeoutMB_CLIENT error output active, status word errorCheck IP address of Modbus server, check port 502 not blockedVerify IP, check network route, increase timeout parameter
EtherNet/IP device offline (AB)Yellow triangle on IO tree in Studio 5000Check device IP matches Studio 5000 config, check cableVerify IP address, reset device, check EDS file
HMI not updating / connection lostHMI shows “Connection Error” or stale valuesCheck HMI connection settings — IP address and slot number correct?Verify HMI device table, check network cable, ping PLC from HMI

PLC Troubleshooting Tools Every Engineer Needs

ToolUseWhen to Use
Digital MultimeterMeasure voltage at IO terminals, check continuityAlways — first tool to pick up
Laptop with TIA Portal / Studio 5000Online monitoring, diagnostic buffer, force IOAfter confirming hardware is correct
Clamp meter (4-20mA range)Measure analog current loop without breaking circuitTroubleshooting analog signal faults
Network cable testerVerify Ethernet cable continuity and wiringPROFINET / EtherNet/IP communication faults
Signal injector (4-20mA)Inject known 4-20mA signal to test AI moduleIsolating AI module vs transmitter faults
Laptop with WiresharkCapture and analyze network packetsComplex communication faults, intermittent dropouts

Frequently Asked Questions – PLC Troubleshooting

What is the first step in PLC troubleshooting?

The first step is always to check the power supply. Measure 24VDC at the PLC CPU terminals using a multimeter and verify the PSU status LED is green. The majority of PLC faults that appear complex are actually simple power supply problems — low voltage, blown fuses, or a failing PSU. Never skip the power check and go straight to the program.

What does a flashing red ERROR LED mean on a Siemens S7-1200?

A flashing red ERROR LED on the Siemens S7-1200 indicates a recoverable fault — typically a program logic error, communication timeout, or configuration mismatch. The CPU usually remains in RUN state but may have reduced functionality. Open TIA Portal, go online, and check the Diagnostic Buffer under Online and Diagnostics to read the exact fault code and description.

How do I access the diagnostic buffer on a Siemens S7-1200?

Connect TIA Portal to the S7-1200 online, then right-click the CPU in the project tree and select Online and Diagnostics. Click Diagnostics then Diagnostic Buffer. Read entries from newest to oldest — the entry immediately before any STOP event is typically the root cause of the fault. Double-click any entry for a full description and recommended corrective action.

How do I clear a major fault on an Allen-Bradley PLC?

In Studio 5000, go online and click Controller Properties then the Faults tab to read the fault description. After fixing the root cause, clear the fault by clicking the Clear Faults button in the controller properties, or by cycling power to the controller. Never clear a fault without first understanding and fixing the root cause — the fault will immediately return if the underlying problem is not resolved.

What causes a PLC to go to STOP mode unexpectedly?

The most common causes of unexpected PLC STOP are: a program error such as divide by zero or accessing an invalid memory address, a hardware configuration mismatch where a module in the program does not match the physical hardware, a cycle time watchdog timeout where the scan cycle takes longer than the configured maximum, or a power supply voltage dropping below the minimum threshold. Always check the Diagnostic Buffer or Fault Log immediately after an unexpected STOP to identify the exact cause.

How do I test a PLC output that is not working?

First confirm the output bit is TRUE in the program by going online and monitoring the output coil. If the bit is TRUE but the device is not activating, force the output ON using the Force IO function in TIA Portal or Studio 5000. Measure voltage at the output terminal with a multimeter — if voltage is present but the device does not activate, the fault is in the field wiring or the device itself. If no voltage is present despite the output being forced ON, the IO module channel has failed and needs replacing.

What is the most common cause of analog signal problems in PLC systems?

The most common cause of analog signal problems is incorrect cable installation — specifically using unshielded cable or routing analog cables alongside high-voltage power cables. Analog signals (4-20mA or 0-10V) are susceptible to electrical interference from motor drives, contactors, and fluorescent lighting. Always use shielded twisted-pair cable for analog wiring, connect the shield to earth ground at the panel end only, and route analog cables in separate cable trays from power cables.

How do I troubleshoot a PROFINET communication fault on S7-1200?

First check the physical connection — verify the Ethernet cable is undamaged and the LINK LED on both the PLC and the device are green. Then verify the device IP address matches exactly what is configured in TIA Portal — even one digit wrong will prevent communication. Try pinging the device IP from a laptop connected to the same network. If the device responds to ping but TIA Portal cannot connect, check that the device name in TIA Portal matches the PROFINET device name assigned to the physical hardware.


Conclusion

Effective PLC troubleshooting always follows the same structured path — power first, then LEDs, then IO, then diagnostic buffer, then program logic. Engineers who follow this sequence resolve faults faster and with less risk of making things worse.

Key rules to remember:

  • Always check power first — most complex-looking faults have simple power causes
  • Read LED indicators before opening any software — they tell you the fault category instantly
  • Use the Diagnostic Buffer — it contains the exact fault description with timestamp
  • Never make random changes — document every change, test one at a time
  • Remove all forced IO after troubleshooting — leaving forces active is dangerous
  • Back up the program before making any changes to a live system

Related Guides:

Scroll to Top