Siemens S7-300 SF and BF Fault: STEP 7 Diagnostic Buffer Guide

David Krause16 min read
S7-300SiemensTroubleshooting
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

The red SF (System Fault) and BF (Bus Fault) LEDs on a Siemens SIMATIC S7-300 CPU are the first and most important indicators of a controller-level problem. SF is lit whenever the operating system detects an internal error, a module diagnostic event, or an I/O access violation that the user program has not masked. BF is lit whenever the CPU's PROFIBUS DP master/sub-network cannot exchange telegrams with one or more distributed stations, when the bus cable is shorted or broken, when a connector drops out, or when a configured slave fails to respond. Both LEDs can be lit simultaneously, which usually points to a combined hardware + network event (for example, a failed ET 200M station carrying the very I/O the CPU was trying to read). This guide is written as a field reference for commissioning engineers and maintenance technicians: it consolidates LED truth tables, the STEP 7 diagnostic buffer workflow, the diagnostic OB family, the most common event IDs, and a deterministic isolation procedure that works on a stopped CPU with the programming cable still attached.

1. S7-300 Front-Panel LED Truth Table

The status LEDs are arranged in two groups on the CPU door. The CPU-specific group (SF, BF, BF1/BF2/BF3 where present, FRCE, RUN, STOP, Maint, DC5V) reports the controller state; the same physical SF/BF LEDs are also re-used on interface modules (IM) and PROFIBUS DP master modules (CP 342-5, IM 308-C) but with slave-side semantics. Use the table below to interpret what the CPU is telling you before opening STEP 7.

LED Color Meaning First Action
SF Red Group fault: hardware fault, firmware error, I/O access error, OB not loaded, diagnostic interrupt from a module Open the diagnostic buffer in STEP 7
BF Red PROFIBUS DP bus fault on the integrated DP interface Check DP cable, connector, terminator, slave list
BF1 / BF2 / BF3 Red Bus fault on the corresponding DP/PN interface (CPU 319, CPU 317 with CPs) Read CP diagnostics in STEP 7 HW Config
FRCE Yellow Force function active on at least one signal Disable force table in STEP 7
RUN Green CPU executing user program in RUN —
STOP Yellow CPU halted, no program execution, possible cause via diagnostic buffer Read diagnostic buffer to identify STOP cause
Maint Yellow Maintenance demanded (e.g., battery low, fan, memory card warning) Open CPU > Module Information > Maintenance
DC5V Green Internal 5 V supply OK —
Important: A lit SF LED on a CPU 31x-2 DP/PN does not necessarily mean a CPU hardware failure. Roughly 80% of SF events in service are caused by missing or unloaded diagnostic OBs (OB 82, OB 85, OB 86, OB 87, OB 121, OB 122) when a distributed I/O module raises a diagnostic interrupt that the operating system cannot deliver.

2. SF (System Fault): Underlying Conditions

The SF LED is a logical OR of every fault the CPU operating system considers a "group error". When you see SF you can be sure that at least one event has been written to the diagnostic buffer with an event class of "CPU / system error" or "diagnostic interrupt". The most common underlying conditions are:

  • Missing diagnostic OB: A module raised a diagnostic interrupt but OB 82 is not loaded. The CPU cannot pass the interrupt to the user program, so it raises SF instead.
  • I/O access error (OB 122): The user program read or wrote a process image word of a faulty or failed slave. Example: reading IW 512 of an ET 200S station that has just dropped off PROFIBUS.
  • Priority class error (OB 85): An OB was called that the system could not find, or an OB update was lost because a higher-priority OB was already running.
  • Rack / station failure (OB 86): A DP slave or a station on the central rack became unavailable. The OS writes "Station failure" / "Station return" events into the buffer.
  • Module diagnostic interrupt (OB 82): A digital input card, analog input card, or function module has signalled an internal diagnostic event (wire break on AI, short circuit on DO, channel error, encoder error, etc.).
  • Programming error (OB 121): An illegal operation in the user program (DB not loaded, indirect addressing error, range violation, BCD conversion error, division by zero, etc.).
  • Communication error (OB 87): A global data communication error or an S7 communication failure.
  • Insert/remove interrupt (OB 83 / OB 84): Hot-swap event for modules in ET 200S / ET 200pro or a CPU / IM hot-swap.

3. BF (Bus Fault): PROFIBUS and PN Conditions

