Resolving S5-150U Cold Restart Failure After Battery Replacement

David Krause13 min read
PLC HardwareSiemensTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Resolving SIMATIC S5-150U Cold Restart Failure After Battery Replacement

The SIMATIC S5-150U PLC family, often paired with the SINUMERIK 850 CNC family in retrofitted milling machines, exhibits a well-known recovery sequence when its lithium backup battery has discharged. When the 3.6 V buffer cell is allowed to drop below the supervision threshold, the CPU drops to STOP and demands a Cold Restart (Kaltstart) before program execution is permitted. In the field, the LED pattern that most often halts commissioning is red STOP LED steady + yellow "Cold Restart Required" LED steady, with the mode selector returning to STOP every time it is flipped to RUN. This article consolidates the manual restart sequence, the AG mode selector topology, the meaning of the Interrupt Stack (ISTACK) marker, and the most common user-program defect (illegal access to DB0) that prevents the S5-150U from leaving the Cold Restart state.

1. System Context: S5-150U in a SINUMERIK 850M.74-D Milling Machine

The reported cabinet combines a SINUMERIK 850M.74-D CNC controller with a SIMATIC S5-150U programmable controller. The PLC acts as the I/O coupling layer between the CNC and the machine (axes, spindle drives, tool changer, hydraulics, guarding). Loss of the PLC therefore stops the mill regardless of whether the NC channel itself is healthy.

1.1 Reported Module Population

Order Number (MLFB) Likely Function in S5-150U Rack Notes
6ES5756-0AA11 CPU 150U central module Hosts the AG mode selector and RUN/STOP/Cold/Warm Restart logic.
6ES5924-3SA12 Power supply module (PS 924) 5 V / 24 V backplane rails for the rack.
6ES5925-3SA11 I/O module (PS 925 / IM 925 family) Verify against cabinet wiring list.
6ES5926-3SA11 I/O module (IM/IM 926 family) Often used as digital-input termination.
6ES5927-3SA11 I/O module (IM 927 family) Verify against wiring list.
6ES5511-5AA12 Memory submodule / EPROM carrier Used for user-program storage.
6ES5350-3KA21 (×2) Digital output module 32 DO / 24 V Equipped with submodule 6ES5372-0AA51 / -0AA61.
6ES5372-0AA51 Submodule / interposing module Function specific to 6ES5350-3KA21.
6ES5372-0AA61 Submodule / interposing module Function specific to 6ES5350-3KA21.
6ES5304-3UA11 Digital I/O or IM module Verify against wiring list.
If a slot label is unreadable in the field, cross-check against the original SINUMERIK 850M wiring diagram. Several 6ES59xx numbers were reused for both power supplies and interface modules across the S5-130/150 families.

2. Battery Backup Subsystem and Supervision

The CPU 150U monitors the lithium backup battery that retains RAM and the timer/counter/marker area across power-down events. The reference cell is a 3.6 V lithium thionyl chloride (Li-SOCl2) type, typically 3.6 V / 1.7 Ah in original Siemens assemblies, with continuous load in the low µA range.

2.1 Battery-Failure Detection Thresholds

Condition Threshold (typical) Effect on CPU 150U
Battery fresh ≥ 3.4 V at sense resistor RAM retained; CPU may come back in RUN/Warm Restart.
Battery exhausted < 2.7 V at sense BATF flag set; STOP forced on next power-on; Cold Restart demanded.
Battery removed, mains OFF No cell RAM lost; Cold Restart mandatory.

Measured open-circuit voltage of 3.6 V does not guarantee usable capacity. Internal impedance rises at end-of-life; verify with a load test (e.g., 1 mA for 10 s) before trusting the cell.

2.2 What a Cold Restart Demands

Cold Restart (Kaltstart, sometimes translated as "Overall Reset + Restart") on the S5-150U requires:

  1. Retention (or re-load from EPROM/Flash) of the user program.
  2. Re-initialization of all DBs (DB1..DB255) to the values declared in the source.
  3. Reset of timers, counters, flags, and process image.
  4. Explicit handshake from the operator — pressing the Warm Restart button on the CPU front while moving the selector to RUN, or issuing the equivalent through STEP 5 over the PG interface.

3. LED Pattern Decoding on the CPU 150U Front Panel

