S5-928B CPU Run LED Off After Reset: BASP & ISTACK Diagnostics

David Krause16 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

1. Problem Overview

Siemens SIMATIC S5-928B CPU modules used in S5-135U and S5-155U systems occasionally exhibit a particularly confusing fault mode after mechanical maintenance. The front-panel STOP LED extinguishes (indicating the CPU has dropped out of STOP mode), but the RUN LED never illuminates. After ten minutes or more of waiting, the CPU remains non-responsive, the BASP (Befehlsausgabe Sperre — command-output disable) flag is asserted, and the programming console shows the processor sitting in RESTART mode without completing the warm-restart sequence. The control system is effectively frozen.

The original symptom is usually triggered by replacing the front-panel reset button or by disturbing the CPU module during service work. Three failure paths produce the same external observation (STOP off, RUN off, BASP on):

  1. Loose or incorrectly seated reset button — front-panel switch contact not closing cleanly so the CPU is unable to acknowledge operator commands.
  2. Stuck warm restart (OB21) due to corrupted volatile data (RAM battery dead, EPROM/EEPREM checksum mismatch, or download interrupted mid-write).
  3. Cold-restart (OB20) required because processor does not have valid system data areas to complete a warm or hot restart.

This article walks through field-proven diagnostic and recovery procedures for the S5-928B family, including ISTACK/BSTACK interpretation, memory and battery verification, mechanical reset-button inspection, overall reset sequence, and cold-restart execution via OB20.

2. Affected Hardware and System Context

The CPU 928B is the standard processor for the SIMATIC S5-135U and S5-155U PLC families. The relevant module variants (depending on firmware revision and date code) are 6ES5 928-3UB11, 6ES5 928-3UB12, and 6ES5 928-3UB21. The 928B replaces the older CPU 928 and 928A in most field installations and adds expanded bit-processing instructions, additional block types (FB/DB up to 255), and a larger addressable I/O area.

Parameter Specification
CPU designation S5-928B (16-bit processor)
Typical hosts S5-135U chassis (6ES5 135-3UA..) and S5-155U chassis (6ES5 155-3UA..)
Work memory 16 / 32 / 64 KB RAM, expandable
Load memory EPROM (5 V, 27C-type) or EEPROM submodule on front flap
Backup battery 3.6 V lithium, located in power supply module (PS 951 / PS 957) and optional CPU battery holder
Programming software STEP 5 (STL, LAD, CSF)
Front-panel elements Mode selector switch, RUN LED (green), STOP LED (red), BASP LED (yellow), reset pushbutton
Operating modes RUN, STOP, COLD RESTART (OB20), WARM RESTART (OB21), HOT RESTART (OB22)
Diagnostic stacks ISTACK (interrupt stack), BSTACK (block stack)
Cycle-time register Read via PLC > INFO > CYCLE in STEP 5 PG

For the canonical reference set covering module pin-out, mode-switch positions, OB numbering, and LED behaviour, consult the SIMATIC S5-135U / S5-155U system manual set on the Siemens Industry Online Support portal. Search under "SIMATIC S5" → "S5-135U/155U Automation System" → "CPU 928B".

3. LED State Interpretation on CPU 928B

The CPU 928B front panel carries three status LEDs and one mode selector switch. Correct interpretation of these is the first step in distinguishing a hardware fault from a firmware/data fault.

LED Colour OFF Solid ON Flashing
RUN Green CPU not in RUN CPU in RUN, cyclic OB1 execution Not used on 928B
STOP Red CPU not in STOP CPU in STOP, OB1 not executing Mode change pending / RESTART requested
BASP Yellow Outputs enabled All process outputs forced to zero (safety state)

The state described in the source incident — STOP LED off, RUN LED off, BASP LED on — is therefore:

  • CPU has acknowledged the command to leave STOP and is attempting a transition (mode switch moved to RUN, or PG remote RUN command).
  • CPU is NOT yet executing OB1 in cyclic mode.
  • Outputs are held in safe-state zero, hence the BASP flag.
  • The CPU is therefore trapped between modes, almost always inside the RESTART state machine.