BF is driven entirely by the DP master state machine inside the CPU or CP. It becomes active when the master has detected that:

  1. One or more configured DP slaves are not responding to the master's poll within the configured watchdog time (TWD). Default TWD = 650 ms × slot-time index, but the typical engineering value is 1000 ms.
  2. The bus cable is shorted or open (A and B wires bridged or one wire broken). Symptoms: the entire DP segment loses communication; repeater LEDs show segment error.
  3. At least one DP connector has lost its terminating resistor (or two terminators are switched ON, producing a reflection). Use the off-ON switch on the Siemens PROFIBUS connector (e.g., 6ES7972-0BA12-0XA0) to leave termination ON only at the two physical ends of the segment.
  4. The bus baud rate on a node does not match the master. Default for S7-300 DP master: 1.5 Mbit/s auto-detect; verify with a PROFIBUS tester (e.g., Softing PROFIusb or Siemens BT 200).
  5. The slave's PROFIBUS address has been changed in hardware but not in HW Config (or vice versa). The master polls the configured address and receives no reply.
  6. The slave has lost its 24 V supply or its DP interface is damaged.
  7. Fibre-optic converters (OLM, OBT) have dirty connectors, broken fibres, or have lost their 24 V supply. The field report referenced at the start of this article describes exactly this scenario: the SF and BF cleared after the operator replaced damaged optical fibres between an OLM and an ET 200 station.

For a CPU 31x-2 PN/DP, BF refers to the integrated DP interface. PN (PROFINET) communication problems are reported as "Link down" / "Port error" inside HW Config under the PN interface, not as BF. The PN cable, switch port, or PROFINET device must be inspected independently.

4. Diagnostic Buffer Workflow in STEP 7

The diagnostic buffer is a ring buffer in the MMC/Flash card (or in RAM for older CPU 31x without MMC). It holds the last 100–500 events with a timestamp of resolution 1 ms. Every STOP transition, every OB call, every diagnostic interrupt, and every station failure is recorded. This is the single most useful tool you have when SF or BF is lit.

4.1 Open the buffer

  1. Connect the PC to the CPU's MPI/DP port using a PC adapter (USB / serial) or directly to the PN port of a CPU 31x-2 PN/DP.
  2. In SIMATIC Manager select PLC > Diagnostics/Setting > Module Information (or press Ctrl+D on the selected CPU in the project).
  3. Click the Diagnostic Buffer tab. The newest event is on top.

4.2 Interpret the buffer entries

Each row contains the time, the event ID, and a short description. Double-click any row to see the detailed event, which often includes the slot number, the PROFIBUS address, the affected OB number, and the module order number (MLFB / order number). Common event IDs you will see during SF/BF conditions are listed in Section 8.

4.3 Save the buffer

  1. Click Save As in the diagnostic buffer window.
  2. Export as a plain text file (UTF-8) so the entries can be searched with grep, Notepad++, or any text editor. Each entry exports as one block separated by a row of dashes.
  3. Keep this text file in the machine's documentation folder. It is the authoritative snapshot of the fault and is accepted as evidence during warranty and service ticket handling.
Tip: Always read the last three to five entries from the top. The actual root cause is almost always the most recent error. The older "Mode transition from RUN to STOP" or "Warm restart" entries above it are just the system announcing the consequence, not the cause.

5. Diagnostic Organization Blocks (OBs) You Should Always Load

An OB is a routine the CPU calls when a specific condition occurs. If the OB is not in the user program, the CPU defaults to STOP on a serious error or to "ignore" on a recoverable event, but in both cases the SF LED is lit. Loading the following OBs as empty stubs is the standard field practice to convert a hard fault into a logged fault:

OB Name Triggered by If missing
OB 1 Main cyclic Always —
OB 82 Diagnostic interrupt Module reports a diagnostic event SF, sometimes STOP
OB 83 Insert/remove interrupt Module pulled or inserted in ET 200S / ET 200pro SF
OB 84 CPU redundancy error H-system only —
OB 85 Priority class error OB call to a non-existent OB, or I/O update error SF, sometimes STOP
OB 86 Rack failure DP slave / PN device failure or return SF, sometimes STOP
OB 87 Communication error GD comms, S7 comms failure SF
OB 100 Warm restart Power on with mode selector in RUN —
OB 102 Cold restart Power on, cold-restart mode —
OB 121 Programming error Illegal operation in OB 1 SF, STOP on default reaction
OB 122 I/O access error Read/write to failed I/O SF, STOP on default reaction
OB 123 Special error (CPU 319) CPU 319 only —

