Siemens S7-319-3 SF LED Diagnostics Profibus Fault

David Krause13 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

1. Problem Scope: SF LED on a SIMATIC S7-319-3 CPU

The SF (System Fault) LED on a Siemens SIMATIC S7-300 CPU 319-3 PN/DP is a collective error indicator. It illuminates whenever the CPU detects any unrecoverable or unacknowledged error condition, whether the origin is internal (program execution, memory, firmware, hardware on the CPU module itself) or external (a distributed I/O node on PROFIBUS-DP or PROFINET, a failed DP slave power supply, a wiring break, or a parameterization mismatch). Because the SF LED is a single bit summarizing many possible fault sources, the LED alone never identifies the root cause. Field engineers must consult the diagnostic buffer of the CPU and, where needed, the online hardware diagnostics in STEP 7 or TIA Portal to isolate the offending node or instruction.

This reference applies to the high-performance CPU 319-3 PN/DP used in production-engineering applications. The front-panel LED layout, the meaning of the BF (Bus Fault) LED, and the diagnostic buffer structure are documented in the official SIMATIC S7-300 CPU 31xC and CPU 319-3 PN/DP manual on the Siemens Industry Online Support portal.

2. Hardware Identification: CPU 319-3 PN/DP Front-Panel Elements

Before interpreting any LED, confirm the exact module variant and firmware version. The CPU 319-3 PN/DP has two PROFIBUS interfaces (MPI/DP combined on X1, DP on X2) plus a PROFINET interface on X5 (depending on the order number). The following front-panel elements are relevant to fault diagnosis (per the CPU 31xC/319-3 manual):

Ref. Element Function
1 Bus error indicators BF1, BF2, BF3 LEDs for the three physical interfaces (PROFIBUS DP master, PROFIBUS DP slave / MPI, PROFINET).
2 Status and error indicators SF, BATF, DC5V, FRCE, RUN, STOP, M/R LEDs.
3 SIMATIC Micro Memory Card slot Load memory; ejects with the integrated ejector.
4 Mode selector RUN, STOP, MRES (master reset) positions.

The SF and BATF (battery fault), DC5V (internal 5 V OK), and FRCE (force active) LEDs are grouped together so a single visual sweep covers CPU-internal health.

2.1 LED Truth Table for Fault Conditions

Condition SF BF1 (PROFIBUS X1) BF2 (PROFIBUS X2) BF3 (PROFINET X5) BATF STOP
CPU in RUN, no faults off off off off off off
Configured DP slave lost (power off / cable break) on flicker/off* flicker/off* off off off (CPU stays RUN if OB82/OB86 present)
DP master system fault on on on off off off
Program execution error (OB not loaded) on off off off off on (CPU goes STOP)
Battery low / missing off off off off on off
PROFINET station failure on off off flicker off off

*BF behavior depends on whether the failed slave is on X1 or X2; the unused bus BF remains dark.

Field note: When the BF LED is lit on any PROFIBUS interface, the SF LED is virtually guaranteed to also be lit because the CPU interprets any configured-but-unreachable DP slave as an external fault. The reverse is not true: SF can be lit with all BFs dark when the fault is internal (program, memory, or CPU hardware).

3. Classifying the Fault: Internal vs External

The first diagnostic decision tree branch is the source of the fault. S7-300 CPUs make this distinction in their diagnostic buffer event classification:

Fault Class Diagnostic Buffer Signature Typical Cause Effect on CPU
External fault Events with DP slave diagnostics, station failure, station return DP slave power loss, PROFIBUS cable break, connector removed, slave parameterization error CPU stays RUN if OB82 (diagnostic interrupt) and OB86 (rack failure) are loaded. SF and BF LEDs lit.
Internal fault Events with OB not loaded, programming error, access error, CPU hardware fault Missing error OB, illegal instruction, I/O access outside process image, MMC error, firmware-detected internal hardware fault CPU transitions to STOP unless the appropriate error OB is loaded. SF LED lit; STOP LED also lit.
System fault (power/event) Power on, mode change, memory reset, firmware update Routine startup / shutdown events Informational, not an error.

3.1 External Fault Path