LED Color Steady Meaning Flashing Meaning
STOP Red CPU is in STOP. User program is not executing. CPU halted by PG "Stop" or by watchdog event.
RUN Green Cyclic user program is executing. Restart in progress.
Cold Restart Required Yellow RAM invalid or battery-failure flag set; Cold Restart must be acknowledged. —
Warm Restart Required Yellow CPU halted in a defined state and can be resumed. —
BASP Yellow Command output disable active; all digital outputs forced OFF. —
SF / ZF Red Stack fault / time fault in ISTACK. —

The combination reported in the field (red STOP + yellow Cold Restart) means the CPU is alive, the battery is now recognized as good (or at least the BATF flag has been re-evaluated), but the user program has not been acknowledged. The CPU will not enter RUN on its own — it requires an explicit restart handshake.

4. Root Cause Analysis: Why the Manual Restart Fails

The user reports having performed the canonical S5-150U restart sequence — flipping RUN/STOP while holding the Warm Restart button — without success. There are four families of root cause to investigate, in order of likelihood on a retired CNC:

4.1 Defect 1 — Illegal Access to DB0

DB0 in SIMATIC S5 is the system data block; it is not a user DB. Operations such as DB0, A DB0, DO DW0, or any C DB0 / JU FB/OB... DX0 that resolves onto DB0 are illegal at runtime and raise a stack fault during Cold Restart initialization, before RUN is reached. The CPU then latches into STOP with Cold Restart required.

The reference CPU entering the Cold Restart phase initializes all declared DBs. If a startup OB (OB20/OB21/OB22) or FB references DB0, the CPU raises a "SUBR/E.STACK/USTACK" fault, the BASP LED often comes on, and the mode selector is forced back to STOP.

4.2 Defect 2 — Startup OB Signature Mismatch

After a battery-failure cold restart the S5-150U expects an Overall Reset (Gesamt-RESET) before the first RUN transition. If the EPROM/Flash carries an OB21 (Warm Restart) but the CPU is currently demanding Cold Restart, OR the EPROM does not contain a valid OB20 (Cold Restart) signature, the restart aborts.

4.3 Defect 3 — PG Online Conflict

If STEP 5 / S5-DOS is online on the PG interface (AS511 / TTY 20 mA current loop, 9600 baud, odd parity) and the PG is parked in "STOP" or "Force" mode, it can hold the CPU in STOP even while the operator toggles the selector. Disconnect the PG cable, or switch the PG to Online / Run.

4.4 Defect 4 — Battery Sense Resistor / Holder Wiring

3.6 V measured across the battery terminals with the CPU unpowered is not the value the CPU sees. The sense leads in the S5-150U battery holder include a polarity detector and a PTC fuse. A reversed or oxidized holder reads 3.6 V at the cell, but the CPU still sees a BATF condition and refuses to leave STOP.

5. Step-by-Step Recovery Procedure

Perform the steps below in order. Do not skip from Cold Restart to RUN before verifying the ISTACK.

5.1 Prerequisites

  • STEP 5 software ≥ V6.6 with S5-150U support, on a PG720/PG740/PG760 (or modern PC with S5-USB adapter).
  • AS511 cable (Siemens 6ES5734-2BD20 or compatible, 20 mA TTY).
  • Verified battery holder, freshly-loaded 3.6 V Li-SOCl2 cell.
  • Printed EPROM/PCB listings (LDA, FB, OB, DX, DB, PB, SB symbols).
  • ESD-safe workspace; the S5-150U boards are sensitive to static discharge.

5.2 Step 1 — Mechanical and Battery Verification

  1. Power down the cabinet. Open the battery holder, confirm cell orientation (+ toward holder clip), clean contacts with isopropyl alcohol, reinstall.
  2. With mains ON, measure battery voltage at the CPU sense test point (TP on CPU 150U board, typically labelled +BAT/−BAT). It must read between 3.2 V and 3.6 V under load.
  3. Confirm the BATF LED on the CPU is OFF.

5.3 Step 2 — Connect PG, Read ISTACK and USTACK

  1. Connect the AS511 cable between PG and CPU.
  2. Start STEP 5, switch to online, choose Test → Stack Display (Test / Stack) for the CPU 150U.
  3. Read the ISTACK (Interrupt Stack) and the USTACK (User Stack). The "marked line" indicator points at the very instruction that aborted the restart — usually a DO, DI, C DB, A DB or JU FB...DX0 on DB0.
  4. Take a screenshot of the ISTACK for the record.