5.1 Minimal "logging only" stubs

The fastest way to keep the CPU in RUN while you diagnose is to load the OBs as empty blocks. In STL the stub is simply BE (block end). In FBD it is an empty segment. In SCL the stub is BEGIN END_FUNCTION_BLOCK; with no statements. Once loaded, the diagnostic event is still written to the diagnostic buffer (you can see it), but the CPU stays in RUN.

6. PROFIBUS DP Network Diagnostics

6.1 Topology and termination

A PROFIBUS segment is a single linear RS-485 bus. Termination is required at exactly two points — the physical ends. The Siemens PROFIBUS connector has a switch labelled "ON / OFF" next to the outgoing cable port. Termination is active when the switch is ON and the outgoing port is not used. A common field error is leaving the switch ON at a middle node; the result is a reflection that breaks all DP communication and lights BF on the master.

6.2 Cable specification

  • Cable type: PROFIBUS cable (Siemens 6XV1830-0EH10, purple sheath) — characteristic impedance 150 Ω, 24 AWG, 11.5 mm outer diameter.
  • Max segment length at 1.5 Mbit/s: 200 m. At 500 kbit/s: 400 m. At 187.5 kbit/s: 1000 m. Refer to the PROFIBUS DP planning guide for full tables.
  • Shield must be bonded to the grounding bar at every cabinet entry, not just at the connector.

6.3 Repeater and diagnostic repeater

A standard repeater (e.g., 6ES7972-0AA01-0XA0) regenerates the signal and electrically isolates segments. The diagnostic repeater (6ES7972-0AB01-0XA0) adds per-segment diagnostics: it detects the distance to a cable break, the distance to a short, and the number of reflections on each segment. This is the most cost-effective way to find a broken cable in a long PROFIBUS run without pulling cable.

7. Distributed I/O (ET 200) Fault Isolation

For a PROFIBUS DP master CPU 31x-2 DP, every station in HW Config is a potential BF source. The diagnostic buffer entry for a station failure includes the DP address of the slave. Walk through the following procedure per failed address:

  1. Go to the cabinet of the affected station. Check the 24 V supply at the power module (PM) and the DP connector LEDs.
  2. Look at the SF LED on the IM (interface module) of the ET 200. If SF is lit, the IM has a diagnostic event. Read it with STEP 7 via PROFIBUS-DP: PLC > Module Information on the IM, not the CPU.
  3. Look at the BF LED on the IM. If BF is lit but the master sees the station, the IM has lost the downstream module or its DP cable is broken at the input side.
  4. For ET 200M: the active backplane bus means a single failed module is enough to stop the whole station. Disconnect modules one at a time to find the offender. Power-cycle the IM after each change so the new configuration is re-evaluated.
  5. For ET 200S: each module has its own channel-level diagnostics. The I/O module LEDs (channel error red) point at the failed channel. Replacing only that module is usually enough.
  6. For ET 200pro: confirm the terminating module (e.g., 6ES7194-4JA00-0AA0) is fitted. Without it, the backplane bus terminator is missing and the IM signals an internal error.

8. Common Event IDs You Will See in the Buffer

Event ID (hex) Meaning Common cause
2521 CPU STOP because OB not loaded OB 82, 85, 86, 87, 121, 122 missing
2522 Priority class error OB was called but not found in the S7 program
2540 Diagnostic interrupt from a module Wire break, encoder error, channel error
3581 Station failure on DP Cable break, slave powered off, slave address mismatch
3582 Station return on DP Slave back online, PROFIBUS recovered
39xx I/O access error OB 122 trigger, process image word of a failed slave
4915 Mode transition STOP → RUN Informational
4301 Module inserted (ET 200S) OB 83 trigger
4302 Module removed (ET 200S) OB 83 trigger
8300 Memory card removed/inserted Informational

For the full list, see the "S7-300 CPU 31x/31xC, Operating Instructions" and the online event ID reference in the Siemens Industry Online Support portal at support.industry.siemens.com.

9. Step-by-Step Troubleshooting Procedure

9.1 Before opening STEP 7

  1. Note the CPU's STOP / RUN / Maint LED state. If the CPU is in STOP, read which state forced it there: turn the mode selector to STOP, then back to RUN-P, and re-read the diagnostic buffer. The "STOP cause" is always the top entry.
  2. Walk to the cabinet. Count how many slaves are present and how many have their BF LED lit. One or two are normal failure sources; an entire segment losing communication at once points to the cable, terminators, or repeater power.
  3. Touch the connectors. Loose connectors are the single largest source of BF events in service. Each connector should click audibly and have a pull-out resistance of >30 N.

