1. Problem Overview
A flashing red ERROR LED on a SIMATIC ET 200SP CPU 1510SP-1 PN while TIA Portal V17 reports a status of "differences between online and offline" is one of the most common commissioning messages encountered on S7-1500/ET200SP controllers. The system in question uses:
- Hardware module:
6ES7510-1DK03-0AB0(CPU 1510SP-1 PN, ET 200SP, with display, PROFINET IRT interface) - Engineering: TIA Portal V17, project entry for
6ES7510-1DJ01-0AB0 - Update level: TIA Portal V17 Update 8
- Additional devices: two variable frequency drives configured in the project but not physically connected to the PROFINET network
The symptom is a periodic or steady flashing red LED on the CPU combined with a TIA Portal message that names "online/offline differences" as the cause. The first reaction is usually to try to suppress the diagnostic event. The second reaction, and the correct one, is to read the diagnostic buffer and to identify the actual source of the diagnostic. The online/offline comparison result is frequently an informational summary that includes not only the module type mismatch but also every device in the project tree that the CPU cannot currently reach.
2. ET200SP CPU 1510SP Identification and the Spare-Part Concept
The 6ES7 510-1xxx is the CPU 1510SP-1 PN within the ET 200SP family. The order number (MLFB) encodes the hardware version and the firmware release that the module carries on delivery. The two MLFBs relevant here are:
| MLFB | Designation | Firmware at delivery | Spare-part role |
|---|---|---|---|
6ES7510-1DJ01-0AB0 |
CPU 1510SP-1 PN | FW V2.x | Original project entry (older) |
6ES7510-1DK03-0AB0 |
CPU 1510SP-1 PN | FW V3.x | Spare-part compatible replacement (newer) |
The trailing position of the MLFB encodes the hardware (H) and firmware (F) release. Position 7-8 (e.g. DJ → DK) carries the hardware status, position 9 (e.g. 01 → 03) carries the firmware version. When a new hardware or firmware release is published, Siemens marks the module as spare-part compatible if the new module can replace the previous module without any restriction regarding program execution, communication, and integrated technology. For an S7-1500/ET200SP CPU the spare-part compatibility is indicated by the project marker on the module in the device view of TIA Portal and by the catalogue annotation.
The project property "Spare part compatibility" is enabled by default for new projects in TIA Portal V17 if the selected device supports it. The property can be toggled in Properties → General → Spare part compatibility. When the option is enabled, the CPU firmware tolerates a replacement module with a newer firmware and continues to run the user program unchanged.
3. Online/Offline Comparison in TIA Portal
The online/offline comparison is a built-in function of STEP 7 in the TIA Portal. It compares the project configuration stored on the engineering station (offline) with the configuration reported by the physically connected device (online). It is documented in the Siemens TIA Portal Help under "Offline/Online comparison" and is also accessible through the menu path Online → Online and diagnostics on a selected device. The full documentation index entry is found at Offline/Online comparison - TIA Portal Help.
The comparison evaluates, per slot and per submodule:
- Order number (MLFB) of the module
- Firmware version of the module
- Module status (OK, faulty, not accessible, wrong module)
- Submodule / channel parameter assignment
- Slot occupancy (inserted, missing, wrong slot)
- PROFINET device name and IP address
- Connected PROFINET devices (subordinate IO, drives, third-party stations)
- I&M data (identification & maintenance) of the module
Every line item that differs is shown in the comparison window with a status icon. The status column has the following meaning:
| Icon | Status | Meaning |
|---|---|---|
| ✓ | Identical | Offline and online configuration match |
| ⓘ | Difference (informational) | Not a fault; e.g. firmware newer than the one used to compile the project, or higher hardware revision |
| ✗ | Difference (error) | Module type, slot, parameter, or assignment differs in a way that the CPU cannot start IO data exchange |
For the CPU replacement case (V2.x → V3.x), the difference is almost always shown as informational because the spare-part compatibility of the new module allows the program to run unchanged. The diagnostic events that produce the flashing red LED, however, are written by the CPU's diagnostic buffer and the IO subsystem independently from the comparison window.
4. Why the Red ERROR LED Flashes
The CPU 1510SP-1 PN uses the standard S7-1500 LED pattern. The four LEDs of interest are RUN, ERROR, MAINT and LINK:
| LED | State | Interpretation |
|---|---|---|
| RUN (green) | Off | CPU has no power, or CPU is in STOP |
| RUN (green) | Flashing | CPU is in STARTUP / commissioning |
| RUN (green) | On | CPU is in RUN |
| ERROR (red) | Flashing | A diagnostic event is pending; the CPU is still in RUN |
| ERROR (red) | Steady | A fatal error; the CPU has stopped or stays in STOP |
| MAINT (yellow) | On | Maintenance demanded, e.g. firmware update required, or a forced job pending |
| MAINT (yellow) | Flashing | Maintenance required (a module that should be replaced) |
A flashing red ERROR LED with a steady green RUN LED means the CPU is executing the user program but at least one diagnostic event is active. The CPU itself is healthy; the diagnostic event is generated by a subordinate component (a missing PROFINET device, a channel fault, a configuration error on an IO module) or by the CPU's own diagnosis of the project configuration.
In the case of the two missing VFDs, the IO controller in the CPU reports "PROFINET IO device failure" or "IO device not accessible" for each missing drive. The error LED pattern on the CPU aggregates all of these events. Once both VFDs are either reachable or removed from the project, the LED returns to its idle pattern (only RUN = green, all others off).
5. Reading the Diagnostic Buffer
The diagnostic buffer is the authoritative source for any LED-driven diagnostic on an S7-1500/ET200SP CPU. The buffer is non-volatile and time-stamped. Procedure:
- Select the CPU in the project tree.
- Click Online → Online and diagnostics.
- If not yet established, click Go online and select PN/IE as the type of interface. Choose the correct PROFINET interface and the accessible device from the list.
- Open the Diagnostics folder and select Diagnostic buffer.
- Click the Refresh button (or press F5) to read the current buffer content.
- Read the entries from newest to oldest. The buffer is time-stamped by the CPU clock.
- For each event, double-click the entry to open the Details dialog. The details include the affected slot, the I/O address (if applicable), and the associated OB.
Typical diagnostic buffer entries for the configuration in question are:
| Event ID (hex) | Text | Cause |
|---|---|---|
| 0x031E | "PROFINET IO: Station failure" | A configured PROFINET IO device is not reachable |
| 0x031F | "PROFINET IO: Station return" | A previously failed station has returned |
| 0x013C | "Configuration of station changed" | Online and offline configuration differ |
| 0x457F | "Spare part compatible module inserted" | A spare-part compatible module of a newer firmware was detected |
| 0x0254 | "IO device error: Configuration error" | Submodule slot assignment differs from project |
| 0x0271 | "Diagnostics for module" | A channel-level diagnostic has been written |
| 0x1155 | "STOP due to configuration error" | The CPU went to STOP because of a fatal configuration mismatch |
The "differences between online and offline" line that the user sees in the comparison window is normally a summary derived from entries such as 0x013C, 0x457F, and 0x031E. It is therefore important to read the underlying event ID rather than the summary line, because the summary is identical for very different root causes.
6. Resolving the Online/Offline Mismatch
Depending on the actual cause, one of the following four procedures resolves the issue. In the configuration described, the most likely sequence is 6.1 → 6.2 → 6.3 → 7.
6.1 Confirm the spare-part compatibility for the V3.x CPU
- Open the device view of the CPU.
- Right-click the CPU → Properties → tab General → Catalog information / Spare part compatibility.
- Verify that the option is checked. If the project was originally created with an older TIA Portal version, the option can be unchecked by default.
- Compile the project (Hardware and software, full rebuild: right-click the CPU → Compile → Hardware (rebuild all)).
- Download the new configuration to the CPU.
If the spare-part compatibility is enabled, the CPU tolerates a newer firmware and continues to run the unchanged program. The online/offline comparison still shows a difference (informational) for the firmware version; this is normal and does not affect the program execution.
6.2 Replace the CPU in the project with the actual hardware
If the project was created with the older MLFB 6ES7510-1DJ01-0AB0 but the hardware is the newer spare-part 6ES7510-1DK03-0AB0, the cleanest method is to use the "Replace device" function so that the project reflects the real hardware:
- In the project tree, right-click the CPU → Change device → Replace device (V17 and later).
- Select the new MLFB
6ES7510-1DK03-0AB0from the catalogue and confirm. - TIA Portal carries over the IO configuration, the symbol table, and the connection configuration automatically. The OPC UA server settings and the Web server settings are also carried over.
- Recompile (full rebuild) and re-download.
This step is optional when spare-part compatibility is enabled but is recommended as a long-term project hygiene measure so that the project is identical to the physical hardware. After the replacement, the comparison window should show the new MLFB and the new firmware version as identical, and the diagnostic buffer should contain the entry 0x457F ("Spare part compatible module inserted") rather than 0x013C ("Configuration of station changed").
6.3 Update the project to TIA Portal V17 Update 8
Update 8 for TIA Portal V17 includes several improvements to the spare-part compatibility feature, particularly for the ET200SP CPU family. Steps:
- Open the TIA Administrator (Start → Siemens Automation → TIA Administrator).
- Click Installed software; confirm the current version of STEP 7 Professional V17.
- If the version is older than V17 Update 8, request the update package from the Siemens Industry Online Support (search keyword "TIA Portal V17 Update 8") and install it. Restart the engineering station.
- Open the project. TIA Portal may prompt to upgrade the project to the new version; accept.
- Compile (full rebuild) and re-download.
After the update, the online/offline comparison result for a spare-part compatible module is more accurate, and the diagnostic buffer entry is classified as "spare part" rather than as a generic "configuration mismatch". The user-visible behaviour is that the comparison window no longer highlights the firmware version as a difference when spare-part compatibility is enabled.
6.4 Suppress informational entries (only if no real error is present)
The online/offline comparison window does not have a global "suppress informational" checkbox. However, an informational difference that is generated solely by a spare-part compatible firmware version does not produce a diagnostic event and therefore does not cause the red LED to flash. If the LED continues to flash after steps 6.1–6.3, the cause is a real diagnostic event, not the spare-part difference.
7. Handling Disconnected Devices (VFDs)
The two variable frequency drives in the project, although configured, are not physically connected to the PROFINET network. The CPU therefore reports a station failure for each drive and the online/offline comparison reports a difference. The recommended options, in order of preference, are:
- Connect the drives and assign the configured PROFINET names to the actual hardware. After the next CPU restart, the entries in the diagnostic buffer are written as "Station return" (0x031F) and the ERROR LED clears.
- Simulate the drives with the S7-PLCSIM or with a PROFINET IO simulator. This removes the diagnostic event but is rarely a long-term production solution.
- Remove the drives from the project until the panel is built. Right-click the drive in the device view or network view → Delete. Compile the project and re-download. The CPU will stop reporting station failures because the drives are no longer part of the IO configuration.
- Disable the IO device in the project: open the properties of the drive → IO cycle → uncheck IO device is active. The drive is retained in the project as a placeholder but does not generate diagnostic events. This is the preferred method if the drive needs to remain in the project for documentation reasons.
Method 3 is the cleanest for a project that is being commissioned on a test bench. Method 4 is the correct long-term approach because the drive is kept as part of the IO configuration and can be re-activated once the panel is connected to the network. For a drive that is permanently installed, the IO device must remain active.
For a PROFINET drive, the configuration that is checked by the CPU includes:
- The PROFINET device name (e.g.
vfd-1) - The IP address and subnet mask
- The PROFINET IO device number (slot number in the IO controller)
- The submodule list and the module identifiers
- The Telegram configuration (e.g. Telegram 1 for SINAMICS drives, or a manufacturer-specific telegram)
Any mismatch in this list produces a station-failure diagnostic event and contributes to the flashing red LED. After the corrective action, the diagnostic buffer will contain a "Station return" event (0x031F) for each drive.
8. TIA Portal V17 Update 8 Improvements Relevant to This Case
Update 8 for STEP 7 Professional V17 contains, among other fixes, improvements to the spare-part compatibility for ET 200SP CPUs. The most relevant changes for the configuration in question are:
- Improved online/offline comparison for spare-part compatible S7-1500/ET200SP CPUs, so that the firmware difference is now reported as "spare part" rather than as a generic "configuration error".
- Reduced false-positive diagnostic events when a newer firmware version of a CPU is detected on first online connection.
- Updated device description (GSDML / HSP) for several drive families, which reduces the "configuration error" count for disconnected drives.
- Stability improvements in the project navigation when the project contains a large number of IO devices.
The release notes for TIA Portal V17 Update 8 are published on the Siemens Industry Online Support portal. The release notes for STEP 7 within TIA Portal V17 are referenced by the search keyword "STEP 7 V17 Update 8" on the Siemens support portal.
9. Verification and Commissioning Checklist
After the corrective action, the following checks confirm that the diagnostic is resolved:
- Open the online view of the CPU and confirm that the online/offline comparison shows no ✗ entries. ⓘ entries for firmware version are acceptable when spare-part compatibility is enabled.
- Open the diagnostic buffer and confirm that the most recent events are "Station return" (0x031F) and "Spare part compatible module inserted" (0x457F) and that no "Station failure" (0x031E) entry has been written after the corrective action.
- Observe the LEDs of the CPU: the green RUN LED is on, the red ERROR LED is off, and the yellow MAINT LED is off (unless a maintenance event is intentionally pending).
- In a watch table, write a value that exercises the IO of the connected drive (e.g. control word 1) and verify that the IO data is exchanged. The status word should be updated within one PROFINET update cycle.
- Use the Trace function of the CPU to record the IO data for one cycle and to confirm that the telegram is complete and that no substitute values are used.
- Save the project to the TIA Portal project server (or to a versioned location) so that the project reflects the actual hardware. Commit the change to the version-control system if one is in use.
10. Best Practices and Pitfalls
- Always read the diagnostic buffer first. The online/offline comparison window is a summary; the diagnostic buffer is the primary source.
- Use the "Replace device" function (V17 and later) rather than the "Change device" dialog so that the project tree, the device configuration, and the IO assignments are migrated together.
- For projects that mix firmware versions of the same CPU, always enable the spare-part compatibility property explicitly so that the behaviour is deterministic.
- For a test-bench build, remove the hardware that is not yet on the bench from the project. Disconnected devices generate diagnostic events even if they are merely disabled.
- For a panel build, leave the devices in the project as disabled IO devices. They serve as documentation and as a configuration reference for the wiring diagram.
- Never clear the diagnostic buffer. The buffer is the only place where the firmware records a permanent trace of every diagnostic event that affected the CPU.
- When the flashing red LED is observed, do not assume the cause from the comparison window. The comparison is one of several sources that contribute to the LED state.
- For PROFINET drives, always assign the device name from the engineering station (right-click the device → Assign PROFINET device name) rather than from the display of the drive, so that the project and the physical device are guaranteed to match.
- For spare-part compatible modules, keep the HSP (Hardware Support Package) up to date. A newer HSP carries the new MLFB and the new firmware and is required for the "Replace device" function to find the new module.
- Document the firmware version of every CPU and IM in the project. The firmware version is stored in the I&M0 data of the module and can be read via the Web server of the CPU.
11. Spare-Part Concept Architecture (Reference)
The spare-part compatibility of an S7-1500/ET200SP CPU is implemented at the firmware level. When the CPU detects a module in a slot that has the same article number but a newer firmware version, the CPU writes a diagnostic event of type "Spare part compatible module inserted" and continues to run the user program unchanged. The CPU does not downgrade the firmware of the module; the newer firmware is left active.
For a project to be spare-part compatible, the following must be true:
- The project must contain the new MLFB in the catalogue (i.e. the HSP is installed).
- The spare-part compatibility property of the CPU in the project must be enabled.
- The user program must not call any system function that is bound to a specific firmware version (rare in practice; for example, a custom firmware extension).
If the project was created in an older version of TIA Portal and the new MLFB is not yet known to the catalogue, TIA Portal will display a placeholder module in the device view. The placeholder can be replaced with the new module once the HSP is installed. The catalogue index is updated by Options → Support Packages → Install HSP.
12. Related Diagnostic Functions in TIA Portal
Beyond the online/offline comparison, TIA Portal V17 provides the following diagnostic functions that are useful in this scenario:
| Function | Menu path | Purpose |
|---|---|---|
| Online and diagnostics | Right-click the device → Online and diagnostics | Connect to the device, read diagnostic buffer, read I&M data, run force tables |
| Online access | Online → Accessible nodes | List every device reachable on the PROFINET / Ethernet subnet |
| Trace | Right-click the device → Trace | Record IO and tag values over time, with trigger conditions |
| Watch table | Project tree → Watch and force tables | Read and write tags, force IO, monitor in real time |
| Web server | CPU → Properties → Web server | Access the diagnostic buffer and the module status from a browser |
| Topology editor | Network view → Topology view | Compare the configured topology with the actual cabling |
For a commissioning engineer, the combination of the online/offline comparison (for configuration), the diagnostic buffer (for firmware events), the trace (for IO data), and the topology editor (for cabling) covers the four most common sources of an unexpected ERROR LED on an ET200SP CPU.
FAQ
Why does the red ERROR LED flash even though the online/offline difference is "only informational"?
Because the comparison window is not the source of the LED. The LED is driven by the diagnostic buffer. In the reported case, the two disconnected VFDs produce a "Station failure" diagnostic event (0x031E) which, in turn, drives the LED. Once the VFDs are reachable or removed from the project, the LED clears.
Can I suppress the online/offline difference message in TIA Portal?
No, not in the sense of disabling the comparison. The comparison runs every time you go online. An informational difference (e.g. a newer firmware version on a spare-part compatible CPU) is normal and does not generate a diagnostic event. A ✗ difference (e.g. a wrong module in a slot) is a real error and must be resolved at the hardware or project level.
What is the difference between "Change device" and "Replace device" in TIA Portal V17?
"Change device" replaces the module in the project tree but does not migrate the IO configuration, the symbol table, or the connection configuration automatically. "Replace device" (introduced in V17) does. Use "Replace device" for CPU and IM replacements.
Does TIA Portal V17 Update 8 improve the spare-part compatibility behaviour?
Yes. Update 8 changed the online/offline comparison for spare-part compatible S7-1500/ET200SP CPUs so that a newer firmware is reported as "spare part" rather than as a generic "configuration error". It also reduces the false-positive diagnostic events that may be written on the first online connection.
How do I clear the diagnostic buffer after the issue is fixed?
You should not clear the diagnostic buffer. The buffer is the primary maintenance record for the CPU. Instead, use the "Save as text file" button to export the buffer to a plain-text file, and keep the export with the project archive.