5.4 Step 3 — Eliminate DB0 References

  1. Open the STEP 5 program (or cross-reference list via Ctrl+F8 in the LAD/FBD/STL editor).
  2. Search for every occurrence of DB0 in OB20, OB21, OB22, OB1, and all FBs/FCs.
  3. Replace the offending calls with a valid user DB (typically DB1..DB255). A common migration error is leftover diagnostics code from a 135U port that assumed DB0 availability — it does not exist on S5.
  4. If the call is inside an FB that pre-dates the cold-restart, comment it out with *** for the immediate recovery, but plan a permanent fix.

5.5 Step 4 — Perform Overall Reset

  1. Place the mode selector on STOP.
  2. From STEP 5, select PLC → Overall Reset (Gesamt-RESET). Confirm on the dialog.
  3. The CPU clears RAM, all DBs, all flags, all timers/counters. The Cold Restart LED extinguishes once reset completes.

5.6 Step 5 — Cold Restart Handshake

  1. With the mode selector still on STOP, press and hold the Warm Restart button on the CPU front.
  2. Flip the selector from STOP to RUN.
  3. Keep the Warm Restart button held for ~3 seconds. The Cold Restart LED must extinguish; the RUN LED should come on.
  4. If only a Warm Restart is desired, use the Warm Restart button. If a true Cold Restart is required, hold the button for >5 s (some firmware revisions require a separate Cold Restart button sequence — confirm with the cabinet manual).

5.7 Step 6 — PG-Assisted Restart (If Manual Button Does Not Latch)

  1. From STEP 5, online, choose PLC → Cold Restart or Warm Restart.
  2. The PG sends the appropriate command over AS511, and the CPU executes the restart without needing the front-panel button.
  3. Observe the LEDs; RUN should come on within ~2 s.

6. Verification

After RUN is reached, perform the following verification before returning the cabinet to production:

Check Expected Result How to Verify
RUN LED Steady green Visual.
STOP LED OFF Visual.
BASP LED OFF Visual.
Cold/Warm Restart LEDs OFF Visual.
Process image Updating STEP 5 variable monitor on a known input (e.g., tool-change clamp limit switch).
Outputs Following logic Force-test on a non-critical output; verify LED on the 6ES5350-3KA21 DO module.
CNC ↔ PLC handshake Active SINUMERIK 850M channel status page should show "PLC ready" and DB1000 / DB1200 status bits in expected state.
ISTACK clean No faults Read ISTACK again; the previously faulted line must not reappear.

7. Field-Proven Caveats and Edge Cases

7.1 Running Without the Battery to Force Cold Restart

A second suggestion raised in the discussion was to set the PLC in RUN without the battery. This is not recommended. Removing the battery with mains ON does not help and risks the CPU dropping into an undefined state. With mains OFF, removing the battery simply clears RAM, which is the same effect as the Overall Reset and STEP 5 should always be preferred for a documented, repeatable cold restart.

7.2 SINUMERIK 850M.74-D Coupling

The SINUMERIK 850M series exchanges I/O and status words with the PLC through a fixed handshake, typically:

  • DB1000 — NC commands to PLC.
  • DB1100 — NC signals to PLC.
  • DB1200 — PLC commands to NC.
  • DB1300 — PLC signals to NC.

If any of these DBs is missing in the Cold Restart initialization, the NC will hold the machine in Not Ready. After RUN, confirm in the SINUMERIK operator panel that the PLC channel reports Ready and the field coupling flags toggle on a deliberate M-function.

7.3 AS511 Communication Issues

The AS511 interface uses a 20 mA current loop at 9600 baud, odd parity, 8 data bits, 1 stop bit. Cable length is limited to ~1000 m but is very sensitive to ground loops on a mill. If the PG cannot connect:

  • Confirm the current-loop supply (15 V nominal) by measuring the in-line adapter.
  • Confirm correct polarity of the active receiver pair.
  • Try a different PG; some older PGs require a driver disk for S5-150U.

7.4 EPROM vs RAM Strategy

For long-term reliability, transfer the corrected user program (without DB0 references) from RAM to EPROM submodule (6ES5511-5AA12 or compatible) using an EPROM programmer (e.g., PG675, PG685, or third-party). Cold Restart after a battery event then loads automatically from EPROM and avoids the ISTACK-fault loop entirely.