9.2 In STEP 7

  1. Go online with the CPU. Use Accessible Nodes in SIMATIC Manager if the project is missing or misaligned.
  2. Open the diagnostic buffer. Read the top five events.
  3. Identify the OB that is referenced. If the OB is not in the program, add the stub and download the hardware configuration.
  4. Identify the slot or DP address. Drill into the affected module's Module Information to read its own diagnostic buffer.
  5. Take corrective physical action: replace the cable, replace the module, replace the fuse, refit the terminator, replace the fibre, etc.
  6. Cycle power on the slave (not on the CPU) so the master sees a fresh station-return event.
  7. Verify that BF is off, SF is off, the CPU is in RUN, and a new "Station return" entry has been written to the diagnostic buffer.

9.3 If SF and BF stay on after power-cycle

  1. Pull the DP connector of the master CPU and check whether SF stays lit. If SF goes off, the problem is on the network. If SF stays on, the problem is in the local rack (CPU, IM, central I/O).
  2. For the local rack, disconnect central I/O one row at a time. A failed central I/O module that the user program tries to read will raise OB 85/OB 122 and keep SF on.
  3. For the network, isolate the segment by switching off repeater power. If BF clears, the problem is downstream. If BF stays on, the problem is on the master side of the repeater.

10. Verification and Return to Service

After corrective action, the system is ready to be returned to the line only when all of the following checks pass:

  • CPU is in RUN (green RUN LED solid, yellow STOP LED off).
  • SF and BF LEDs on the CPU are off.
  • All ET 200 / DP slave modules show green "ready" LEDs with no red channel or station errors.
  • Diagnostic buffer contains a "Station return" event for the previously failed slave and no new error events for ≥5 minutes of normal operation.
  • Force table is empty and FRCE LED is off.
  • If the cause was a missing OB, the OB stub has been replaced by a production-grade error handler that writes the error code to a status DB before the system is returned to automatic.

11. Preventive Measures

  • Load all standard OBs as stubs at commissioning. This converts hard stops into logged events and reduces mean time to repair dramatically.
  • Apply connector strain relief. DP cables that hang on the connector place torsion on the PCB and eventually break the bus.
  • Inspect terminator switches at every scheduled maintenance round. Use a torque-limited screwdriver to fix the rotary switches so they cannot move during shipment.
  • Use a diagnostic repeater on long segments to record cable-health events without additional tooling.
  • Log diagnostic buffer exports to a network share once per shift on critical lines. A rising rate of "Station failure" events is an early warning of cable degradation or connector wear.
  • Keep a known-good MMC with the project image on the cabinet. If the MMC ever fails, a swap-and-go is faster than an online download.

What does a red SF LED on a Siemens S7-300 CPU mean?

The SF (System Fault) LED indicates a CPU-level group error: a hardware fault, a firmware error, an I/O access error, or a diagnostic interrupt from a module. Read the STEP 7 diagnostic buffer (PLC > Module Information > Diagnostic Buffer) for the underlying event and the OB that was triggered.

What does a red BF LED on an S7-300 CPU mean?

The BF (Bus Fault) LED indicates a PROFIBUS DP fault on the CPU's integrated DP interface. The most common causes are a broken DP cable, a loose connector, an incorrectly set terminator, a slave that has lost 24 V, or a DP address mismatch between HW Config and the physical node.

Why does SF stay on even after I have fixed the cable?

If the diagnostic OB is missing from the project (typically OB 82, 85, 86, 87, 121 or 122), the CPU continues to flag SF even after the physical cause is removed. Load the relevant OBs into the S7 program and download; the SF LED will clear once the next diagnostic event can be handled.

How do I export the diagnostic buffer for offline analysis?

Open PLC > Module Information on the online CPU, switch to the Diagnostic Buffer tab, and click Save As. Save the buffer as a .txt file. Each entry is exported as a block and can be searched, emailed, or archived.

Can BF be caused by a fibre-optic PROFIBUS link?

Yes. If the bus segment is built with OLM or OBT fibre-optic modules, dirty connectors, broken fibres, or a missing 24 V supply on the OLM will drop the segment. Field experience shows that replacing damaged fibres and cleaning the connectors with a recommended optical cleaning kit will normally clear BF and SF on a previously healthy segment.

Back to blog