learn · South Africa
PLC Troubleshooting Training: Fault-Finding Workflow
PLC troubleshooting training for technicians: trace symptoms through code, I/O, networks and wiring with a practical fault-finding workflow and simulator.

PLC troubleshooting training should teach you to separate an observed symptom from a proposed cause, then choose evidence that distinguishes the remaining explanations. A stopped conveyor, a green HMI tile and an active output command are three observations. Together they still do not prove which component failed.
This tutorial develops a repeatable investigation record and a fictional command-versus-feedback exercise. It covers diagnostic logs, module indicators, live program observations, timing, data quality and recovery tests. The aim is a reasoned fault-finding report that another learner or instructor can review.
For South African electricians, millwrights and instrumentation technicians, the useful outcome is knowing what the available evidence supports and what remains unknown. The software examples do not authorise work on energised equipment or reproduce a specific machine's protective functions. Physical investigation belongs within the site's authorised procedure and the equipment instructions.
Define the symptom before selecting a diagnostic tool
Write what was expected, what was observed, where it was observed and when. Include the operating mode and the relevant sequence step. “The PLC is faulty” is a conclusion without a test; “the run request is true while the command remains false” is a specific discrepancy to investigate.
Ask the operator or learner what happened immediately before the symptom, what changed recently and whether the behaviour is repeatable. Preserve their account as an account, alongside logs and program observations. A recollection can identify a useful time window without establishing an exact event order.
| Record field | Fictional example |
|---|---|
| Expected behaviour | Virtual conveyor receives a command after an eligible request |
| Observed behaviour | Request is true, command is false |
| Operating context | Automatic demonstration, waiting at the transfer step |
| Recent change | A different saved input fixture was loaded |
| Evidence still needed | Permission value, program revision and fixture contents |
This example directs attention to the request and permission path before any hardware hypothesis is needed. A different symptom, such as a documented connection fault, would suggest a different first branch. There is no fixed category order that proves every fault efficiently.
Preserve the context needed to interpret observations
Record the controller or simulator identity, project revision, relevant configuration and source of each displayed value. When reviewing a real controller, confirm that the project and online device correspond before interpreting a rung or tag as the active implementation.
Keep a copy or export of available diagnostic evidence before a change that might alter it. Record whether a screenshot shows a live display, a frozen view or a historical record. A screenshot demonstrates what was displayed at that moment; it does not capture every transition between screen refreshes.
The scan-cycle tutorial explains why program order and observation timing matter. A value in one display can be acquired at a different instant from another value, especially when evidence crosses a controller, network and HMI boundary.
A useful note might read: “Command observed true in the selected online project; feedback observed false in the same captured test row; no physical terminal measurement included.” That statement preserves the boundary of the evidence and avoids implying a measurement that nobody made.

Read diagnostic history in the displayed time order
The Siemens STEP 7 V21 diagnostics-buffer guide describes a view whose latest event appears at the top. It also documents sorting, filtering and a local programming-device time option. Therefore “read the first line” does not universally mean “find the earliest event”.
For a study exercise, use four invented records from one ordered logger. They share one clock and have sequence numbers assigned in acquisition order. These are not native Siemens fault codes or evidence of a real network failure.
| Sequence | Time within the example second ms | Recorded event |
|---|---|---|
| 1 | 100 | Connection quality became bad |
| 2 | 120 | Transfer permission became false |
| 3 | 150 | Virtual command became false |
| 4 | 180 | Operator notification appeared |
A newest-first display lists four, three, two, one. The earliest recorded event in this example is sequence one, even though the notification is displayed first. Reconstructing the order helps form a hypothesis about the relationship between connection quality and permission.
It does not prove the initiating physical cause. An earlier event may be outside the captured evidence, and the logic linking two events still needs inspection. When combining logs from different devices, establish clock alignment and timestamp meaning before ordering events separated by small intervals.
Also distinguish the time an event was detected from the time a display or historian received it. Write any unresolved timing uncertainty into the report instead of presenting a precise causal chain that the records cannot establish.
Interpret indicators using the exact module documentation
A status lamp has meaning within a particular product and indicator label. Do not generalise that every steady green lamp proves an entire machine is healthy, or that every flashing lamp means the same type of fault.
The Rockwell PointMax I/O status-indicator reference distinguishes module, power and channel indications. Its standard channel table lists more than one possible meaning for some states and directs readers to module-specific details. Record the full module identity and indicator label with the observed state.
A program command, a channel indication, the electrical condition at a terminal and the process response are different evidence points. None should silently substitute for all the others. A sensor feedback bit also proves only what that feedback arrangement actually represents.
For a classroom inspection record, attach the relevant manual page to the indicator observation. State the documented interpretation and any alternatives still possible. Avoid a colour-only checklist that obscures the distinction between communication, module power and individual channel behaviour.
Trace the condition that prevents the expected command
Begin with the actual command assignment and identify every input to it. If an input is a derived permission, follow its definition. Check other writers and relevant execution order rather than assuming that the first matching rung is the only place a tag changes.
Use this simple fictional Boolean rule for a virtual demonstration: Command equals Request AND Permission. There is no latch or restart protection in this rule. It exists to practise tracing an assignment, not to control a physical conveyor.
| Request | Permission | Command |
|---|---|---|
| False | False | False |
| False | True | False |
| True | False | False |
| True | True | True |
If Request is true and Permission is false, a false Command is the specified result. The next investigation concerns why Permission is false and whether that condition matches the requirement. Editing the assignment merely to obtain a true output would destroy the evidence about the original condition.
The ladder-logic basics guide supports reading this relationship. In a larger program, retain the path from the blocked command to its contributing conditions, including data quality and sequence state.

