Siemens S7-300 SF LED error diagnosis step by step fix — PLC Diagnostics

Siemens S7-300 SF LED Error: Read the Diagnostic Buffer Before Touching Anything Else

User avatar placeholder
Written by nbq0q

June 17, 2026

Siemens S7-300 SF LED error diagnosis step by step fix — PLC Diagnostics

Read the diagnostic buffer before touching anything else. The SF (System Fault) LED on a Siemens S7-300 CPU is not a fault code — it is a binary indicator that one or more entries exist in the CPU’s diagnostic buffer that describe one or more active fault conditions. The LED alone tells you nothing about whether the fault is a failed I/O module, a PROFIBUS communication error, a programming error, an overtemperature condition, or a battery voltage warning. Every S7-300 CPU since the 315-2DP has a diagnostic buffer with up to 100 event entries, and the most recent entry is the fault that caused the SF LED to activate. This guide covers the complete SF LED diagnostic sequence using STEP 7 SIMATIC Manager, including how to interpret the buffer event codes, which OBs handle which fault types, and how to distinguish faults that require physical action from faults that can be resolved in software.



What the SF LED Indicates: System-Wide and Module-Specific Faults

The SF LED on the S7-300 CPU front panel has two distinct behavioral modes:

CPU-level SF (solid red): the CPU itself or one of the centrally attached system components (memory card, battery, PROFIBUS DP master interface) has a fault. The CPU may or may not continue running in RUN mode depending on the fault severity.

I/O module SF (flashing red): an expansion module in the S7-300 rack has generated a diagnostic interrupt. The CPU activates the SF LED and calls OB82 (Diagnostic Interrupt OB) if programmed.

Additionally, some S7-300 CPUs have a separate green RUN LED and a separate red STOP LED. The LED combination indicates the CPU operating state:

CPU State RUN LED STOP LED SF LED
Normal RUN Solid green Off Off
RUN with non-critical fault Solid green Off Solid red
STOP mode Off Solid red Variable
Startup (STARTUP) Flashing green Solid red Variable
DEFECT mode Flashing green Flashing red Solid red

When the SF LED is active but the RUN LED is also solid green, the CPU is running and the fault is non-critical — a module diagnostic or PROFIBUS station warning. When the SF LED is active and the CPU is in STOP, the fault severity forced a CPU stop.


SF LED Root Cause Decision Tree

Before opening any software, the LED combination on the CPU faceplate already narrows the cause to one of two branches. Use this tree to go directly to the right diagnostic buffer event class instead of scrolling through 100 buffer entries:

SF LED is ON
│
├─ Is RUN LED also solid green? (CPU still scanning, no STOP)
│  │
│  ├─ YES → non-critical fault, CPU operational
│  │   │
│  │   ├─ Is BATF LED also active?
│  │   │  YES → Battery fault, event class B#16#2F01 → replace CPU battery (see BATF section)
│  │   │
│  │   ├─ Additional Info field shows a DP/PROFIBUS address?
│  │   │  YES → DP station failure, event class B#16#2522 → restore PROFIBUS comm (see PROFIBUS section)
│  │   │
│  │   ├─ Additional Info field shows a rack/slot number (no DP address)?
│  │   │  YES → I/O module diagnostic interrupt, event class B#16#39xx → read Module Information for that slot
│  │   │
│  │   └─ Event class is B#16#2F11?
│  │      YES → overtemperature warning → improve panel ventilation
│  │
│  └─ NO → STOP LED is also on, CPU has stopped
│      │
│      ├─ Buffer shows "OB not found" with an OB number (80/82/83/84/85/86)?
│      │  YES → missing OB → add the OB (even empty, with one NOP) to prevent future STOP
│      │
│      ├─ Buffer shows B#16#36 with OB number = 80?
│      │  YES → cycle time exceeded twice, OB80 not programmed → program OB80 or extend watchdog
│      │
│      ├─ Buffer shows B#16#35 with a block/routine name in Additional Info?
│      │  YES → SFC46 (STOP instruction) called inside user program → locate and correct that block
│      │
│      └─ All four LEDs (RUN, STOP, SF, BATF) are flashing simultaneously?
│         YES → DEFECT mode hardware failure, not a buffer-readable fault → see DEFECT mode recovery guide

Each branch below documents the verification step, the exact buffer signature, and the fix in detail.


How to Read the S7-300 Diagnostic Buffer: STEP 7 Classic vs TIA Portal

S7-300 CPUs can be diagnosed from two different engineering environments, and the navigation path — and what each one shows — is not identical.

STEP 7 Classic (SIMATIC Manager, V5.x): the native environment for the S7-300 family. Every S7-300 CPU ever produced is supported, including the oldest 312/313 hardware that has no TIA Portal support at all.

STEP 7 SIMATIC Manager → 
PLC menu → Diagnostics/Setting → Module Information → 
CPU → Diagnostic Buffer tab

Alternative path (direct):

