Problem Overview
When a SIMATIC S7-300 CPU 314C-2 DP (typical MLFB 6ES7314-6CG03-0AB0, 6ES7314-6CG04-0AB0, or 6ES7314-6CH04-0AB0) is configured as a PROFIBUS-DP slave in HW Config (STEP 7 V5.x) or Device Configuration (TIA Portal V13+) and powered up without a DP master on the bus segment, both the BF (Bus Fault) LED and the SF (System Fault) LED illuminate on the front panel. The BF LED is expected — the slave cannot find its communication partner. The SF LED, however, often confuses integrators because the CPU itself is in RUN, the user program executes normally, and no programming error has been made. The diagnostic buffer of such a station typically contains the entries:
- "Difference between setpoint and actual configuration"
- "Startup with modified system configuration"
- "Distributed I/O: station failure"
- "PROFIBUS DP: station failure, slave <addr>"
- "Interface X2: physical layer error / no master"
None of these entries is a defect — they are the slave's record that its configured communication partner is absent at startup. This article explains why the SF LED is on, which diagnostics the CPU writes, which OBs are required to keep the CPU running, and how to validate the unit before shipping it to a customer who will connect it to a real PROFIBUS network. The same diagnostic pattern applies to any S7-300 CPU (or ET200S station) operating in DP-slave mode on its integrated PROFIBUS interface. For the official S7-300 CPU 31xC manual set, refer to the Siemens Industry Online Support entry under product support for "S7-300 Automation System / CPU 31xC and CPU 31x".
Hardware Identification: CPU 314C-2 DP
The 314C-2 DP integrates a PROFIBUS-DP master/slave interface (X2, 9-pin D-sub) alongside the MPI interface (X1). Common order numbers, work-memory sizes, and firmware versions:
| Order Number (MLFB) | Variant | Work Memory Code / Data | Firmware | Programming Tool |
|---|---|---|---|---|
| 6ES7314-6CG03-0AB0 | CPU 314C-2 DP, integrated 16 DI / 16 DO / 5 AI / 2 AO | 64 KB / 64 KB | V2.6 | STEP 7 V5.5 SP2 + HF1, TIA V13 SP1+ |
| 6ES7314-6CG04-0AB0 | CPU 314C-2 DP, integrated I/O | 96 KB / 96 KB | V3.3 | STEP 7 V5.5 SP4+, TIA V13 SP1+ |
| 6ES7314-6CH04-0AB0 | CPU 314C-2 DP, integrated I/O, extended diagnostics | 96 KB / 96 KB | V3.3 | STEP 7 V5.5 SP4+, TIA V13 SP1+ |
| 6ES7314-6EH04-0AB0 | CPU 314C-2 PN/DP (adds PROFINET on X3) | 192 KB / 192 KB | V3.3 | STEP 7 V5.5 SP4+, TIA V13 SP1+ |
The integrated PROFIBUS interface supports baud rates from 9.6 kbit/s to 12 Mbit/s and operates as a class-1 DP master or a class-1 DP slave depending on the HW Config setting. The X1 MPI port is reserved for engineering / HMI access; it does not carry PROFIBUS-DP traffic. The X2 port pinout follows the PROFIBUS-DP standard (IEC 61158 / EN 50170):
| Pin | Signal | Function |
|---|---|---|
| 1 | SHIELD | Shield / protective ground |
| 2 | M24 | 24 V common (for termination power) |
| 3 | RxD/TxD-P (B) | Receive/Transmit data, positive (red wire) |
| 4 | RTS | Request To Send (direction control) |
| 5 | DGND | Data ground (reference for signal) |
| 6 | VP | +5 V supply for bus termination (only first and last node) |
| 7 | P24 | +24 V (for termination power) |
| 8 | RxD/TxD-N (A) | Receive/Transmit data, negative (green wire) |
| 9 | DGNDA | Data ground (only for repeater) |
PROFIBUS DP Slave Operating States
The PROFIBUS-DP slave state machine, defined in IEC 61158-3 and IEC 61784, transitions through the following states when no master is present on the segment:
- Power-On: Slave initializes, performs self-test.
- Wait_Prm: Slave waits for the parameterization telegram from a class-1 master.
- Wait_Cfg: Slave waits for the configuration telegram from a class-1 master.
- Data_Exchange: Slave enters cyclic data exchange with the master.
Without a master, the slave remains in Wait_Prm indefinitely. It still:
- Listens for parameterization telegrams and replies to FDL requests.
- Updates the diagnostic buffer on internal state changes.
- Triggers OB86 on station-failure events when the previously known master is absent.
- Generates diagnostic interrupts via OB82 when its module diagnostic status changes.
This is correct slave behavior. The slave is not defective; it simply has no partner to talk to. The BF LED indicates the physical interface cannot complete token-ring participation; the SF LED indicates the CPU has at least one unacknowledged system-fault entry pending.
X2 PROFIBUS Interface and Physical Layer
PROFIBUS-DP uses RS-485 differential signalling on a shielded twisted pair. The electrical characteristics of the bus are:
| Parameter | Value |
|---|---|
| Differential output voltage (idle) | 5 V typical (1.5 V min) |
| Termination resistors | 220 Ω between A and B; 390 Ω pull-up to VP; 390 Ω pull-down to DGND |
| Topology | Linear bus with active termination at both ends only |
| Stations per segment | 32 (address 0–31 reserved; 0 reserved for service tools) |
| Stations per network | 126 with up to 3 repeaters / 4 segments |
| Cable type | PROFIBUS cable, type A (solid core, 150 Ω ±15 Ω characteristic impedance) |
Segment length limits depend on the selected baud rate:
| Baud Rate | Max Segment Length (Type A cable) |
|---|---|
| 9.6 kbit/s | 1200 m |
| 19.2 kbit/s | 1200 m |
| 45.45 kbit/s | 1200 m |
| 93.75 kbit/s | 1200 m |
| 187.5 kbit/s | 1000 m |
| 500 kbit/s | 400 m |
| 1.5 Mbit/s | 200 m |
| 3 Mbit/s | 100 m |
| 6 Mbit/s | 100 m |
| 12 Mbit/s | 100 m |
SF LED and BF LED Reference
The 314C-2 DP front panel provides six LEDs. The two relevant to this scenario are SF (red) and BF (red). The third PROFIBUS-related LED is DC5V (green), which confirms the internal 5 V supply to the DP transceiver.
| LED | Color | Off | On (steady) | Flashing (~0.5 Hz) | Flashing (~2 Hz) |
|---|---|---|---|---|---|
| SF | Red | No system fault | System fault pending (programming error, I/O fault, or unacknowledged DP diagnostic) | Diagnostic interrupt from a DP slave | n/a |
| BF | Red | DP interface OK, or no DP configured | Physical bus fault: no master, baud-rate mismatch, broken segment, or missing termination | Slave not yet in token ring; master not yet transmitting parameterization | Intermittent connection, configuration / parameterization error |
| DC5V | Green | 5 V supply failed or DP interface inactive | 5 V supply OK | n/a | n/a |
| FRCE | Yellow | Force inactive | Force function active on at least one I/O point | n/a | n/a |
| RUN | Green | CPU not in RUN | CPU in RUN | CPU startup in progress (OB100 / OB102) | n/a |
| STOP | Yellow | CPU not in STOP | CPU in STOP (manual or event-driven) | Memory reset requested or password-protected | n/a |
Diagnostic Buffer Entries Explained
Open the diagnostic buffer in STEP 7 via PLC › Diagnostic/Setting › Diagnostic Buffer or in TIA Portal via Online & Diagnostics › Diagnostic buffer. For a 314C-2 DP configured as a slave without a master, expect to see the following events:
| Diagnostic Text (English) | Event ID (hex) | Meaning |
|---|---|---|
| Difference between setpoint and actual configuration | 0x013A | Configured DP slave not present at startup; actual topology differs from HW Config |
| Startup with modified system configuration | 0x0131 | CPU started with at least one configured module missing or different; tolerated because OB100 / OB102 / OB86 are loaded |
| Distributed I/O: station failure | 0x0130 | DP slave at the configured address is not reachable or has failed |
| PROFIBUS DP: station failure, slave <addr> | 0x0192 | Specific slave lost; OB86 called with EV class "station failure" |
| Interface X2: physical layer error / no master | 0x33A2 | No FDL activity on X2; no token-ring participation |
| Module <logical address>: diagnostic interrupt | 0x013C | A DP slave has sent a diagnostic interrupt; OB82 called |
| STOP due to missing OB82 | 0x4521 | Diagnostic interrupt occurred but OB82 not loaded |
| STOP due to missing OB86 | 0x4524 | Station failure occurred but OB86 not loaded |
The first three entries are normal during a master-less startup of a DP slave. They tell you the CPU has detected the configuration mismatch and handled it gracefully. The CPU does not go to STOP because OB82 and OB86 are loaded. The SF LED is the visible flag that at least one of these diagnostics is still pending in the buffer.
Event IDs 0x4521 and 0x4524 do not appear in this scenario because both OBs are loaded. If you see them, you must add the missing OB and perform MRES before proceeding.
Required Organization Blocks
The CPU calls organization blocks in response to specific events. For DP slave operation, the following OBs are relevant:
| OB | Name | Trigger | Behavior When Missing |
|---|---|---|---|
| OB1 | Main cyclic | End of cyclic scan | CPU does not run user program |
| OB10–OB17 | Time-of-day | Scheduled time-of-day interrupt | CPU stops on first occurrence |
| OB82 | Diagnostic interrupt | Incoming or outgoing diagnostic from a DP slave | CPU stops on first diagnostic interrupt |
| OB86 | Rack / station failure | DP slave becomes unavailable (failure) or reappears (return) | CPU stops on first station failure |
| OB100 | Warm restart | Runs once during power-on with mode switch at RUN or RUN-P | CPU does not perform warm restart |
| OB102 | Cold restart | Runs once after MRES | CPU does not perform cold restart |
| OB121 | Programming error | STEP 7 code errors (divide by zero, invalid DB, etc.) | CPU stops on first programming error |
| OB122 | I/O access error | Reading a defective I/O word or unloaded DB | CPU stops on first I/O access error |
For a standalone bench test of a DP slave, at minimum load the following into the project:
-
OB1(empty or with the customer's actual code) -
OB82(empty — present so the CPU does not stop on diagnostic interrupts) -
OB86(empty — to handle station-failure events for the missing master) -
OB100(empty or with customer startup code)
Even with OB82 and OB86 loaded, the CPU still writes every failure event into the diagnostic buffer and increments the internal system-fault counter. That is why the SF LED stays lit. Loading OBs prevents STOP transitions; it does not clear pending diagnostic events. For the canonical Siemens list of OBs to load for error handling on a 31xC DP-slave CPU, see Siemens Industry Online Support entry ID 11499205.
Why the SF LED Illuminates Without a Master
The SF LED is the LED-level reflection of the CPU's "system-fault pending" flag. This flag is set by any of the following:
- Programming error (handled by OB121).
- I/O access error (handled by OB122).
- Unacknowledged diagnostic interrupt from a DP slave (handled by OB82).
- Unacknowledged rack / station failure (handled by OB86).
- Battery fault on memory submodules (legacy CPUs with battery backup).
When the 314C-2 DP is a slave and the master is absent, events 3 and 4 fire repeatedly:
- At startup, the slave performs its parameterization check. The configured master address is unreachable. OB86 is called with
OB86_FLT_ID = B#16#C4("DP station failure") for entry, and called again for exit when the slave eventually determines the master is permanently absent. - Each time the slave's diagnostic status changes — for example, transition from "configured but not parameterized" to "configured and parameterized" — it can issue a diagnostic interrupt. OB82 is called with the relevant diagnostic data block (DS0/DS1).
The CPU records every entry and exit call. As long as one or more events remain "open" in the internal fault state, SF stays lit. The only ways to extinguish it are:
- Connect the configured DP master so the slave enters
Data_Exchangeand closes the station-failure event. - Acknowledge the diagnostics manually by calling
SFC 13 "DPNRM_DG"for the affected slave (this clears the diagnostic-interrupt pending bit). - Power-cycle the CPU with the master present so the slave initializes directly into
Data_Exchange.
None of these is appropriate for a pre-shipment bench test. The correct action is to document the SF LED state as expected and verify that the diagnostic buffer contains only the expected station-failure entries. Touching the station-failure event with SFC 13 during bench test does not improve the field result.
Pre-Shipment Verification Procedure
Use the following procedure to verify a DP-slave CPU before shipping it to the customer:
- Connect a programming device to the CPU's MPI port (X1) using a PC adapter — USB / MPI for legacy CPUs or Ethernet / MPI for the PN/DP variant. Set the PG/PC interface in STEP 7 or TIA Portal to the correct adapter.
- Open STEP 7 or TIA Portal and establish an online connection to the CPU.
- Verify the operating mode: PLC › Module Information › Operating Mode. RUN with no STOP request pending is required.
-
Read the diagnostic buffer: PLC › Diagnostic Buffer. Filter for events with Event ID
0x0130,0x0131,0x013A,0x33A2. Confirm every entry relates to the expected DP station failure and that no unexpected OB121, OB122, or unknown slave errors are present. - Inspect the OB configuration: PLC › Module Information › OBs. Confirm OB1, OB82, OB86 (and OB100 / OB102 if used) are loaded.
- Check HW Config consistency: Station › Open HW Config. Confirm the DP slave interface is enabled, the slave address matches the customer's network plan, and the I/O mapping matches the customer specification.
- Document the LED state: Take a photograph or note the LED pattern. SF on, BF on, DC5V on, RUN solid green is the expected pre-shipment state for a standalone DP slave.
- Save and archive: Upload the project from the CPU and archive the diagnostic-buffer screenshot with the shipping documentation. Stamp with the project number, CPU MLFB, firmware version, and date.
On-Site Commissioning Steps
When the customer's DP master becomes available, the following commissioning procedure will close out the SF LED:
- Confirm the PROFIBUS segment is terminated at both physical ends only. The terminator switch on every other D-sub connector must be OFF.
- Confirm the baud rate of the master matches the baud rate configured in the slave's HW Config (default "Auto-detect" with a configured master forces the slave to the master's baud rate).
- Power the master first; wait for it to enter
OPERATEand start PROFIBUS communication. - Power the slave (or perform MRES to ensure a clean startup).
- Observe the slave's BF LED: it should transition from on to flashing (slave detecting FDL activity) to off (cyclic data exchange) within 5 to 15 seconds, depending on network loading.
- Observe the slave's SF LED: it should extinguish within 5 to 15 seconds after the slave enters
Data_Exchange. If it remains lit, read the diagnostic buffer and check for the cause. - On the master, verify the slave's diagnostics show No fault in the slave's DPV0/DPV1 status.
- Verify the customer's I/O mapping is reading and writing as expected. Use a PROFIBUS trace tool (e.g., a Softing PROFIBUS Diagnostic Tool) to confirm telegram exchange.
LED State and Action Matrix
| SF | BF | RUN | STOP | DC5V | Diagnosis | Action |
|---|---|---|---|---|---|---|
| Off | Off | On | Off | On | CPU in RUN, DP cyclic exchange OK | None — normal operation |
| On | On | On | Off | On | DP slave, no master connected — expected for bench test | Document; ship; verify on site |
| On | Flashing | On | Off | On | Master present but not parameterizing this slave | Check slave address, GSD, baud rate |
| Off | On | On | Off | On | Physical bus fault, no FDL activity | Check cable, termination, baud rate, master power |
| On | Off | Off | On | On | CPU in STOP due to programming / I/O error | Read diagnostic buffer; check OB1, OB121, OB122 |
| Flashing | Off | On | Off | On | Diagnostic interrupt from a DP slave | Read OB82 info; check slave diagnostic data via SFC13 |
| Off | Off | Off | On | On | CPU in STOP, no faults, awaiting RUN | Issue RUN command; check mode selector position |
| On | On | Off | On | On | CPU in STOP, station failure and missing OB86 | Load OB86; MRES; restart |
| On | Off | Off | On | On | CPU in STOP, diagnostic interrupt and missing OB82 | Load OB82; MRES; restart |
Diagnostic Buffer Event ID Reference
Below is a compact reference for the most common Event IDs encountered on a 314C-2 DP as slave. Use PLC › Module Information › Diagnostic Buffer in STEP 7 V5.5 SP4+, or Online & Diagnostics › Diagnostic buffer in TIA Portal V13 SP1+, to view them.
| Event ID (hex) | Description | Severity | Common Cause | Cleared By |
|---|---|---|---|---|
| 0x0130 | Distributed I/O: station failure | Error | DP slave missing or unreachable | Slave returns; SFC13 DPNRM_DG read |
| 0x0131 | Startup with modified system configuration | Warning | Configured slave not present at startup | Slave becomes available |
| 0x013A | Difference between setpoint and actual configuration | Warning | Topology mismatch at power-up | Topology matches after parameterization |
| 0x0192 | PROFIBUS DP: station failure, slave <addr> | Error | Specific slave lost | Slave reappears |
| 0x33A2 | Interface X2: physical layer error | Error | No FDL activity, cable fault, no master | Bus recovers |
| 0x013C | Module <logical addr>: diagnostic interrupt | Info | DP slave reports module status | OB82 reads DS0/DS1 |
| 0x4521 | OB82 missing — STOP | Error | Diagnostic interrupt occurred but OB82 not loaded | Load OB82; MRES |
| 0x4524 | OB86 missing — STOP | Error | Station failure occurred but OB86 not loaded | Load OB86; MRES |
| 0x4301 | Mode switch position changed | Info | Operator action | Informational only |
| 0x4310 | Power on | Info | Normal startup | Informational only |
| 0x4302 | Memory reset performed | Info | MRES on mode switch | Informational only |
PROFIBUS Cable, Termination and Baud Rate
The PROFIBUS-DP physical layer is defined by IEC 61158-2. For reliable operation of the slave once connected to the customer's master, verify the following items during the design phase:
- Cable: Use only PROFIBUS cable type A (solid-core, 150 Ω ±15 Ω characteristic impedance, 35 to 165 Ω / km loop resistance, < 30 pF / m capacitance). Avoid type B (stranded core); it limits segment length.
- Termination: Only the first and last physical stations must have termination enabled. The classic termination is 220 Ω between pins 3 and 8, with 390 Ω pull-up to pin 6 (VP) and 390 Ω pull-down to pin 5 (DGND). Many PROFIBUS connectors provide this as a switchable terminator.
- Baud rate: All stations on a segment must operate at the same baud rate. For DP slaves, the baud rate is set in HW Config under the slave interface properties. For auto-detect baud rate, the slave scans FDL activity on the segment and adopts the master's baud rate within 5 seconds of seeing traffic.
- Shield: The cable shield must be bonded to the D-sub metal shell on both ends, with the shell connected to chassis ground at each station. Floating shields invite noise coupling.
- Stations per segment: Maximum 32 stations per segment (no repeaters). Maximum 126 stations per network with up to three repeaters.
- Repeaters: Each repeater segment introduces one further repeater's worth of signal regeneration. Place repeaters when the segment length for the chosen baud rate would otherwise be exceeded.
Frequently Asked Questions
Why does my S7-300 314C-2 DP show SF and BF LEDs simultaneously when configured as a PROFIBUS slave without a master?
BF lights because the DP interface cannot find a class-1 master on the segment; this is expected. SF lights because OB86 (station failure) and possibly OB82 (diagnostic interrupt) events are queued in the diagnostic buffer. Loading OB82 and OB86 prevents the CPU from going to STOP but does not clear the pending system-fault state. Both LEDs together are normal for a standalone bench test of a DP slave.
Will the SF LED extinguish automatically once the customer connects a real PROFIBUS master?
Yes, in the typical case. As soon as the slave enters Data_Exchange with the master, the station-failure event is closed, OB86 is called for the return event, and the SF LED extinguishes within 5 to 15 seconds. If the LED does not clear, verify that the master has the correct GSD file for the slave and that the slave address matches the master configuration.
Which OBs must be loaded so the CPU does not go to STOP when configured as a DP slave?
Load at minimum OB1, OB82, and OB86. OB82 handles incoming and outgoing diagnostic interrupts from DP slaves. OB86 handles rack and station failures, including the missing-master condition for a slave CPU. Add OB100 for warm-restart logic and OB102 for cold-restart logic if needed. OB121 and OB122 are only required when you need to handle programming or I/O access errors without stopping the CPU.
What does "Difference between setpoint and actual configuration" mean in the diagnostic buffer?
The CPU's HW Config (setpoint) lists the slave as a partner at a specific PROFIBUS address. At startup the CPU finds no device answering at that address (actual = nothing). The CPU records the mismatch and, because OB86 is loaded, continues to RUN. Once the master is connected and parameterizes the slave, the actual configuration matches the setpoint and the entry is superseded by a return event.
Can I clear the SF LED without connecting a master?
Yes, by calling SFC13 DPNRM_DG in OB86 to read the diagnostic data of the affected slave, then performing a power cycle. A memory reset (MRES) on the mode switch also clears it but deletes the loaded program. The most practical approach during bench test is to document the LED state as expected rather than clear it, because the same SF LED will re-appear at every power-up until a real master is connected.
Does this SF LED behavior apply to other Siemens CPUs operating as PROFIBUS slaves?
Yes. The SF LED behavior is identical across all S7-300 DP-capable CPUs (312C, 313C, 313C-2 DP, 314C-2 DP, 315-2 DP, 316-2 DP, 317-2 DP, 319-3 PN/DP), all S7-400 CPUs with PROFIBUS interface modules, and the ET200S station CPUs (IM151-7, IM151-8 PN/DP). The same diagnostic-buffer entries and the same OB requirements apply. The exact wording of the diagnostic text varies slightly between STEP 7 and TIA Portal, but the Event IDs are stable.