For an external (PROFIBUS) fault the diagnostic buffer records the diagnostic address of the failed DP slave. Reading the buffer in STEP 7 (classic) or TIA Portal (V13 and later) immediately yields the slave's PROFIBUS station number, diagnostic address, and the slave-specific diagnostic bytes (per EN 50170 / IEC 61158). The SF LED is lit because the CPU has classified the slave diagnostic as an external error; the corresponding BF LED on the affected interface is also lit or flickering.

3.2 Internal Fault Path

For an internal fault the S7-300 diagnostic buffer typically identifies the block type and number that triggered the error, the OB that was missing (e.g. OB121 for programming error), and the priority class. However, on S7-300 CPUs the diagnostic buffer entry for an internal error is sometimes less specific than the equivalent entry produced by an S7-400 CPU with identical user software. This is a known limitation, documented across multiple Siemens support entries; field engineers frequently replicate the project on an S7-400 PLCSIM or a real S7-400 CPU to obtain the deeper diagnostic detail that S7-300 omits.

4. BF LED Behavior on the CPU 319-3 PN/DP

The CPU 319-3 PN/DP has three bus error LEDs:

  • BF1 – PROFIBUS interface X1 (combined MPI / DP master)
  • BF2 – PROFIBUS interface X2 (DP master or DP slave, hardware-configurable)
  • BF3 – PROFINET interface X5

4.1 BF LED States and Meanings

BF State Meaning
Off All configured slaves on that bus are reachable; no diagnostic pending.
Flashing (≈ 0.5 Hz) At least one configured slave is not reachable. CPU may remain in RUN if OB86 is loaded.
On (steady) Bus fault: physical layer error, duplicate station address, baud-rate search failure, or total bus failure.
Flashing rapidly Bus is active but at least one slave is failing token passing / time-out.

4.2 Specific Scenario: A DP Slave Loses Power

When any node on the configured PROFIBUS network is powered down, the CPU 319-3 PN/DP detects the missing slave on the next token rotation. The sequence is:

  1. CPU polls slave → no response within Tslot.
  2. CPU records a station failure event in the diagnostic buffer (event ID 0x39E0 series for DP master system errors on S7-300).
  3. CPU calls OB86 (rack failure / station failure). If OB86 is not loaded, the CPU transitions to STOP.
  4. The BF LED on the affected interface begins to flash (slave-down) or stays lit (total bus failure).
  5. The SF LED illuminates because the CPU has an unacknowledged external fault.
Important: When BF is lit, SF is virtually always also lit. The presence of BF without SF would indicate a configuration where the failed slave is in the non-process-image area and the CPU has been configured to suppress the collective fault – this is rare and should be treated as a configuration anomaly.

5. Reading the Diagnostic Buffer (STEP 7 Classic and TIA Portal)

5.1 STEP 7 (Classic) Procedure

  1. Open the project in SIMATIC Manager with the CPU online (via TCP/IP, MPI, or PROFIBUS).
  2. Select the CPU 319-3 PN/DP in the project tree.
  3. Right-click → Target System → CPU Messages / Diagnostic Buffer.
  4. The buffer shows the most recent 100 events (default). Each event contains:
    • Time stamp (CPU time-of-day)
    • Event ID (hexadecimal)
    • Event description
    • Additional information (block number, OB, address, slave diagnostics bytes)
  5. Double-click any event to view the full details; for DP station events, double-click again to open the slave's module diagnostics.

5.2 TIA Portal Procedure

  1. Open the project in TIA Portal (V13 SP1 minimum for CPU 319-3 PN/DP).
  2. Switch to Project view, select the CPU in the device tree.
  3. From the menu: Online → Online & Diagnostics.
  4. Select the Diagnostics buffer tile. TIA Portal decodes the same event IDs as STEP 7 and adds hyperlinks to the affected block or device.
  5. For PROFINET diagnostics, expand PROFINET IO → Diagnostics for station-level, module-level, and port-level information.

6. Hardware Diagnostics via HW Config (STEP 7 Classic)

For external PROFIBUS faults, open HW Config with the CPU online. The PROFIBUS DP master system shows a red X on the failed slave. Right-click the slave → Object Properties → Diagnostics opens the slave's live diagnostic data, including:

  • Station status (1 = OK, 0 = failure)
  • Module status bitmap
  • Channel-specific diagnostic bytes
  • Identifier-related diagnostics

