A power failure on the factory floor is stressful enough. But when the lights come back on and a machine refuses to start — because its PLC has lost its program — a bad day can turn into a lost week. Here is what actually happens, and how to get production running again.
Why a PLC loses its program
Most modern PLCs keep their program in non-volatile flash memory, so a power cut alone does not erase it. The classic failure is older controllers that hold the running program in battery-backed RAM. When that backup battery is dead or weak, a power loss wipes the program entirely. Other causes include a corrupted memory card, a half-finished firmware update interrupted by the outage, or a controller that boots into an empty default state.
First steps — before you do anything risky
- Do not keep power-cycling the controller hoping it recovers — you can make things worse.
- Check whether you have a recent program backup (a project file) and which software version created it.
- Note the exact controller model and firmware version — this determines which tools you need.
- If there is a memory card, do not format it; it may still hold a recoverable copy.
The recovery paths
In the best case, you have an up-to-date project file and simply re-download it to the controller. In practice, the file is often months out of date, lives on a laptop that has left the company, or never existed. That is where experience matters: reconstructing logic from documentation, from the HMI/SCADA configuration, from I/O wiring, and from the process itself.
How to avoid this entirely
- Keep versioned backups of every PLC project, stored off the machine.
- Replace backup batteries on a schedule — not when they fail.
- Migrate ageing battery-backed controllers to modern flash-based platforms before they bite you.
- Document the program so it can be rebuilt even if every file is lost.
A program recovery is exactly the kind of work we do — including on legacy controllers that most integrators will not touch. If a line is down, the faster we see it, the faster it runs again.