Important: A lit BASP LED does not on its own indicate a fault. BASP is also active for the first few scan cycles after every cold or warm restart until the user program releases it via OB1 or via the BAS instruction. A persistent BASP after ten minutes, however, is a clear sign the RESTART sequence is not completing.

4. Root-Cause Analysis

There are three documented root causes for the symptom "STOP off, RUN never on, BASP on, processor stuck in RESTART":

4.1 Cause A — Reset-button contact failure

If the front-panel reset button was just replaced, the most common cause is a poorly seated or soldered tactile switch. The 928B uses a small printed-circuit tactile switch on a flex-PCB that mounts to the front frame. After reassembly:

  • The plunger must protrude ~3 mm through the front bezel when at rest.
  • Pressing the button must register a tactile click and be visible to the CPU as a momentary low on the RESET line.
  • A button stuck in the depressed position holds the CPU in reset, preventing transition to RUN.

This was the verified root cause in the originating field case: the technician reported the problem was solved once the reset button was re-assembled correctly and verified to have a clean mechanical contact.

4.2 Cause B — Warm-restart (OB21) cannot complete

The 928B attempts a WARM RESTART by default when the mode switch is moved from STOP to RUN. A warm restart requires:

  • Valid system data (SD) in RAM.
  • Valid retentive flags, timers, and counters.
  • A coherent process-image configuration (PIA) matching the hardware.
  • Matching EPROM/EEPROM content (if loaded from submodule).

If any of the above is missing or corrupted, OB21 calls the S5 system error handler and the CPU remains in RESTART without transitioning to RUN. ISTACK will report a system error code (see Section 5).

4.3 Cause C — Cold-restart (OB20) is required

If the RAM battery is dead or has been removed during service, all retentive data is lost. The 928B detects this condition at power-up and requires an explicit cold restart, which the user triggers from the PG via PLC > COLD RESTART or by a hand-shake sequence on the mode selector. Simply moving the switch from STOP to RUN without a cold-restart command will leave the CPU in RESTART indefinitely.

5. ISTACK / BSTACK Diagnostic Procedure

The interrupt stack (ISTACK) and block stack (BSTACK) are the two primary diagnostic tools on S5-class CPUs. They are read with the STEP 5 programming console under PLC > INFO > ISTACK (or IST) and PLC > INFO > BSTACK (or BS).

5.1 Reading the ISTACK

  1. Connect the PG (e.g., PG 730, PG 740, PG 760) via the serial port on the CPU.
  2. Set PG to online: ONLINE > ON.
  3. Enter IST (or navigate to PLC > INFO > ISTACK).
  4. Capture the screen — it contains the exact stop cause and the active OB.

Typical ISTACK fields and their meaning on the 928B:

Field Meaning Field-engineering interpretation
STUE / STOZ Stack depth / last stack entry Helps locate where the CPU stopped inside nested block calls.
USTACK Interrupt stack pointer Points to the deepest interrupt save area.
FE Error LED state Reports fault class: FE 0 = no fault, FE 2x = runtime, FE 4x = program, FE 8x = system.
SA Operation code of fault Identifies the failing instruction (e.g., SA=L PB 0 means block-call failed).
AKKU 1 / AKKU 2 Accumulator 1 / 2 Snapshot of working registers at fault time.
DB / DI Active data blocks Helps trace which DB was open when the fault occurred.
OB Active organisation block Reads OB 20 (cold restart in progress), OB 21 (warm restart), OB 22 (hot restart), OB 1 (cyclic), OB 24/25 (errors).

5.2 Interpreting common ISTACK readings