STEP 7 → 
Hardware Configuration (HW Config) → 
Online → Module Information → Diagnostic Buffer

TIA Portal (V13 SP1 and later, via the S7-300/400 hardware support package): TIA Portal can monitor S7-300 CPUs that were originally configured in STEP 7 Classic, but only CPUs from roughly the 315-2DP/317-2DP generation onward with a firmware version supported by the installed HSP — early 312/313 CPUs and CPUs with firmware below the HSP’s minimum are not selectable in TIA Portal’s hardware catalog and must stay on STEP 7 Classic.

TIA Portal → 
Online & Diagnostics (right-click the CPU in the project tree, or Online tools) → 
Diagnostics → Diagnostics buffer

Practical difference that matters during a fault: STEP 7 Classic’s Diagnostic Buffer tab shows all entries in a single flat list with a text filter box. TIA Portal’s Diagnostics buffer view groups entries by category and lets you filter by event class directly from a dropdown, which is faster when the buffer is near its 100-entry limit and the SF-triggering event is buried among routine power-cycle and download entries. If the CPU is one of the older units not supported in TIA Portal’s HSP, this filtering convenience is not available — STEP 7 Classic’s plain list is the only option, and the Additional Info column must be read entry-by-entry against the event code table below.

What the diagnostic buffer shows:Event Number: sequential entry number (1 = most recent) – Date/Time: timestamp of the event (requires time-of-day battery in the CPU for accurate timestamps) – Event Class: the category of the event (see Event Codes section below) – Event Type: incoming (fault active) or outgoing (fault cleared) – Additional Info: fault-specific detail (address of affected module, specific error sub-code, etc.)

Read the most recent Incoming entry (the newest event with no corresponding Outgoing entry). This is the active fault causing the SF LED.


Interpreting S7-300 Diagnostic Buffer Event Codes

S7-300 diagnostic buffer event codes use the format B#16#XX where XX is the event class byte:

Event Class Hex Code Category SF LED Impact
Power-up complete B#16#4A Informational No SF
STOP due to programming error B#16#35 Program error → STOP Yes, with STOP
STOP due to hardware fault B#16#36 Hardware → STOP Yes, with STOP
I/O access error B#16#2521 I/O fault (non-stopping) Yes, CPU runs
DP station failure B#16#2522 PROFIBUS fault Yes, CPU may run
Module diagnostic interrupt B#16#39xx Module internal fault Yes, CPU runs
Battery voltage failure B#16#2F01 Battery warning Yes, CPU runs
Overtemperature warning B#16#2F11 Temperature warning Yes, CPU may stop
Cycle time exceeded (OB80) B#16#35 sub-event OB80 not programmed STOP Yes, STOP

The complete event code reference with all sub-codes is documented in Siemens STEP 7 Error Code Reference Document 770453.


Common SF LED Causes with Event Code and Fix

Cause Buffer Event Class Additional Info Content Fix
PROFIBUS DP station failure B#16#2522 Station address and DP master address Restore PROFIBUS communication (cable, address, GSD)
I/O module diagnostic fault B#16#39xx Slot number of affected module Read module-specific diagnostic via Module Info
Battery fault (BATF LED active) B#16#2F01 Replace CPU battery
Cycle time exceeded once (OB80 called) B#16#35 OB number = 80 Check cycle load; ensure OB80 is programmed
Cycle time exceeded twice (CPU STOP) B#16#36 OB number = 80 Same as above; CPU requires restart
Overtemperature B#16#2F11 Improve panel ventilation; check cooling
Memory card error B#16#36 Re-seat memory card (MMC); replace if repeated
STOP triggered by SFC46 (STOP instruction in program) B#16#35 Routine/block name Locate and correct SFC46 call in user program

Organization Blocks That Handle SF Conditions

The S7-300 CPU calls specific OBs in response to different fault conditions. If the OB is not present in the CPU’s user program, the CPU goes to STOP instead of calling the OB — which is why missing OBs are a common cause of SF-LED + STOP.

OB Fault Condition CPU Behavior if OB Missing
OB80 Cycle time exceeded (1st occurrence) → STOP
OB81 Power supply fault or battery low Does not go to STOP — no OB required
OB82 I/O module diagnostic interrupt → STOP
OB83 I/O module insert/remove event → STOP
OB84 CPU hardware fault → STOP
OB85 Programmed cycle error / priority error → STOP
OB86 PROFIBUS DP station failure → STOP
OB87 Communication error Does not force STOP in all cases

If the SF LED is active and the CPU is in STOP with a “missing OB” entry in the diagnostic buffer, adding the appropriate OB (even an empty OB with a NOP instruction) will prevent the STOP while allowing the program to continue without custom fault handling.

For the S7-1200 and S7-1500 OB architecture (OB80 behavior differences between firmware versions), see Siemens Ob80 Cycle Time Exceeded S7-1200 S7-1500 Fix. For the complete S7-1200 event class reference that provides context for understanding the S7-300 event code system, see Siemens S7-1200 Error Codes Complete List.