Separate missing feedback from unexpected feedback
The worked diagnostic model accepts three supplied Boolean values at each evaluation: Command, Feedback and DataGood. DataGood represents the exercise's judgement that both supplied values are usable for comparison. It is not inferred from a real input module in this lesson.
With good data, MissingFeedback means Command is true while Feedback is false. UnexpectedFeedback means Command is false while Feedback is true. The two conditions cannot both be true in the same evaluation.
Matching false values mean both signals are off; matching true values mean both are on. Neither matching case is proof of physical safety or correct process performance. The model only compares the supplied Boolean representations.
If DataGood is false, set DataFault true and clear both comparison conditions, their elapsed times and their qualified indications. Do not replace invalid feedback with false and report that as a measured absence. When quality recovers, evaluate the current pair afresh.
This explicit invalid-data policy makes the report interpretable. An absent discrepancy indication during bad data means comparison is unavailable, not that the process has been proved healthy. The analogue signal guide explores the same distinction between a value and the evidence needed to interpret it.
Add a defined qualification interval to the learning model
For this exercise only, qualify each discrepancy after two thousand milliseconds of continuously true observations. Maintain separate start timestamps for missing and unexpected feedback. On the first true evaluation, store the current monotonic time and report elapsed time zero.
On subsequent true evaluations, elapsed time is the smaller of two thousand and the difference from that start timestamp. The corresponding qualified indication becomes true when elapsed time reaches two thousand. A false condition clears its timestamp, elapsed time and indication immediately in the model.
All inputs are evaluated together in each supplied test row, and both qualification instances are evaluated every row. Time must be non-decreasing. The model assumes no unobserved intervening changes; it cannot infer a short physical pulse that was never supplied to it.
Two seconds is an invented assessment interval, not a recommended machine timeout. These indications are not latched alarms and have no acknowledgement memory. A real application may require different detection, retention and response policies.
The timer integration reference explains why timer calls, reset conditions and observation order belong in the test record. Copying a preset number without those rules leaves the behaviour underspecified.

Replay the discrepancy, recovery and quality sequence
Start with both timer histories empty. In the following trace, M is the qualified missing-feedback indication and U is the qualified unexpected-feedback indication. An elapsed entry names the active comparison; all other elapsed times are zero.
| Time ms | Command | Feedback | Data good | Active elapsed ms | M | U |
|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 1 | None | 0 | 0 |
| 100 | 1 | 0 | 1 | Missing 0 | 0 | 0 |
| 2099 | 1 | 0 | 1 | Missing 1999 | 0 | 0 |
| 2100 | 1 | 0 | 1 | Missing 2000 | 1 | 0 |
| 2200 | 1 | 1 | 1 | None | 0 | 0 |
| 3000 | 0 | 1 | 1 | Unexpected 0 | 0 | 0 |
| 4999 | 0 | 1 | 1 | Unexpected 1999 | 0 | 0 |
| 5000 | 0 | 1 | 1 | Unexpected 2000 | 0 | 1 |
| 5100 | 0 | 1 | 0 | None | 0 | 0 |
| 6000 | 0 | 0 | 1 | None | 0 | 0 |
| 7000 | 1 | 0 | 1 | Missing 0 | 0 | 0 |
| 7500 | 0 | 0 | 1 | None | 0 | 0 |
| 8000 | 1 | 0 | 1 | Missing 0 | 0 | 0 |
| 10000 | 1 | 0 | 1 | Missing 2000 | 1 | 0 |
The row at 2099 is one millisecond short of qualification because the condition began at 100. Feedback arriving at 2200 clears the indication. Bad quality at 5100 clears comparison and raises the separate DataFault, despite the supplied Boolean pair still differing.
The short missing-feedback episode at 7000 is cancelled at 7500. Its five hundred milliseconds are not retained into the new episode beginning at 8000. This is a non-retentive qualification contract.
If no evaluation occurs at an exact deadline, the result is observed at the next evaluation that satisfies the elapsed-time rule. Do not convert the timestamp table into a promise of exact physical response timing.
Use a hypothesis table for a stopped-conveyor report
Now suppose a learner reports: “The HMI says running, but the conveyor appears stopped.” Begin with several possible explanations. The report alone does not distinguish an HMI binding problem, a blocked command, an output-path issue, a feedback-path issue or a process problem.
| Hypothesis in the learning exercise | Evidence that would help distinguish it |
|---|---|
| HMI displays the request instead of feedback | Inspect the display binding and compare the source values |
| Permission prevents the command | Trace Request, Permission and the actual Command assignment |
| Command is present but expected feedback is absent | Capture both values, their quality and the defined timing |
| Displayed data is stale | Inspect update evidence and communication quality |
| Feedback does not represent the claimed process state | Review the feedback definition and measurement arrangement |
A qualified missing-feedback indication narrows the software observation to a sustained mismatch under the model. It does not identify a failed coil, broken conductor or defective input channel. That remaining distinction requires appropriate evidence from the actual equipment and authorised investigation.
Similarly, one voltage reading cannot establish that a supply is degraded without the applicable specification and test context. A proposed replacement rating is a design decision requiring its own assessment, not a deduction from a believable narrative.

