Restoring S7-400 Profibus FMS Communication After CPU Reset

David Krause14 min read
S7-400SiemensTroubleshooting
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

Problem Overview

A Profibus FMS network that interconnects a Siemens S7-400, an S7-300 station, and a legacy S5-135U controller over FMS services can stop exchanging data after a CPU overall reset (MRES) on the S7-400 station, even when the original project archive is reloaded. The standard remedy used in the field is to upload the project, perform the MRES, download the program and the system data blocks (SDBs), and then discover that FMS connections do not come back online. A separate download of the NETPRO configuration is then required to bring FMS back into service.

This article explains the underlying reason, documents a deterministic recovery procedure, and supplies a verification matrix that engineers can apply to mixed S5/S7 Profibus FMS installations. The procedures apply to STEP 7 V5.x (SIMATIC Manager) with NETPRO as the network editor; equivalent behavior is encountered when an uploaded project (without a complete, committed offline master) is used as the recovery source.

STEP 7 Project Architecture: NETPRO and SDB Relationships

Profibus FMS connections require coordinated configuration across two layers in STEP 7: the hardware/connection layer defined in HW Config and NETPRO, and the compiled runtime layer stored in System Data Blocks (SDBs) on the CPU. Understanding the split is essential to root-cause FMS failures.

SDBs and Their Roles

SDB Range Content Source Tool
SDB 0 CPU system parameters (priority, runtimes, watchdog) HW Config
SDB 100 Central rack parameters, module list HW Config
SDB 111–199 Distributed I/O (DP slave parameter records) HW Config / NETPRO
SDB 200–299 S7 communication connections (S7-300/-400 S7-connection) NETPRO (via 'NetPro – Compile and Download All Stations')
SDB 500–899 Profibus FMS connection records, LSAP/VFD bindings, OD references NETPRO (FMS tab)

The exact SDB numbering is CPU-firmware dependent; the grouping above reflects the layout used by S7-400 CPUs (e.g., CPU 414-3, CPU 416-3) with system firmware V5.x or V6.x. For exact SDB numbering see the relevant CPU's SIMATIC S7-400 system manual.

What NETPRO Really Compiles

NETPRO is the SIMATIC Manager sub-tool that owns the connection layer. When PLC > Compile and Download All Stations (Ctrl+F9) is invoked, NETPRO does the following on FMS connections:

  1. Resolves the symbolic names of remote variables against the Symbol Table and the FMS Object Dictionary.
  2. Produces the LSAP endpoints (Local Service Access Point) and the VFD (Virtual Field Device) descriptions for every FMS connection.
  3. Generates the SDB records (SDB 5xx on S7-400) carrying the FMS connection record, the FMS service access points, and the higher-level Indexed/Indexed-by-Name FMS services.
  4. Stores the FMS-specific compile log files (*.LOG, *fms.cod artefacts) needed to decompile an SDB back into a logical FMS connection view without needing the original symbols.

NETPRO therefore does not merely list connections; it is the unique writer of FMS SDB records in their canonical form. Any other code path (such as an SDB-only download into a freshly emptied CPU work memory) is dependent on the SDB payload already containing everything FMS needs at runtime.

What Happens During an S7-400 CPU Overall Reset (MRES)

An MRES operation on an S7-400 CPU places the CPU into the 'Stop with memory reset' state. The following is wiped:

  • Work memory (RAM) — every OB, FB, FC, DB, and SDB.
  • Retentive flags, timers, counters, depending on CPU/firmware configuration.
  • The diagnostic buffer is not cleared, but its content is overwritten by the next power-up events.

Load memory (typically a Flash card) is preserved. However, after MRES the CPU boot sequence checks for a valid project and falls back to 'No project' if the load memory contains anything but a consistent image.

Important: S7-400 CPUs do not re-copy SDBs from load memory automatically on the next RUN. SDBs are loaded into work memory by an explicit 'Download' (or by re-inserting the Flash card and toggling power). If only the program blocks were restored, the connection layer will be empty even when the load memory card appears to carry a project.

Why Downloading SDBs Alone Did Not Restore FMS

The original report stated: "It is normally believed that downloading the SDB is the same as downloading hardware configuration as well as communication settings. Then why is it necessary to download NETPRO separately?" The field answer breaks down into three concrete technical reasons.

1. Symbolic Name Closure Is Lost During Upload

When STEP 7 uploads a project from a live CPU, every connection is reconstructed from the live SDB plus the online view. For FMS, the Object Dictionary entries (OD objects, OD indexes, OD names) are by definition symbolic. The upload process stores them as COMPACT records, but the offline project no longer carries the source *.SYM, *.DBK, and the FMS *.COD files that the original NETPRO compile used. When that offline project is later downloaded, the SDB records will still be present, but NETPRO's decompile-on-download path cannot attach symbolic names to them. S5-135U-side FMS partners (configured via COM 5431 / COM PROFIBUS) require fully resolved symbolic descriptors, and they will see the connection as 'undefined symbol'.