8. Preventive Maintenance Checklist

  1. Replace the 3.6 V lithium cell every 3 years, regardless of measured voltage.
  2. Record the battery lot and install date on the cabinet door.
  3. Keep a printed copy of the ISTACK output for the current program; it halves the mean-time-to-repair on the next battery event.
  4. Maintain a backup of the EPROM contents on a modern flash drive via an EPOM reader.
  5. Cross-reference any PG-side diagnostics program for DB0 calls before deploying.

9. Troubleshooting Matrix

Symptom Most Likely Cause First Action
Red STOP + yellow Cold Restart, battery 3.6 V Cold Restart not acknowledged Hold Warm Restart button while flipping selector.
Same pattern, manual restart fails DB0 access in OB1/OB20/OB21/OB22/FB Read ISTACK, remove DB0 references.
Same pattern, PG cannot connect AS511 cable / current loop fault Verify cable, swap PG, check TTY adapter.
Red STOP + red SF + yellow Cold Restart Stack fault / illegal instruction Read ISTACK and USTACK; reload EPROM if EPROM-resident.
Red STOP only, no Cold Restart LED Battery still bad or not detected Measure battery at sense point, not at cell.
RUN + BASP, machine won't move NC ↔ PLC handshake not yet established Confirm DB1000/DB1200 default values in SINUMERIK.
CPU cycles RUN↔STOP every few seconds OB22 startup code faults Comment out OB22, restart, check with PG.

10. Quick Reference — Front-Panel Restart Sequences

Desired State Selector Move Button Action Hold Time LED Outcome
Cold Restart from STOP STOP → RUN Press and hold Cold Restart button ≥ 5 s STOP OFF, RUN ON, Cold Restart LED OFF.
Warm Restart from STOP STOP → RUN Press and hold Warm Restart button ~3 s STOP OFF, RUN ON, Warm Restart LED OFF.
Stop from RUN RUN → STOP — — RUN OFF, STOP ON.
PG-driven Cold Restart STOP STEP 5: PLC → Cold Restart n/a Same as manual Cold Restart.

11. Standards and Reference Material

  • SIMATIC S5-150U System Manual (Siemens, 6ES5 998-0SH21 or successor editions).
  • STEP 5 Programming Manual (Siemens, 6ES5 998-0SPx).
  • SINUMERIK 850M Commissioning Manual (Siemens, 6FC5 198-0ABxx family).
  • Siemens S5-150U Service Bulletin on Lithium Battery Handling.
  • SIMATIC S5-150U Module Catalog — CPU 150U (6ES5 756-0AAxx) variant list.

Why does the S5-150U stay in STOP after I flip RUN/STOP to RUN?

Because the CPU has detected a battery-failure or RAM invalid condition and is demanding a Cold Restart. Simply toggling RUN/STOP does not satisfy the cold-restart handshake — you must hold the Cold Restart (or Warm Restart, depending on required state) button while moving the selector, or issue the equivalent command from STEP 5 over AS511.

The yellow Cold Restart LED stays on even with a fresh 3.6 V battery — why?

Open-circuit voltage at the cell is not what the CPU measures. Check voltage at the CPU sense test point (typically labelled +BAT/−BAT) under load, verify the polarity of the holder, and confirm the BATF flag is cleared in the ISTACK after STEP 5 reconnect. Cold-Restart latch is independent of battery state once the BATF bit has been latched.

What does an illegal DB0 access do on the S5-150U?

DB0 is reserved as the system data block in SIMATIC S5. Any C DB0, A DB0, DO DW0 or DX reference that resolves to DB0 raises a stack fault during the OB20/OB21/OB22 startup phase, before RUN is reached. The CPU latches in STOP and re-requests a Cold Restart. Remove every DB0 reference from the program.

Can I bring the S5-150U to RUN by removing the battery?

Not reliably. Removing the battery with mains OFF simply clears RAM, which is the same effect as a STEP 5 Overall Reset, but it does not by itself command the restart handshake. Use STEP 5 PLC → Overall Reset followed by PLC → Cold Restart for a documented recovery.

Where do I read the ISTACK on a 150U to find the fault line?

From STEP 5, online, use Test → Stack Display with an AS511 cable. The Interrupt Stack (ISTACK) shows the active stack; the User Stack (USTACK) reveals the faulted line in OB/FB/FC code. Take a screenshot — the marked line is the instruction that aborted the restart.

Back to blog