Taking over someone else's PLC program: do these 4 things before you change a single line
Description and use
By following the four-step workflow, engineers preserve the original program state, reduce the risk of new errors, and create a documented change history.
Problem
A machine runs but its PLC program is undocumented and unmaintained, risking unintended changes that introduce new faults.
Outcome
By following the four-step workflow, engineers avoid introducing new problems, maintain a clear change history, and reduce the risk of regressions.
Workflow
- Capture evidence before touching anything
- Establish a version baseline
- Shrink the search space with static analysis and reasoning
- Change only after the root cause is verified
Evidence
Archive everything you can currently get: the program uploaded from the PLC, the diagnostic buffer, the alarm history, the actual state of the main I/O points, the operator's description of when things go wrong
Save the uploaded program with a dated archive entry and one sentence: "This version was uploaded from the machine on , unmodified."
Run the program through tooling first: division-by-zero risk, array access without bounds checks, block call depth, unused variables, naming inconsistencies.
Confirm the root cause in simulation or by single-stepping on site. Then change. Then run a regression pass, because breaking B while fixing A is the normal case, not the exception.
- Record date: 2026-10-11T07:40:56.531Z