This view directly answers the question "which node has failed?" without requiring further disambiguation.

7. Common Diagnostic Event IDs (S7-300)

The following event IDs are emitted by the CPU 319-3 PN/DP diagnostic buffer and frequently observed during field service. They are documented in the STEP 7 online help and in the CPU 31xC/319-3 manual referenced above.

Event ID (hex) Classification Meaning Recommended Action
0x1000 Informational Power on / CPU restart completed None
0x4300 External Backplane bus fault Check rack configuration, terminate unused slots
0x4949 Internal Diagnostic buffer overflow Older events overwritten; review recent entries only
0x39E1 External DP station failure Check slave power, bus connector, OB86 loaded
0x39E2 External DP station return Informational; slave recovered
0x39E3 External DP master system failure Bus short, terminator missing, duplicate address
0x3F00 / 0x3F01 Internal Firmware update events Informational
0x4501 Internal STOP caused by programming error (OB121 missing) Load OB121; re-check block
0x4521 Internal STOP caused by I/O access error (OB122 missing) Load OB122; verify address
0x45A0 Internal STOP caused by communication error Check CP configuration
0x4A01 / 0x4A02 Internal Memory card removed / write-protect Reinsert MMC, check write-protect
Field note: If the diagnostic buffer overflows during a rapid sequence of DP station failures, the oldest events are lost. Always read from the bottom (most recent) upward.

8. Why Use an S7-400 Simulator for Internal Faults

When an internal fault causes STOP on the CPU 319-3 PN/DP and the diagnostic buffer entry is generic (for example, "Programming error in OB1, block FCxxx" without further detail), running the identical user program on an S7-400 CPU (real or PLCSIM) frequently yields a more verbose diagnostic entry. The S7-400 firmware provides additional diagnostic depth because:

  • The S7-400 diagnostic buffer has a larger format and additional fields.
  • S7-400 supports priority-class-specific error OBs that S7-300 combines.
  • PLCSIM (the Siemens S7 simulator bundled with STEP 7) can reproduce the same program fault with full diagnostic detail, allowing the engineer to identify the exact instruction and operand.

This is a documented workaround when the S7-300 buffer is insufficient for root-cause analysis. No firmware modification is required; only a parallel test on S7-400 / PLCSIM.

9. Step-by-Step Troubleshooting Procedure

9.1 Prerequisites

  • STEP 7 V5.5 SPx or TIA Portal V13 SP1 or later installed on the engineering station.
  • Online connection to the CPU 319-3 PN/DP via MPI/PROFIBUS/PROFINET.
  • User project (matching firmware version) available offline.
  • Access to the PROFIBUS cable path and the physical DP slaves.

9.2 Procedure

  1. Confirm the SF LED state. If SF is off, the issue is elsewhere (BATF, FRCE, or BF-only). If SF is on, proceed.
  2. Read the diagnostic buffer (STEP 7 or TIA Portal as described in §5).
  3. Identify the fault class from the event description:
    • Event references a DP slave → go to step 4.
    • Event references a block / OB → go to step 6.
    • Event references CPU hardware / MMC → go to step 7.
  4. External / PROFIBUS fault path:
    1. Note the slave's PROFIBUS address and diagnostic address from the event.
    2. Open HW Config online and locate the slave in the DP master system.
    3. Right-click → Diagnostics. Read the station status and module status.
    4. Physically verify: 24 V supply at the slave, bus connector seated, termination at both ends of the segment, shield grounded at one point only.
    5. Power-cycle the failed slave. Confirm the diagnostic buffer records a station return (0x39E2).
    6. Confirm BF LED returns to off and SF clears.
  5. External / PROFINET fault path: Use TIA Portal → Online & Diagnostics → PROFINET IO → Diagnostics. Check port LED on the affected device. Replace cable or device as indicated.
  6. Internal fault path:
    1. Note the block number and OB identifier.
    2. Load the corresponding error OB if missing (OB82 for diagnostic interrupt, OB85 for priority class errors, OB86 for rack failure, OB121 for programming error, OB122 for I/O access error).
    3. If the error persists with all error OBs loaded, replicate the program on S7-400 / PLCSIM to obtain deeper diagnostics.
  7. CPU hardware / MMC fault path:
    1. Re-seat the SIMATIC Micro Memory Card; verify write-protect switch position.
    2. Re-format the MMC using STEP 7 → SIMATIC Memory Card → Format.
    3. If SF persists, perform an MRES (master reset) and reload the project.
    4. If SF still persists, the CPU module is suspect; replace.

