Troubleshooting S7-1200 SF LED Flashing Red: PROFINET HW_ID 270

David Krause17 min read
S7-1200SiemensTroubleshooting
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

An S7-1200 CPU in a PROFINET IO network shows a flashing red SF LED with a diagnostic event "IO Station Failure" reporting HW_ID = 270 and event code 02:39CB. The CPU remains in RUN with a solid green RUN LED, the application is still exchanging data with the PC-based Simatic OPC server, and the commissioning tool (Scout/Startdrive) can still read and write symbols on the PLC. This article breaks down what each signal means, how to map HW_ID 270 to a real PROFINET device, and how to clear the fault without disturbing the running process.

S7-1200 LED Indicator Reference

The S7-1200 front panel integrates three status LEDs that together describe the controller's operating state. Each LED has a specific meaning, and the SF (System Fault) LED distinguishes between a fatal fault and a non-fatal diagnostic event by its blink pattern. Per the S7-1200 Programmable Controller System Manual (entry ID 109741593), the following states apply:

LED Color State Meaning
RUN Green Solid CPU in RUN mode; program executing
RUN Green Flashing (~2 Hz) CPU is performing startup, internal self-test, or program download
RUN Off - CPU in STOP or no power
STOP Yellow Solid CPU in STOP mode; program not executing
ERROR (SF) Red Solid Fatal error; all outputs disabled; PLC typically goes to STOP
ERROR (SF) Red Flashing (0.5 Hz) Diagnostic event only; CPU remains in RUN; process data is exchanged with healthy devices
ERROR (SF) Red Rapid flash (2 Hz) Configuration error during startup
MAINT Yellow Solid Maintenance demanded (e.g., forced I/O, certain CPU battery conditions)
MAINT Yellow Flashing Maintenance required (firmware update needed, etc.)
LINK (X1 / X2) Green Solid PROFINET port has an active Ethernet link
RX/TX (X1 / X2) Yellow Flashing Data exchange on the PROFINET port
Critical: A flashing red SF LED with a solid green RUN LED indicates a non-fatal diagnostic event. The CPU continues to execute the user program and exchange process data with healthy PROFINET IO devices. The IO Station Failure diagnostic points to a single misbehaving IO device, not a global controller fault. Do not power-cycle the PLC; that will not clear the diagnostic event and may prolong troubleshooting because the outgoing event will not be logged.

Understanding PROFINET IO Architecture in the Reported Topology

The reported installation uses three PROFINET roles in parallel, and the fact that one of them is healthy is a strong clue that the fault is isolated:

  1. IO Controller — the S7-1200 CPU (typical article number 6ES7215-1AG40-0XB0 for a CPU 1215C DC/DC/DC, firmware V4.4 or later). The S7-1200 owns the PROFINET IO stack and runs the cyclic real-time exchange.
  2. IO Supervisor — the engineering PC running Simatic OPC Server. The OPC Server uses S7 communication (ISO-on-TCP, port 102) over a standard commercial NIC. A standard NIC cannot act as a PROFINET IO controller; it can only supervise or program.
  3. IO Devices — Sinamics drives, ET 200 stations, or third-party PROFINET devices that exchange cyclic I/O data with the S7-1200. These are the devices that the PROFINET IO controller interrogates on each update cycle.

Scout (SIMOTION Scout or Startdrive) also uses standard TCP/IP on the same PC NIC. The fact that Scout can read and write PLC symbols only proves that the S7 communication channel (acyclic, class A services) is healthy. It does not prove that PROFINET IO cyclic data exchange is healthy for every device. A device can respond to acyclic read/write requests while its cyclic PROFINET IO application relationship (AR) is down.

Architecture summary in the user's installation:

  • S7-1200 ↔ PC (Simatic OPC) — S7 protocol over TCP, port 102, no PROFINET IO involved.
  • S7-1200 ↔ Drives / ET 200 — PROFINET IO cyclic real-time (RT) or isochronous real-time (IRT) traffic.
  • PC ↔ Drives — Scout/Startdrive direct acyclic, bypasses the S7-1200 IO stack entirely.