Symptom ISTACK reading Likely cause
STOP off, RUN off, BASP on, ten minutes elapsed OB 21 active, FE 80, SA = "NOP 0" Warm restart cannot complete — system data missing.
Same as above after overall reset OB 20 active, FE 00, but OB 20 never returns Battery dead, RAM empty, no cold-restart permitted.
CPU cycles between STOP and RUN every few seconds OB 24 active, FE 22 Checksum error on EPROM/EEPROM submodule.
PG shows "CPU in RESTART, BASP on" permanently OB 21 active, no error code Process-image mismatch, missing IM/CP, or front-panel reset line stuck.

6. Memory and Battery Verification

Before launching any software recovery sequence, the physical state of the back-up battery and the memory submodule must be confirmed.

6.1 Battery check

  1. Power the CPU OFF at the chassis power switch. Wait five minutes for capacitor discharge.
  2. Open the front flap of the power supply module (PS 951 or PS 957).
  3. Measure the lithium battery voltage at the battery holder contacts using a calibrated digital multimeter.
Battery state Voltage under load (5 mA) Action
Healthy 3.40 V – 3.65 V No action.
Aged but serviceable 3.00 V – 3.40 V Schedule replacement within next outage.
End-of-life < 3.00 V or "BA" flag in PG Replace immediately; expect retentive-data loss.
Removed / missing 0 V Replace; expect cold restart required at next power-up.
Critical: If the battery has failed, the PG will normally display the message BATTERY FAULT in the status line on power-up, and the BA flag (byte 2, bit 0 of system flags in S5-135U/155U) is set. Some 928B firmware revisions suppress the warning when the CPU enters STOP within a few seconds of power-up; therefore always measure, do not trust the warning flag alone.

6.2 EPROM / EEPROM submodule check

  1. With power off, open the front flap of the CPU 928B.
  2. Remove the memory submodule carefully using the ejector lever (do not pull on the EPROM body).
  3. Inspect pins for oxidation, bending, or contamination. Clean with isopropyl alcohol if necessary.
  4. Verify the type label: 6ES5 375-0LA21 (16 KB EPROM), 6ES5 375-1LA21 (32 KB), 6ES5 375-0LC11 (EEPROM 16 KB), or equivalent for the project's size.
  5. Re-seat the submodule firmly and latch the lever.
  6. Apply power and re-read ISTACK.

7. Reset-Button Mechanical Integrity

The S5-928B front-panel reset button is a printed-circuit tactile switch that is field-replaceable on later module variants (it is soldered to the front-frame flex-PCB on earlier variants). The switch must satisfy three mechanical conditions:

  • Rest height: Plunger protrudes between 2.5 mm and 3.5 mm through the front bezel.
  • Travel: Total plunger travel at least 1.5 mm.
  • Actuation force: Approximately 2.0 N to 3.5 N (tactile click must be felt).

7.1 Verification procedure

  1. De-energise the rack. Remove the CPU from the chassis.
  2. Visually inspect the reset button assembly — the tactile switch must sit flush on its pad and the plunger must be vertical, not canted.
  3. Press the button ten times with a fingertip; each press must produce an audible click and a clean release.
  4. With an ohmmeter across the switch contacts, verify open-circuit at rest and closed-circuit (less than 50 mΩ) when pressed.
  5. If the button fails any of the above, replace the entire front-frame assembly rather than just the switch — partial repairs are a recurring source of intermittent contact faults.

Field evidence from the originating case shows that the entire incident was traced to a loose contact in the re-assembled reset button. Once the button assembly was properly seated, the CPU started and ran without further intervention.

8. Cold-Restart Execution via OB20

If ISTACK analysis indicates that OB20 is the active OB and the warm restart cannot complete (typically because of corrupted system data), an explicit cold restart must be performed.

8.1 STEP 5 cold-restart sequence from the PG

  1. Connect the PG. From the STEP 5 main menu select ONLINE > ON.
  2. Select PLC > COLD RESTART (German STEP 5: AG > KALTSTART).
  3. Confirm the prompt. The PG displays OB 20 being processed followed by OB 1 active on success.
  4. If OB 20 is not present in the user project, the system enters STOP with OB MISSING. In that case either load OB 20 from the EPROM submodule or generate it with STEP 5 utilities.

