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
| LED | State | Meaning |
|---|---|---|
| RUN | Green solid | CPU executing program |
| STOP | Yellow solid | CPU stopped (no fault) |
| STOP | Yellow blinking | CPU in STOP due to fault |
| SF | Red solid | System/group fault |
| BF | Red solid | Bus fault (PROFIBUS/DP) |
| DC5V | Green solid | 5V internal supply OK |
| FRCE | Yellow | Force mode active |
| MAINT | Yellow | Maintenance 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):
- Open SIMATIC Manager
- Right-click CPU → Module Information
- Select Diagnostic Buffer tab
- Read fault events in chronological order (most recent at top)
TIA Portal:
- Open project, go online
- CPU → Diagnostics → Diagnostic Buffer
- Double-click any event for detailed description
Common S7 CPU Fault Events
| Event Code | Description | Cause |
|---|---|---|
| 16#A502 | Startup complete | Normal — CPU went from STOP to RUN |
| 16#A503 | STOP mode entered | Manual STOP or fault |
| 16#253A | OB not loaded — CPU stops | Missing OB (e.g., OB82 or OB86 not present) |
| 16#2521 | I/O access error | Module missing or failed at accessed address |
| 16#2522 | I/O write error | Output module fault |
| 16#2526 | Timeout on I/O access | Module not responding |
| 16#A29F | Configuration error | Hardware config doesn’t match physical racks |
| 16#4500 | Rack failure | Module in rack not communicating |
| 16#4B00 | PROFIBUS DP station failure | Remote DP device went offline |
| 16#CAFE | CPU memory card error | Remove 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.
| OB | Trigger | Common Requirement |
|---|---|---|
| OB80 | Cycle time fault (watchdog) | Needed if cycle time can be exceeded |
| OB81 | Power supply fault | Needed for redundant power supply systems |
| OB82 | Diagnostic interrupt | Needed for intelligent I/O modules with diagnostics |
| OB83 | Insert/remove module | Needed for hot-plug capable systems |
| OB84 | CPU hardware fault | Rare, needed for fault-tolerant systems |
| OB85 | Program sequence fault | Load OB to prevent CPU stop on error |
| OB86 | Loss of rack / DP station | Most commonly missing — add empty OB86 |
| OB122 | I/O access error | Load 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:
- DP slave device powered off or disconnected
- Termination resistors missing at both ends of the DP bus
- Cable damaged or shielding broken
- Address conflict between DP slaves
- PROFIBUS speed mismatch (configured vs. actual)
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:
- Check the physical hardware at the failing slot number (diagnostic buffer includes slot/address)
- Remove and reseat the module
- Verify the STEP 7 hardware configuration matches physical rack layout
- 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:
- Load an empty or logging OB80
- Increase maximum cycle time in CPU properties (right-click CPU → Object Properties → Cycle/Clock Memory)
- Optimize scan-heavy loops — avoid large FOR loops in OB1
S7-400H (Redundant) Specific Faults
S7-400H fault events include redundancy state changes:
16#673E— Master/standby switchover16#6733— H system partially degraded
These are not always errors — some are expected during updates or hardware changes. Check if the switchover was planned.