SF LED Caused by BATF Battery Fault

The S7-300 CPU has a dedicated BATF (Battery Fault) LED that activates when the backup battery voltage drops below the minimum threshold. The BATF condition also activates the SF LED.

Diagnostic buffer identification: event class B#16#2F01 with event type “Incoming” indicates the battery fault became active.

Impact: the battery maintains CPU RAM contents during power-off (retain data, program if not using an MMC). A discharged battery does not prevent the CPU from running — the CPU operates normally on mains power, but retain data is lost if the mains power fails.

Fix: replace the CPU battery (CR2032 coin cell for most S7-300 CPUs) while the CPU is powered on — this prevents loss of RAM content. Power-off battery replacement causes RAM loss on CPUs without a memory card.

For the complete S7-300 battery fault replacement procedure, see Siemens S7-300 Batf Battery Fault Replacement Procedure.



SF LED Caused by PROFIBUS Station Failure

A PROFIBUS DP station failure (a slave device not responding to the master) activates the SF LED and calls OB86 if programmed. In STEP 7, the diagnostic buffer shows event class B#16#2522 with the additional info field identifying the slave’s DP address.

Complete PROFIBUS DP slave not responding diagnostic: see Siemens S7 Profibus Dp Slave Not Responding No Communication Fix.


SF LED Caused by I/O Module Fault

An S7-300 expansion module (DI, DO, AI, AO, CP) that generates a diagnostic interrupt activates the SF LED and calls OB82. The diagnostic buffer entry class B#16#39xx identifies the module’s rack and slot.

Reading module-specific diagnostic in STEP 7:

STEP 7 → PLC → Diagnostics/Setting → Module Information → 
Browse to the module's address in the rack view → 
Module Information → General / Diagnostic

The module information shows the specific internal fault (input short-circuit, analog channel over-range, wire break on analog input, output overload, etc.).

Common SM (Signal Module) faults and fixes:

Module Type Common Fault SF Indicator Fix
SM 321 DI Input power supply missing SF on module faceplate Restore 24VDC field power
SM 322 DO Output short-circuit or overload SF on module faceplate Remove short, check load
SM 331 AI Channel signal out of range SF on module if configured Verify sensor signal range vs module range
SM 332 AO Wire break on voltage output (no load) SF on module Connect load or disable wire break monitoring

Technical Validation

S7-300 diagnostic buffer event code reference and SF LED fault classification from the Siemens STEP 7 Error Code Reference Document 770453. Siemens S7-300 error code reference for OPC alarm and SCADA integration from Honeywell Process Solutions Siemens S7 PLC Error Codes reference. Industrial S7-300 maintenance and PLC training from Penn State Berks PLC Industry Certificate Program.


Frequently Asked Questions

The S7-300 SF LED is on but the STEP 7 diagnostic buffer is empty. How is it possible to have an SF LED with no buffer entry?

An SF LED with no diagnostic buffer entry typically means the fault is a hardware-level condition that does not generate a software event: a failed output module that shows an SF LED on its own faceplate (not the CPU faceplate), an improperly seated module that generates a physical bus error before the software layer can record it, or a failed battery that the CPU detected before completing its initialization. In STEP 7, use HW Config → Online → Module information → browse each module individually to check for module-level faults that may not propagate to the CPU diagnostic buffer. The module’s own SF LED on its faceplate is the indicator to look for.

After fixing the PROFIBUS fault that caused the SF LED, the buffer still shows the fault as “Incoming” with no “Outgoing” entry. Is the fault still active?

Yes, if there is no Outgoing event for a fault, the fault is still active from the CPU’s perspective. After restoring PROFIBUS communication, an Outgoing event for the station failure is automatically written to the buffer within one DP bus cycle. If the Outgoing event does not appear after the physical fix is made, the PROFIBUS communication has not actually been restored — the station is still not responding to the master. Verify using the “Accessible Nodes” view in STEP 7 to confirm the slave is now visible on the PROFIBUS network.

Is it safe to operate an S7-300 CPU in RUN mode with the SF LED active indefinitely?

It depends entirely on the fault type. For non-critical faults (BATF battery warning, a single I/O module analog channel over-range with OB82 programmed), indefinite RUN operation is technically possible but creates risk: the program may be making decisions based on incorrect I/O data from the faulted module, and an unfixed battery fault means retain data is at risk during mains loss. For PROFIBUS station faults where the SF LED is caused by a missing slave, the process controlled by that slave’s I/O is not receiving correct commands. Fix the root cause promptly — SF LED is never a condition to ignore in a production environment.


Marcus Webb — Industrial Automation Engineer, PLC Systems Specialist
More about the author →
Image placeholder

Lorem ipsum amet elit morbi dolor tortor. Vivamus eget mollis nostra ullam corper. Pharetra torquent auctor metus felis nibh velit. Natoque tellus semper taciti nostra. Semper pharetra montes habitant congue integer magnis.