This is the architectural reason the user sees a flashing SF LED and a green RUN LED simultaneously: the diagnostic is "PROFINET IO station failure," not "CPU stopped" and not "communication channel down." The OPC server sits on a different layer and remains functional.

HW_ID 270 and Error Code 02:39CB Decoded

Two identifiers appear in the diagnostic buffer entry the user observed. They are not interchangeable; they answer different questions.

HW_ID (Hardware Identifier)

The HW_ID is a 16-bit unsigned integer assigned by TIA Portal at compile time. It is a stable, project-wide reference to a hardware object (CPU, submodule, IO device, port, or slot). To map HW_ID = 270 to a real device:

  1. In TIA Portal, open the project and select the S7-1200 station.
  2. Open Project tree → PLC → Device view.
  3. Navigate to PLC tags → Show all tags → System constants (or right-click the IO device head module and select Properties → System constants).
  4. Search the system-constants table for the value 270. The matching symbolic name (e.g., <Drive name>_Head, ET200SP_Station3, PNdevice_Interface) identifies the device that produced the diagnostic event.

HW_IDs in a typical S7-1200 project are organized as follows:

HW_ID range (typical) Object type
0 CPU itself
1 to 64 Onboard I/O and signal boards
65 to 255 Centralized I/O modules (if PROFINET is not used)
256 to 511 PROFINET IO devices and submodules
512+ Diagnostic addresses, ports, additional submodules

HW_ID 270 falls inside the PROFINET IO device/submodule range. It is the head module or a specific slot of one IO device on the S7-1200's PROFINET segment. Confirming the exact device name is step one of the entire troubleshooting flow — the rest of the procedure is meaningless until the engineer knows which physical device is the culprit.

Event Code 02:39CB

The format 02:39CB is Siemens' hex-prefixed event identifier used inside the diagnostic buffer. The first byte (0x02) classifies the event family:

Event class (hex prefix) Meaning
01xx CPU / program errors (e.g., OB not loaded, programming error)
02xx PROFINET IO / distributed I/O errors
03xx Module / submodule errors (centralized I/O)
04xx Communication errors (TCP, S7, FDL)
05xx to FFxx Security, technology, and vendor-specific events
02:39CB PROFINET IO station failure — the IO device is missing or unreachable

02:39CB is the PROFINET IO Station Failure event. The IO controller has lost the cyclic PROFINET IO connection to the device referenced by HW_ID 270. The device is either:

  • Power cycled or unpowered.
  • Disconnected from the Ethernet segment (broken cable, removed connector, dead switch port).
  • Reset to factory defaults and therefore missing its PROFINET device name.
  • Reporting an internal fault that prevents AR establishment (drive in fault state, ET200 submodule pulled).
Note: The exact event ID 02:39CB is documented in the TIA Portal help under "Diagnostic events for PROFINET IO." The ID is the same across S7-1200 firmware versions; what changes between firmware revisions is the descriptive text in the buffer detail pane.

Reading the TIA Portal Diagnostic Buffer

The diagnostic buffer is the only authoritative source for the precise cause of an SF LED event. To read it correctly:

  1. Connect the engineering PC to the S7-1200's PROFINET port (X1) directly or through the same managed switch.
  2. Open TIA Portal, expand the project, and select the S7-1200 station.
  3. Click Go online (the lightning-bolt icon) and choose Online & diagnostics.
  4. From the navigator, open Diagnostics → Diagnostic buffer.
  5. Scroll to the most recent red entry. Each entry shows:
    • Timestamp (CPU clock; verify that the time is correct, otherwise the chronological order is unreliable).
    • Event ID in the form xx:yyyy.
    • Event description (English/German depending on UI language).
    • HW_ID of the affected object.
    • Additional info: incoming vs. outgoing event, channel diagnostic bytes.
  6. Click the 02:39CB entry. In the Details pane, TIA Portal lists the affected IO device and the channel-diagnostic bytes (the raw PROFINET channel error code from the device).
  7. Note the next-incoming and next-outgoing events. The "outgoing" entry is the moment the fault cleared; this is invaluable for correlating with plant events (e.g., cabinet door opened, breaker tripped).
