Skip to content
Industrial Error Code Fixes
Go back

Siemens S7-300/400 CPU Fault Code Guide

⚡ Quick Answer

Siemens S7-300 and S7-400 PLC fault codes explained. Learn how to diagnose STOP mode, hardware errors, and diagnostic buffer entries using STEP 7 and TIA Portal.

Siemens S7-300 / S7-400 CPU Fault Codes

Siemens S7-300 and S7-400 PLCs indicate faults through front-panel LEDs, the diagnostic buffer (accessible via STEP 7 or TIA Portal), and OB (Organization Block) calls in the user program. Understanding these layers is key to fast diagnosis.

Front Panel LED Status

LEDStateMeaning
RUNGreen solidCPU executing program
STOPYellow solidCPU stopped (no fault)
STOPYellow blinkingCPU in STOP due to fault
SFRed solidSystem/group fault
BFRed solidBus fault (PROFIBUS/DP)
DC5VGreen solid5V internal supply OK
FRCEYellowForce mode active
MAINTYellowMaintenance required

SF + STOP blinking together = hardware or software fault — read the diagnostic buffer immediately.

Reading the Diagnostic Buffer

The diagnostic buffer stores the last 100 events including all faults. Access via:

STEP 7 (Classic):

  1. Open SIMATIC Manager
  2. Right-click CPU → Module Information
  3. Select Diagnostic Buffer tab
  4. Read fault events in chronological order (most recent at top)

TIA Portal:

  1. Open project, go online
  2. CPU → Diagnostics → Diagnostic Buffer
  3. Double-click any event for detailed description

Common S7 CPU Fault Events

Event CodeDescriptionCause
16#A502Startup completeNormal — CPU went from STOP to RUN
16#A503STOP mode enteredManual STOP or fault
16#253AOB not loaded — CPU stopsMissing OB (e.g., OB82 or OB86 not present)
16#2521I/O access errorModule missing or failed at accessed address
16#2522I/O write errorOutput module fault
16#2526Timeout on I/O accessModule not responding
16#A29FConfiguration errorHardware config doesn’t match physical racks
16#4500Rack failureModule in rack not communicating
16#4B00PROFIBUS DP station failureRemote DP device went offline
16#CAFECPU memory card errorRemove and reinstall memory card

OB (Organization Block) Error Handling

The S7 calls specific OBs when faults occur. If the OB is not loaded in the CPU, the CPU goes to STOP mode instead of handling the fault gracefully.

OBTriggerCommon Requirement
OB80Cycle time fault (watchdog)Needed if cycle time can be exceeded
OB81Power supply faultNeeded for redundant power supply systems
OB82Diagnostic interruptNeeded for intelligent I/O modules with diagnostics
OB83Insert/remove moduleNeeded for hot-plug capable systems
OB84CPU hardware faultRare, needed for fault-tolerant systems
OB85Program sequence faultLoad OB to prevent CPU stop on error
OB86Loss of rack / DP stationMost commonly missing — add empty OB86
OB122I/O access errorLoad to prevent stop on missing I/O

Fastest fix for “OB not loaded” stops: Create an empty OB with the required number and download it to the CPU.

PROFIBUS DP Fault (BF LED)

The BF LED indicates a PROFIBUS bus fault. Common causes:

Diagnostic: Read the diagnostic buffer for event 16#4B00 — it includes the DP address of the failed station.

I/O Access Error (16#2521)

The CPU tried to read or write an I/O address that doesn’t exist or belongs to a failed module.

Fix:

  1. Check the physical hardware at the failing slot number (diagnostic buffer includes slot/address)
  2. Remove and reseat the module
  3. Verify the STEP 7 hardware configuration matches physical rack layout
  4. If module is failed, replace it

Watchdog / Cycle Time Fault (OB80)

Default cycle time on S7-300: 150 ms. S7-400: 6000 ms. If exceeded, OB80 is called. If OB80 is missing, CPU stops.

Fix:

  1. Load an empty or logging OB80
  2. Increase maximum cycle time in CPU properties (right-click CPU → Object Properties → Cycle/Clock Memory)
  3. Optimize scan-heavy loops — avoid large FOR loops in OB1

S7-400H (Redundant) Specific Faults

S7-400H fault events include redundancy state changes:

These are not always errors — some are expected during updates or hardware changes. Check if the switchover was planned.


Share this post on:

Previous Post
Siemens 840D Alarm 380000 — Causes & Fix
Next Post
State Water Heater Error Codes — Complete Guide