10. Verification Checklist

Check Expected Result
SF LED state after remedy Off
BF1/BF2/BF3 LED state after remedy Off
Diagnostic buffer – most recent event Station return (0x39E2) for PROFIBUS, or "Operating state change to RUN" for internal fix
CPU operating mode RUN, STOP LED off
Online module diagnostics (HW Config) All DP slaves show green check marks
Process I/O live update Inputs update in VAT monitor; outputs toggle via force table

11. Edge Cases and Field-Proven Caveats

  • SF + BF lit, CPU stays RUN: The user program has OB86 loaded and the CPU is configured to continue on station failure. This is correct behavior for a process where DP slaves may be temporarily de-energized.
  • SF + BF lit, CPU goes to STOP: OB86 is missing or faulty. Load a valid OB86 from the standard library and re-download.
  • BF flashing but no DP slave obviously failed: Check for duplicate PROFIBUS addresses, baud-rate mismatch, or a slave with address 0 (default, often reserved for a master class 2). Verify with a PROFIBUS bus monitor (e.g., Softing PROFIbus diagnostic tool) if available.
  • SF lit, all BFs dark, no entry in diagnostic buffer: Possible battery-backed RAM or MMC write error. Check BATF. If BATF is off but SF is on with no event, perform an MRES; persistent SF without a buffer entry indicates a CPU hardware fault.
  • Diagnostic buffer flooded with retries: A flapping DP slave (intermittent power or connector) can produce thousands of station-failure / station-return pairs per hour. Resolve the physical issue first, then clear the buffer to confirm a clean baseline.
  • S7-300 vs S7-400 buffer detail asymmetry: Documented behavior. Use S7-400 / PLCSIM only as a parallel test environment; do not substitute it for the production CPU.

12. Frequently Asked Questions

Does the SF LED light up when a PROFIBUS node loses power?

Yes. Whenever a configured DP slave becomes unreachable – for example due to loss of 24 V supply at the slave – the CPU 319-3 PN/DP records a station-failure event (typically event ID 0x39E1) and lights both the SF LED and the BF LED of the affected PROFIBUS interface (BF1 or BF2). The CPU remains in RUN only if OB86 is loaded.

What is the difference between SF and BF on an S7-319-3?

SF (System Fault) is a collective error indicator that lights for both internal errors (program, memory, CPU hardware) and external errors (PROFIBUS, PROFINET). BF (Bus Fault) lights only for physical or logical bus problems on PROFIBUS or PROFINET. When BF is lit, SF is virtually always lit; the reverse is not true.

How do I read the diagnostic buffer of a CPU 319-3 PN/DP?

In STEP 7 (classic) right-click the online CPU and choose Target System → CPU Messages. In TIA Portal select the online CPU and open Online → Online & Diagnostics → Diagnostics buffer. The buffer shows timestamp, hex event ID, description, and contextual details such as the diagnostic address of a failed DP slave or the block number that caused an internal fault.

Why use an S7-400 simulator to debug an S7-300 fault?

The S7-300 diagnostic buffer sometimes produces only generic entries for internal errors (for example, "Programming error in OB1"). Replicating the identical project on an S7-400 CPU or on PLCSIM typically yields a more detailed diagnostic entry because the S7-400 firmware records additional fields. This is a Siemens-documented workaround; no firmware change on the production CPU is needed.

Which OB must be loaded to keep the CPU 319-3 in RUN when a PROFIBUS slave fails?

OB86 (Rack Failure / Station Failure) must be present in the user program. Without it, any DP station failure causes the CPU to transition to STOP with SF and BF LEDs lit. Loading OB82 (Diagnostic Interrupt) and OB85 (Priority Class Error) is also recommended for full fault tolerance.

Back to blog