Tip: The diagnostic buffer of an S7-1200 retains the last 50 events in non-volatile memory. If the buffer was cleared during firmware update, you will only see post-update events. Always read the buffer before any clear/reset operation. Never clear the buffer during a live fault — the historical entries are the engineer's primary evidence.

Common Root Causes of IO Station Failure

Across thousands of PROFINET installations, the failure modes for a single IO device fall into a small set. Ranked by frequency in field service:

# Root cause How to confirm Fix
1 Device power removed (drive in fault, 24 V supply dropped, breaker tripped) Measure 24 V at the device; check device display/LEDs Restore 24 V; clear the device fault; cycle the IO connection if needed
2 PROFINET cable disconnected, broken, or swapped to wrong port Check LINK LED on the device and S7-1200 X1/X2 port; cable tester Re-seat or replace the cable; use the correct port (PN1 vs. PN2)
3 Managed switch port in error-disable (storm control, BPDU guard, ACL) Check switch log; port LED off while cable is connected Re-enable the port; check the cause (multicast storm, duplicate IP, unauthorized device)
4 Device name lost after a factory reset or GSD re-import Use PRONETA to read the actual device name; compare to TIA Portal Re-assign the device name via PRONETA, TIA Portal topology, or web server of the device
5 IP address conflict on the PROFINET segment Run PRONETA network scan; ping the device IP from a workstation Change the conflicting device's IP; reserve it on the DHCP server or in topology
6 GSD file mismatch after firmware update Compare module slots in TIA Portal with the real device configuration Update the GSD in TIA Portal, recompile, download the device configuration
7 Replacement device with default name PRONETA shows device has no name or wrong name Use PRONETA's "Assign PROFINET name" with the topology editor's expected name
8 Watchdog time-out because update time is too tight for the device TIA Portal's IO diagnostics shows life-watch failures; "station failure" returns immediately after re-connection Increase the update time (1 ms → 2 ms → 4 ms); use the "Performance" view to validate
9 EMC / grounding issue corrupting frames Frame counters, CRC errors in PRONETA or managed switch Fix shield bonding, eliminate ground loops, route PROFINET cable away from VFD power cables
10 Device in a permanent diagnostic state (overload, encoder fault, missing submodule) Channel diagnostic bytes show "sensor short-circuit" or "encoder error" Clear the device-level fault, then clear the PROFINET diagnostic

Step-by-Step Troubleshooting Procedure

Follow this order to minimize the risk of disturbing the running process. The PLC remains in RUN throughout; the goal is to identify and clear the IO device, not the CPU.

Step 1 — Map HW_ID 270 to a Real Device

Open the system-constants table as described above. Record the device name. Typical S7-1200 projects use human-readable names such as Drive_S120_1, ET200MP_Station3, or PN_IO_4. Confirm the device's physical location in the cabinet before continuing. If the device is a Sinamics S120 with Scout, the device's PROFINET name in TIA Portal must match the name assigned to the drive's CU (Control Unit).

Step 2 — Inspect the Device Physically

  1. Open the cabinet and locate the device. Most Sinamics drives have a multi-segment display; ET200SP/ET200MP have a status LED bar.
  2. Read the display or LEDs. A Sinamics in fault shows an F code (e.g., F30002 for overcurrent, F07801 for motor overcurrent); ET200 stations show the channel number of the missing module.
  3. Verify 24 V at the device's power terminals with a multimeter. Many PROFINET devices are powered separately from the S7-1200's 24 V; the PLC supply being healthy does not mean the device supply is healthy.

Step 3 — Verify the PROFINET Cable Path

  1. Check the LINK LED on the device's PROFINET port. Solid green = link up; off = no link.
  2. Check the LINK LED on the S7-1200's X1 (or X2 if used) port for the relevant port number.
  3. If the device is connected through a managed switch, verify the port is "up" and not error-disabled. Use the switch's web interface or CLI to confirm.
  4. Re-seat the PROFINET connectors. RJ45 plugs in industrial cabinets vibrate loose; a 0.5 mm gap is enough to lose frames under vibration.
  5. If a spare patch cable is available, swap it. A cable with one intact pair can pass a LINK LED test but fail PROFINET IO because the second pair is used for cyclic traffic.