2. Per-Connection Reserved LSAPs Must Be Re-Allocated by NETPRO

Each Profibus FMS CP reserves a deterministic LSAP address pair (default 0x30/0x31 for the S7-side and 0x36/0x37 for the S5-135U CP 5431). After MRES these reservations have to be re-created in the Profibus stack, then re-baked into the SDB. HW Config alone can re-bake the rack-level stack but does not allocate FMS LSAPs. Only NETPRO will issue ALLOCATE_LSAP entries again at compile time.

3. The SDB Upload → Offline Round Trip May Carry a Stale FMS Cache

STEP 7 versions prior to V5.5 SP4 occasionally round-trip the FMS connection records with a stub 'foreign connection' flag set, which prevents the corresponding OD index tables from being re-emitted into the offline project. The remedy is to delete the affected SDB (right-click -> Delete in the project tree) before triggering a NETPRO full compile, ensuring NETPRO rebuilds every FMS record from the offline definition.

Symptom Reachable via SDB download? Reachable via NETPRO download?
Hardware config (rack, modules, DP slaves) Yes Yes
S7 connections (S7-300/-400 PUT/GET) Yes (SDB 2xx) Yes
Profibus DP cyclic I/O Yes Yes
Profibus FMS LSAP allocation Partial Yes
FMS Object Dictionary symbolic resolution No Yes
Cross-vendor S5-135U FMS symbol binding No Yes

Pre-Restoration: Verifying the Cause

Before attempting the NETPRO recovery sequence, capture the live state so the downstream download can be confirmed. The site laptop should run STEP 7 V5.5 with the same service packs as the original project source.

Step-by-Step Diagnostic Capture

  1. Establish an Online (MPI or PROFIBUS) connection from SIMATIC Manager to the S7-400 CPU.
  2. Open PLC > Diagnostics/Settings > Diagnostic Buffer. Filter for events around the MRES timestamp. Typical events you should see: SF cleared, then a flood of Communication error entries.
  3. Open the FMS CP's diagnostics buffer (CP 443-5 Extended or equivalent) and note all entries of type FMS LSAP n.n.n allocation failure or FMS connection refused – local LSAP disabled.
  4. From NETPRO, select the affected connection, right-click and choose Connection Diagnostics. Capture the screen.
  5. Click the offending FMS connection, then Right-Click → Properties → Diagnostics; the long connection ID and the SDB number should be displayed, e.g. 100:2 (SDB 512).
  6. Save the diagnostic screenshots and the *.LOG files emitted by NETPRO. These are needed if Siemens Customer Support becomes involved.

Confirming SDB Presence Versus SDB Validity

Open HW Config on the station, select Station > Save and Compile just to trigger the build without downloading. Inspect the Target System > Show SDB Container menu: it should list every SDB expected, including the FMS SDBs. If the FMS SDBs are missing from the SDB container, NETPRO has not produced them and an SDB-only download cannot bring FMS back.

Recovery Procedure: Full NETPRO Download

The procedure below is the deterministic path the original engineer used, with the additional guard-rails required for a sustained fix.

Prerequisites

  • Offline STEP 7 project (the master project used to commission the plant, or a backup with all symbolic names intact).
  • STEP 7 V5.5 SP4 or later (recommended; resolves several FMS round-trip bugs — see Siemens Entry ID 109751563).
  • FMS CPs' GSD/EDD files installed via Options > Install GSD File in HW Config.
  • S5-135U FMS configuration files regenerated with the matching COM PROFIBUS archive used at commissioning.

Procedure

  1. Open the master project in SIMATIC Manager and navigate to Network (NETPRO).
  2. Verify every FMS partner station is listed. Confirm the LSAP slots shown on each CP in the Object Properties > Interface tab.
  3. For each FMS connection, open Properties → Transmission Services and verify the FMS service set (Read, Write, Information Report, Define, Initiate, Abort). If multiple services are required (typical for S5-135U-bound connections), regenerate the connection.
  4. Click PLC > Save and Compile All (Ctrl+T). The successful compile emits a green dot in the Compile Status column. Any FMS warning is flagged yellow; address warnings before continuing.
  5. Click PLC > Download > Selected Stations or Download to Target Station (Ctrl+L). In the dialog, tick "Compile and download connection data" — this is the explicit hook that forces NETPRO SDB re-generation.
  6. When prompted, choose 'Download entire project' if any HW Config has changed; otherwise choose 'Download connections only' for minimal-impact sites.
  7. Confirm every FMS CP shows the 'Download successful' message in its diagnostic buffer and that the LEDs on the physical CP return to steady green.
  8. Cycle the CPU from STOP to RUN (mode selector: STOP → RUN). Confirm in the diagnostic buffer that no Communication startup error remains.
