Mid-shift, the HMI freezes. The line stops. The maintenance tech plugs in his laptop, and the Siemens S7-1200 shows a red SF LED. Someone declares: 'The PLC is shot.' I've been sitting on the procurement side for six years, so I see the invoices after that declaration. And I've approved enough replacement CPUs to know that declaration is usually wrong.
I manage automation spending for a 160-person packaging company. I have tracked every control-system invoice for the last six years, and in 2023 I audited about $180,000 in cumulative spending. The pattern that came out of that spreadsheet was loud: our 'PLC replacement' line item kept growing, but the CPUs that failed weren't the actual problem. The failures were almost always in the stuff around the CPU—the power supply, the battery, the wiring, the transfer switch.
The visible problem is a Siemens PLC that faults, drops comms, or refuses to start. That's what you see. Because a PLC is the 'brain,' it's natural to blame it. It's also why a ton of S7-1200 and S7-1500 CPUs get replaced in machines that never needed a new brain.
I'm not saying CPUs never fail. They do. But from my side of the spreadsheet, the probability that the CPU is the root cause is way lower than the probability that your power rail is starving it.
According to the S7-1200 system manual at support.industry.siemens.com, the CPU's supply voltage is rated 24V DC, with tolerance from 20.4V DC to 28.8V DC. That means the CPU will keep trying to run all the way down to 20.4V. Below that, it does strange things: outputs cut out, the diagnostics buffer logs 'power supply interrupt,' or the whole unit resets for no apparent reason.
If your 24V DC rail drops below 20.4V, even for a few milliseconds, your Siemens 1200 PLC can fault without actually being broken.
In other words, the CPU didn't decide to fail. The DC bus fell through the floor.
At our plant, the usual causes are undersized SITOP power supplies, voltage drop over long cable runs, and loads that kick in at the wrong moment. A solenoid, a relay, a VFD control terminal—anything that draws current can pull a weak rail below the PLC's threshold.
One line kept losing comms every 20 minutes. The maintenance manager wanted to swap the CPU. The numbers pointed to an older CPU. My gut said power. I asked for evidence. We spent $75 on a data-logging multimeter, watched the rail during a fault, and saw it dip to exactly 20.0V when a compressor kicked on. The CPU was fine. The compressor motor wasn't. That measurement saved us a $3,000 mistake.
Another expensive red flag is the 12V battery hiding in the panel. I'm not talking about the S7-1200's internal capacitor that buffers the clock. I'm talking about the 12V battery that powers a small UPS, a safety relay, or an external communication module. When that battery starts dying, it can pull the whole panel down with it—especially when the battery charger tries to force energy into a shorted cell.
A dying battery is easy to ignore because it doesn't make obvious noise. It just sits there, slowly becoming a chemistry experiment. Then, one night, it takes a PLC down with it.
Grab a decent multimeter, set it to DC volts, and use the 20V range. The open-circuit voltage should read around 12.6V when full, 12.4V at 75%, and 12.2V at half. Below 12.0V, the battery is already at the ugly stage. But do not trust the open-circuit reading alone. Surface charge can hide a bad cell. Put a load on it for ten seconds, then watch the voltage. If it crashes, the battery is done.
When people see a low reading, the first instinct is to plug in a battery charger and hope the battery recovers. Sometimes that works. But if the battery has been deeply discharged more than a couple of times, you're just delaying the next failure. Replace it. It's a $30 part, and the labor is the same whether you test or replace.
If your panel has a backup generator or a second feed, the transfer switch is another hidden suspect. I remember watching a brand-new S7-1500 rack reboot every time the generator did its weekly self-test. The generator was fine. The transfer switch wasn't making the contact fast enough, so the PLC lost power for half a second. Enough to reset the program but not short enough to qualify as a 'power outage.' Everyone blamed Siemens. Siemens was innocent.
A transfer switch is a code issue, not a preference. So if you don't have a trusted electrical contractor, and you're searching for 'transfer switch installation near me' at 2am, that already tells you the maintenance contract failed. A licensed electrician, a yearly failover test, and a little bit of grease are much cheaper than the line stoppage you're trying to avoid.
Here's a newer pattern I'm seeing in house. A young engineer writes the logic, tests it in TIA Portal with the Siemens virtual PLC (S7-PLCSIM), and everything looks perfect. Then the physical machine faults, and they say 'But it worked in simulation!'
A virtual PLC doesn't know about voltage sags, bad ground wires, or dying capacitors. It simulates logic. It doesn't simulate electrons. So if the simulator says the logic is fine, that's useful—but it doesn't clear the hardware. Turn the simulator off, put a multimeter on the terminals, and look at the actual power.
Putting numbers on this is the part I care about most. A 12V battery costs maybe $30. A decent multimeter costs $40. A 15-minute under-load check of the 24V rail costs you one coffee. An emergency CPU replacement runs hundreds to thousands of dollars depending on the model, plus overtime, plus shipping. And downtime? That's the invoice nobody sees until the month ends.
In my own audit data, roughly seventy percent of the 'PLC emergencies' on my spreadsheet were power-related events, not CPU failures. That's not a scientific survey—it's just what the invoices and diagnostics buffers told me after six years. But it's enough to make me preach power verification like it's my job.
I'm keeping the solution section short on purpose. You came here because the PLC is acting up, but the fix usually isn't replacing the PLC.
I built a 12-point checklist after my third power-related PLC failure, and it has saved us an estimated $8,000 in potential rework. But the checklist isn't the magic. The habit is. Five minutes of verification beats five days of correction.
The Siemens S7-1200 manual still says the same thing in 2025: 24V DC, with a tolerance of 20.4V to 28.8V. The electrons don't change. The check doesn't change. The bottom line changes when you stop buying CPUs you didn't need.