Step 4 — Verify the PROFINET Device Name

  1. Install PRONETA (Siemens free tool, available from the SiePortal under "Tools & Downloads") on the engineering PC.
  2. Run Network analysis from PRONETA's home screen. The tool sends a DCP identify-all to every reachable device.
  3. Locate the device that should have HW_ID 270 in the result list. Read its actual device name and IP address.
  4. Compare with the TIA Portal configuration:
    • Device name must match exactly (case-sensitive, including punctuation).
    • IP address must be on the same subnet and not duplicate any other device.
  5. If the name is missing or wrong, use PRONETA → Assign PROFINET name to push the correct name. The IO device restarts its PROFINET stack automatically.

Step 5 — Cross-Check the GSD and Module Configuration

  1. In TIA Portal, double-click the IO device in the device view and inspect every slot. The slot configuration must match the actual hardware (number of submodules, order, and article numbers).
  2. If the device firmware has been updated since the TIA Portal project was last saved, the GSD may be out of date. Right-click the device head module → Change device / GSD, then re-import the latest GSD from the manufacturer.
  3. Recompile the project (Project tree → right-click PLC → Compile → Hardware and software (rebuild all)) and download the hardware configuration to the S7-1200.

Step 6 — Address Update-Time / Watchdog Issues

  1. In TIA Portal, open the IO device's properties → PROFINET interface → IO cycle.
  2. The default update time for an S7-1200 IO controller is 1 ms. If the IO device cannot keep up (older drives, ET200S, third-party devices), increase the value to 2 ms or 4 ms.
  3. For drives used in motion control, evaluate IRT mode and the "Performance" view; the application may need to switch from RT_CLASS_1 to RT_CLASS_3 with the topology editor's port interconnections.

Step 7 — Acknowledge the Diagnostic and Clear the SF LED

  1. Once the IO device is reachable and the cyclic exchange is restored, the PLC removes the diagnostic event. TIA Portal shows the corresponding outgoing entry in the diagnostic buffer.
  2. The SF LED stops flashing as soon as the outgoing event is logged. If the LED is still flashing, a second IO device is in fault or the same event has not cleared (the device is reachable but still reporting a channel-level diagnostic).
  3. If the LED persists, use Online & diagnostics → Functions → Acknowledge diagnostics on the IO device to clear the latched channel error. The device's own acknowledge mechanism (e.g., drive's "Acknowledge fault" via p3981) may be required before PROFINET clears the channel diagnostic.

Verifying PROFINET IO Communication After Repair

Confirm restoration using all three views.

  1. Online & diagnostics view: TIA Portal shows the IO device with a green status; the diagnostic buffer no longer contains a pending 02:39CB entry.
  2. Watch table: Open the device's IO tags in a watch table. The input values update at the configured update time; the output values you write are echoed back from the device within one cycle.
  3. PRONETA: Run Topology editor → Check. PRONETA compares the discovered topology (port-to-port cabling) with the configured topology in TIA Portal. Mismatches indicate a swapped cable or a missing device.
  4. Simatic OPC Server: Open the OPC Scout or OPC client. Confirm that the symbol that the user originally read with Scout now shows live data with no quality code "BAD".
Quality of service: If the OPC client is showing "BAD" quality on a tag that maps to the affected IO device, the OPC server is reading correctly but the underlying value is "BAD" because the device is in diagnostic. After the PROFINET IO fault is cleared, the quality returns to "GOOD" on the next refresh interval. Persistent "BAD" quality after the SF LED is off indicates a stale cache in the OPC client or a wrong DB address in the symbol file.

Preventing Future PROFINET IO Station Failures