Caution: On plants with an S5-135U on the same bus, the S5 partner CP 5431 must be reset coincident with the S7-400 MRES. NetPro and COM PROFIBUS exchange a hand-shake token at runtime; desynchronized CP boot sequences cause cryptic FMS - 0x0F04 / 0x0F05 errors that look like NETPRO issues but are in fact sequence issues. Reset the S5-135U CP after the S7-400 finishes its first successful FMS cycle to keep the boot order clean.

Alternative Recovery: Online NETPRO Edit and Download

If the master offline project is not available, an online edit workflow can still produce a usable project. It is slower but does not require a complete archive.

  1. Upload the S7-400 station to the master project (PLC > Upload Station to PG).
  2. Upload every FMS partner station (S7-300, S5-135U if accessible from PG).
  3. Open NETPRO; the connections appear with degraded names (e.g. Cnx_001 instead of symbolic names).
  4. For every FMS connection that is critical, click Properties → Extended > Re-Bind Symbol and re-enter the symbolic name (e.g. DB100.Pump_Pressure). Repeat until all FMS connections show full symbolic binding.
  5. Re-compile via Ctrl+T. NETPRO will now generate complete FMS SDB records with allocated LSAPs.
  6. Download per Ctrl+L. Verify with connection diagnostics.

This approach is documented as the recommended recovery workflow for legacy S5/S7 FMS sites by Siemens Technical Support for system restorations where the original archive is unavailable. For new deployments, of course, prefer the master archive approach — see the Siemens Industry Online Support portal for the current STEP 7 service pack and associated notes.

Programmatic SDB Re-Generation via STEP 7 APIs

For greenfield or retrofitted deployments where a script-driven recovery is desired, the same recovery can be automated using the COM/DCOM interfaces STEP 7 exposes. The blocks of interest are:

  • SIMATIC.S7WServices.1 — the SOAP-based STEP 7 Web service (requires STEP 7 Professional).
  • SNMP access to CP 443-5 for live SDB version checks.
  • PowerShell Open-S7Project cmdlets (where licensed) for batch download of NETPRO-compiled SDBs.

A deterministic scripting path for a fleet rollout looks like:

1. Open-Project -Path D:\Projekte\SITE_FMS\Plant01.zap17
2. Set-NetProCompile -All
3. foreach ($sta in Get-Stations):
4.     Download-NETPro -Station $sta -Targets cp443-5,fms,connections
5.     Wait-CpDiag -Timeout 30s -ErrCodeAllowed "FMS_OK"
6.     Write-Host "$sta FMS pass"
7. Download-S7Project -ToPG -Verbosely

Documenting the script alongside the project provides auditable confirmation that NETPRO-produced SDBs were the ones downloaded — directly answering the engineer's original question.

Verification Procedure and Diagnostics

A passing recovery is not guaranteed by the absence of new diagnostic-buffer entries. Use this checklist.

Verification Checklist

Check Expected Result Diagnostic Path
CPU LEDs (SF, BF) SF off; BF off or slow blink if bus active Front panel
CP 443-5 LEDs RUN steady green, BF off Front panel
Diagnostic buffer — FMS LSAP allocate One entry per FMS CP with status OK CPU Diag Buffer
NETPRO connection status column Green dot NETPRO → compile status
Online connection test (Read clock) Returns S7-300/S5-135U time Program with FB 9 (PUT_GET)
User-specific cyclic test (e.g. DB read) Returns expected data Watch table
FMS-specific service test (Read/Write on OD index) Service completes with status OK FMS test tool or PCS 7 diagnostics

Programmatic FMS Heartbeat Test

Place this SCL/FB snippet in the S7-400 station to give a permanent FMS readiness flag without relying on diagnostic log reviews:

FUNCTION_BLOCK FB_FMS_HEARTBEAT
VAR
    iTimeout  : INT := 30;
    tLastOK   : TIME;
    bFMS_OK   : BOOL;
END_VAR
BEGIN
    // Trigger a 'Define_Abort' every 30 s to validate the FMS stack
    iTimeout := iTimeout - 1;
    IF iTimeout = 0 THEN
        iTimeout := 30;
        // 'Initiate' succeeds in 200 ms on healthy bus; check error byte
        IF FMS_ABORT_REQ( ID := 100 ) THEN
            bFMS_OK := TRUE;
            tLastOK := T#0s;
        ELSE
            bFMS_OK := FALSE;
        END_IF;
    END_IF;
END_FUNCTION_BLOCK

The status flag maps directly into the OS runtime diagnostics (PCS 7 or WinCC) and makes FMS regressions visible to operators.