8.2 Manual cold-restart sequence using the mode selector

  1. Mode selector to STOP.
  2. Wait three seconds.
  3. Mode selector to RUN. Hold for one second.
  4. Return selector to STOP. Hold for two seconds.
  5. Mode selector to RUN again. The CPU performs a cold restart only if system data are corrupted; otherwise it performs a warm restart (OB21).

This hand-shake sequence is documented in the S5-135U/155U operator's manual and is the only field method for forcing OB20 without a PG attached.

9. Overall Reset Sequence

An overall reset (German: Gesamtlöschung) clears the work memory and reloads system data. It is performed from the STEP 5 PG via PLC > OVERALL RESET or by the equivalent keystroke RES followed by Y at the confirmation prompt.

  1. Power the chassis ON.
  2. Connect PG and go online.
  3. Issue PLC > OVERALL RESET and confirm with Y.
  4. The PG shows Reset in progress for several seconds, then Reset complete.
  5. All RAM-resident blocks (OB, PB, FB, SB, DB) are erased. EPROM/EEPROM contents are NOT touched.
  6. After reset the CPU is in STOP with empty RAM. Re-download the project from the PG.
  7. Switch to RUN; observe the LED sequence STOP → RUN.
Caution: An overall reset on a 928B does NOT clear the retentive flags (M 0.0 – M 199.7), timers (T 0 – T 255), or counters (C 0 – C 255). Those are reinitialised only on a cold restart, not on an overall reset. If the field symptom persists after an overall reset followed by a clean download, the retentive data are not the root cause and the search must move to hardware.

10. Field Recovery Workflow

The recommended end-to-end procedure combines the diagnostic and corrective steps above into a single field-tested sequence.

  1. Verify mechanical state of the reset button (Section 7). This is the cheapest fix and the most likely cause after recent mechanical service.
  2. Read ISTACK and BSTACK (Section 5) before any software action, to capture the fault snapshot.
  3. Measure battery voltage (Section 6.1). Replace if below 3.0 V.
  4. Inspect and re-seat memory submodule (Section 6.2).
  5. Perform overall reset (Section 9).
  6. Re-download the entire project from PG to RAM. Confirm checksum against project archive.
  7. Attempt normal run by switching the mode selector to RUN.
  8. If the CPU still does not enter RUN, read ISTACK again. If OB 20 is active, issue PLC > COLD RESTART from PG (Section 8.1).
  9. If OB 21 is active with a checksum error, replace the EPROM/EEPROM submodule with a freshly programmed one.
  10. If no software cause is found, swap the CPU module with a known-good spare. The original is then treated as a suspected hardware fault in the front-panel interface or in the CPU's restart state machine.

11. Verification Checklist

After every corrective step, run the following checks before declaring the CPU healthy:

Check Expected result
LED state, mode switch RUN STOP off, RUN solid green, BASP off after first scan cycle
ISTACK, OB field OB 1 active, FE 00
Battery flag (BA) Cleared after one hour of operation under load
Cyclic time, PG INFO > CYCLE Within the project's nominal scan time (±10 %)
Output module LEDs Driven by user program, BASP off
PG online update Status display polls at PLC > STATUS without timeout
Operator panel / HMI handshake Data exchange resumed, no comms alarm

A CPU that satisfies all eight checks for at least one full production shift can be returned to service.

12. Related Fault Modes

The STOP-off / RUN-off / BASP-on symptom overlaps with several adjacent fault modes. The matrix below distinguishes them for rapid field triage.