Test a correction against more than the original symptom
In a virtual exercise, change one identified defect and repeat the original failing case with the same relevant initial conditions. Preserve the earlier result so the explanation remains reviewable. Then test neighbouring conditions that could expose an incomplete correction.
For the discrepancy detector, include matching on and off states, both mismatch directions, just-before and at-deadline observations, cancellation before the deadline, bad data during a mismatch and recovery into a new mismatch. Each case should have an expected result before execution.
For an HMI binding correction, check both requested-but-not-commanded and commanded-but-not-confirmed cases. A single green display during an ordinary run does not demonstrate that the binding distinguishes these states.
The PLC program testing material is a relevant companion for structuring software practice. The independently checked model here is not a claim that every native diagnostic or test feature exists in that product.
Keep overrides and physical work outside casual experimentation
Changing a simulated input fixture is a controlled part of this learning exercise. It must not be presented as an instruction to force a live controller input. An input override can change downstream commands; it is not inherently harmless because it is labelled an input.
For an actual system, distinguish read-only observation from any write, force, download, mode change or physical intervention. Follow the site's authorised work controls and equipment-specific procedures. Generic torque values, module-swap instructions and assumed restart behaviour do not belong in a cross-platform troubleshooting recipe.
A handover record should identify the change made, evidence supporting it, tests completed and any outstanding restrictions or unresolved questions. It should also account for any authorised temporary test settings under the site's procedure. A cleared alarm alone is insufficient evidence that the original cause was removed.
The wiring tutor overview can help identify available educational practice. Check the actual exercise scope instead of expecting every physical fault or manufacturer diagnostic to be reproduced.

Choose South African fault-finding training by the assessment
When comparing PLC troubleshooting courses in Johannesburg, Pretoria, Durban, Cape Town or another South African location, ask how learners demonstrate diagnosis. A useful exercise requires an observation record, competing explanations, a justified next check and verification after the proposed correction.
Confirm the controller families, software access, class format and individual feedback offered. If your role requires physical measurements, ask what supervised practical assessment is included. These city references describe course-search contexts and do not imply local branches operated by this website.
The maintenance-manager training guide supports selecting team learning outcomes. Retain distinct evidence for software reasoning and supervised equipment work, and confirm the actual certificate's scope with the provider.
Why does the HMI show running when the command is off?
Inspect what the HMI object is bound to, whether its data is current and how the program defines each state. It may display a request or retained value. The observation does not by itself prove an output-module failure.
Does the earliest alarm identify the root cause?
It identifies an early recorded event within the available evidence. Check sorting, clocks, detection delays and missing context before inferring causation. The initiating condition may not have generated an alarm.
Why did my discrepancy indication disappear when quality failed?
In this model, bad data disables comparison and raises DataFault separately. The cleared mismatch is not a healthy-process declaration. Review the validity policy before interpreting an absent alarm.
What should I keep in a troubleshooting portfolio?
Keep the symptom statement, project identity, ordered event record, hypothesis table, fourteen-row trace and correction tests. State which observations were simulated. Explain the remaining uncertainty instead of presenting an untested component diagnosis as established fact.