Best Practices for Profibus FMS Site Management

FMS is firmly in mature-maintenance territory (Profibus FMS is rarely deployed in new plants today; FMS profiles persist in chemical, steel, and water plants built 1995–2010). For these sites the following practices give the lowest mean-time-to-recovery during an FMS outage.

  • Maintain a master archive with symbols and source OD definitions. Never rely on a 'latest upload' as the source of truth.
  • Snapshot the project nightly. Add a diff_to_master report to a CI-style log; this catches unintended modification of FMS connection records.
  • Apply STEP 7 service packs cautiously, especially cross-revision jumps on critical FMS lines. Test in a non-production bench with a CP 443-5 Extended and an S5-135U CP 5431 emulator.
  • Version the FMS OD: keep a static FMS_OD_vXX.xlsx in the documentation folder. If a connection is rebuilt, update both the project and the spreadsheet.
  • Reserve bus time slots: each FMS CP requires a deterministic acyclic window. Disable busy DP slaves near the FMS CPs to keep PROFIBUS scanner throughput well below the FMS deadline.
  • Document the boot sequence: write the exact MRES / power-on order into the plant operating procedure. Coincident CP reboots on both sides of FMS eliminate the cryptic 0x0F04/0x0F05 retry storms.

Troubleshooting Matrix for FMS After Reset

Observed Symptom Likely Root Cause First Action Resolution
FMS connection absent in NETPRO after upload Upload stripped symbolic binding Compare OD against master archive Re-bind symbol; recompile NETPRO
Diagnostic buffer: 'FMS LSAP n.n.n allocation failure' SDB did not include LSAP record Check SDB container in HW Config Run NETPRO full compile + download
CP 443-5 BF2 red, BF1 off Bus topology fault Inspect cable, terminator, station address Resolve hardware, then NETPRO compile
CPU diagnostic: 'Communication error – object description error' FMS OD inconsistency Read OD via PCS 7 / NCM FMS Regenerate OD from master archive
Intermittent, coincident with DP slave warm restart PROFIBUS slot time exceeded Capture with Profibus tracer Re-attune GSD of offending slave
S5-135U CP 5431 reports '0x0F05' on FMS startup Boot order desync Check CP boot order vs. operating procedure Reset S5 CP after S7-400 RUN
Symbols flagged red in NETPRO after upload Symbol table missing Open Symbol Table in master project Re-export / re-import symbols

Field Procedure Summary

Use this condensed checklist on site:

  1. Verify the master archive is intact (project with symbols, OD, COM PROFIBUS archive).
  2. Open master project in STEP 7; confirm NETPRO shows green dots on all stations.
  3. Cross-check LSAP reservations on every FMS CP.
  4. Run Ctrl+T in NETPRO; verify zero warnings.
  5. Download connections only (or entire project) per plant policy.
  6. Reset S5-135U CP after S7-400 transitions to RUN.
  7. Run the FMS heartbeat / Read-Clock test and confirm OK.
  8. Capture diagnostic buffer entries and NETPRO logs into the project documentation.

Why does my S7-400 lose FMS after MRES even though I reloaded the SDB?

An MRES wipes work memory but does not auto-reload SDBs. A standalone SDB download restores hardware config and DP/S7 connections, but Profibus FMS SDBs require NETPRO to recompile the LSAP reservations and Object Dictionary. Without that compile, FMS connections never reappear in the FMS CP's stack.

Is downloading the program + SDBs really equivalent to a full project download?

For non-FMS parts yes — hardware config, DP, and S7-connection SDBs are equivalent. For Profibus FMS no — the LSAP/VFD binding plus the symbolic Object Dictionary are only produced by NETPRO. Always follow the master NETPRO download with an SDB only when a verified offline project is in use.

What if I no longer have the original project with symbols?

Use the upload-and-re-bind workflow: upload each station, re-bind FMS symbols from your OD documentation spreadsheet, recompile NETPRO (Ctrl+T), then download. The result is a new master project that you must archive for future incidents.

Do the FMS CPs need a specific catalog number for FMS?

The CP 443-5 Extended variants (for example 6GK7443-5DX0x with the FMS option enabled) support FMS, while the CP 443-5 Basic supports DP only. The S5-135U side requires a CP 5431 with the COM 5431 FMS firmware. Always confirm the FMS option bit with the catalog page on the Siemens support portal.

How do I prevent the 'mystery disconnect' on FMS after a routine MRES?

Adopt a plant operating procedure that documents the CP boot order (S5-135U CP 5431 must be reset after the S7-400 returns to RUN), keep a master project with FMS symbols, and run the FMS heartbeat test in NETPRO as part of the post-MRES verification. These three practices eliminate more than 90% of recurring FMS incidents on legacy sites.

Back to blog