Symptom ISTACK OB Likely cause First corrective action
STOP on, RUN off CPU in user-initiated STOP Move mode switch to RUN.
STOP off, RUN off, BASP off Power supply failure or CPU not fully seated Check PS 951/957, reseat CPU.
STOP off, RUN flashing Not used on 928B — investigate firmware mismatch Compare firmware version against project archive.
STOP off, RUN on, BASP on OB 1 active User program holds BASP Inspect OB1 for SPA OB 0 / BAS logic.
STOP off, RUN off, BASP on OB 20/21 active Restart sequence not completing (this article) Read ISTACK, perform cold restart, inspect reset button.
STOP off, RUN off, BASP off, PG "not responding" Bus fault, CP/IM unplugged, address conflict Verify IM/CP addressing with STEP 5 configuration table.

13. Preventive Recommendations

  • Apply a label on the front of every 928B CPU showing the date of the last battery replacement and the expected service life (typical five years for the 3.6 V lithium cell).
  • Maintain a written project archive (printed listing, plus EPROM image) on a site-network drive so that the project can be re-burnt in under thirty minutes.
  • Train maintenance staff on the difference between overall reset (work memory only) and cold restart (work memory plus retentive data plus process-image init).
  • After every front-panel service (button replacement, bezel rework), perform a cold-restart test before re-installing the CPU in the live rack.
  • Carry a known-good spare 928B module on-site. As the source incident shows, a module swap is often faster than chasing a firmware-level fault in real production.

14. Summary

The "STOP off, RUN never on, BASP on" symptom on a Siemens S5-928B CPU almost always falls into one of three buckets: a mechanically faulty reset button, a warm-restart that cannot complete, or a cold restart that was never executed. The diagnostic sequence is straightforward — read ISTACK and BSTACK, measure the battery, inspect the memory submodule, verify the reset button mechanically, then issue an overall reset and a cold restart. The fastest path to a confirmed root cause is mechanical inspection of the reset button assembly, because that single component is responsible for both the operator interface and the CPU reset line. Once the reset button is verified, the software recovery (overall reset → re-download → cold restart) almost always resolves the issue within fifteen minutes of PG time.

What does BASP on with both STOP and RUN LEDs off mean on an S5-928B?

It means the CPU has acknowledged a mode change out of STOP but is trapped inside the RESTART state machine and has not yet reached cyclic OB1 execution. BASP holds all outputs in safe-state zero until the user program releases it. Investigate reset-button mechanical integrity, RAM battery state, and the ISTACK active OB to find the cause.

How do I force a cold restart (OB20) on an S5-928B without a programming console?

Use the mode-selector hand-shake: STOP (3 s) → RUN (1 s) → STOP (2 s) → RUN. The CPU executes OB20 only if system data are corrupted; otherwise OB21 (warm restart) runs. For a guaranteed OB20 cold restart, a PG is required and you must issue PLC > COLD RESTART from the STEP 5 menu.

What battery voltage is the end-of-life threshold for the S5-928B back-up cell?

Replace the 3.6 V lithium cell when measured voltage drops below 3.0 V under a 5 mA load. Between 3.0 V and 3.4 V the battery is ageing but still serviceable. Above 3.4 V the battery is healthy. A dead battery causes retentive data loss and forces OB20 on the next power-up.

Does an overall reset clear retentive flags, timers, and counters on the 928B?

No. An overall reset clears the work memory only (OB, PB, FB, SB, DB blocks). Retentive flags (M 0.0 – M 199.7), retentive timers (T 0 – T 127 by default), and retentive counters (C 0 – C 127 by default) are reinitialised only on a cold restart (OB20). Use a cold restart, not an overall reset, when retentive data must be cleared.

Why does my spare CPU run correctly with the same EPROM but the original does not?

The EPROM/EEPROM submodule carries only the program code and configuration; the volatile system data areas, the restart flags, and the ISTACK/BSTACK pointers live in RAM backed up by the battery. If the original CPU's battery was removed or failed, its system data are empty or corrupted, so the same project image will not boot. Re-burning the EPROM does not help; you must also perform a cold restart to reinitialise the RAM-resident system data.

Back to blog