Three engineering practices reduce the recurrence rate to near zero:

  1. Use a managed switch with PROFINET awareness. Siemens Scalance XC-200 / XB-200 / XC-300 series supports PROFINET conformance class B, prioritizes PROFINET frames via DSCP, and reports port errors to STEP 7 / TIA Portal over SNMP. Error-disable and storm-control features are documented in the Scalance XC-200 Operating Instructions (entry ID 109751635).
  2. Reserve a static IP per device. Configure the DHCP server (or the TIA Portal topology) to assign the same IP and device name on every restart. Use PRONETA's "Save and restore" feature to back up device names after commissioning; a 30-second export prevents a 4-hour troubleshooting session after a field replacement.
  3. Program diagnostic OB83 / OB86. The S7-1200 CPU supports OB83 (insert/remove of a module) and OB86 (failure of a rack or IO device). Adding an OB86 to the program prevents the CPU from going to STOP if an IO device disappears; instead, the application can flag the affected axes or I/O in a status word and the HMI can display the precise HW_ID that is missing. Reference the S7-1200 System Manual for OB86 parameter mapping (OB86_INPUTS includes Event_Code, IO_State, LADDR — the LADDR is the HW_ID of the failed device).

OPC Server and PROFINET IO — Independent Failure Domains

When Scout/Startdrive is functional and the OPC server is functional, the user can confirm that the S7-1200's S7 communication layer is healthy. The PROFINET IO failure is a separate layer. The standard NIC in the PC is the supervisor and is not in the IO data path. This is the key reason the user sees a flashing SF LED and a green RUN LED simultaneously: the diagnostic is "PROFINET IO station failure," not "CPU stopped" and not "communication channel down."

When troubleshooting PROFINET IO faults in this topology, isolate the failure to one of the following layers:

  1. Layer 1 — physical: cable, connector, port, switch.
  2. Layer 2 — DCP: device name and IP address (Discovery and Configuration Protocol).
  3. Layer 3 — PROFINET IO AR (application relationship): cyclic real-time channel between controller and device.
  4. Layer 4 — Application: the device's own diagnostic (e.g., drive fault, sensor overrange).

PRONETA covers layers 1, 2, and 3. The diagnostic buffer covers layers 3 and 4. Scout/Startdrive covers only the acyclic TCP path, which sits outside PROFINET IO. Each tool answers a different question; cross-correlate at least two of them before replacing hardware.

FAQ

What does a flashing red SF LED mean on an S7-1200 with the RUN LED still green?

A flashing red SF LED (typically 0.5 Hz) with a solid green RUN LED means the CPU has detected a non-fatal diagnostic event. The most common cause is a PROFINET IO station failure or a per-channel diagnostic from a module. The CPU continues to execute the user program; only the affected IO device is lost from the cyclic exchange.

How do I find the device that corresponds to HW_ID 270 in TIA Portal?

Open the project, go online to the S7-1200, and navigate to PLC tags → Show all tags → System constants. Search for the value 270. The matching name identifies the IO device or submodule that produced the diagnostic event. Alternatively, the value is shown directly in the diagnostic buffer detail pane for the 02:39CB entry.

Why can Scout read and write symbols while PROFINET IO has a station failure?

Scout uses acyclic S7 communication (TCP port 102) on the PC NIC. PROFINET IO uses cyclic real-time frames on the same physical network. A device can be reachable for acyclic read/write requests while its cyclic PROFINET IO connection is down because the two protocols share a cable but use independent stack implementations in the device.

Can I clear the SF LED without a TIA Portal download or power cycle?

Yes. Once the IO device is reachable and the diagnostic event has cleared on the device, the PLC logs the outgoing event and the SF LED stops flashing automatically. If the LED persists, use Online & diagnostics → Functions → Acknowledge diagnostics on the IO device to clear the latched channel-level error. Do not clear the diagnostic buffer; the historical entries are useful for trend analysis.

What is the difference between error code 02:39CB and an SF LED triggered by an OB not being loaded?

02:39CB belongs to PROFINET IO event class 02 and indicates an IO station failure. An OB-not-loaded event is in class 01 (CPU/program errors) and typically carries codes such as 01:xxxx. The diagnostic buffer shows the event class explicitly in the Details pane. Treat class 02 events as I/O layer issues and class 01 events as program or CPU configuration issues.

Back to blog