STEP 7 SDB Upload: Backing Up System Data Blocks Safely
System Data Blocks (SDBs) are the configuration backbone of every SIMATIC S7 project engineered with STEP 7 V5.x (SIMATIC Manager). Unlike the user-writable DBs that hold process data, SDBs are generated automatically by the configuration editors—HW Config for the hardware layout, NetPro for the communication connections, and the global data editor for cross-CPU data exchange. The SDBs are compiled, downloaded to the CPU's load memory, and re-uploaded whenever the engineer needs to mirror the as-built state of a target station back into the offline project on the programming device (PG).
When you upload from a PLC to the PG, the SDBs come along with every other block. The questions that frequently arise in field service are whether this upload will rewrite the offline HW Config in the project, and whether a project can be safely archived simply by uploading the station. This article answers both questions, explains the warning about missing software packages such as the Moby ASM 475/476, and provides a step-by-step backup procedure that protects the configuration from silent corruption.
What SDBs Contain in STEP 7 V5.x
An SDB is a numbered container (SDB 0 through SDB 2047 in practice) holding structured configuration data compiled by the three configuration editors in SIMATIC Manager:
| Configuration Editor | Information Stored in SDBs | Typical SDB Range |
|---|---|---|
| HW Config | Rack layout, module order, module parameters (analog scaling, digital debounce, interrupt enables), PROFIBUS DP slave assignments, PROFINET IO device assignments, isochronous mode settings, module diagnostics addresses | SDB 1, SDB 4-7, SDB 100+ |
| NetPro | PG/OP connections, S7 connections, S7 connection redundancy, ISO-on-TCP, TCP, UDP connections, routing tables, time-of-day synchronization paths, OPC server connections (when configured from NetPro) | SDB 2, SDB 8-9, SDB 20+ |
| Global Data | Circular GD packet definitions, scan rates, status byte assignments between CPUs in a PROFIBUS GD circle | SDB 10, SDB 11 |
| System | CPU startup parameters, OB selection, scan cycle monitoring time, process image partition assignments, diagnostic buffer pointers, runtime metering base | SDB 0, SDB 13 |
The user blocks—OBs, FBs, FCs, DBs—do not live in SDBs. Neither do comments, symbols, sources, or STL/SCL/FBD source files. The SDBs therefore capture everything that is not user code plus everything that is not documentation, which is exactly what a system integrator needs for a faithful backup of a running machine. As stated in the source material, "SDB stores HW config, connections (from NET PRO) and global data. In other words, all configurations that were not placed in OB, FB, FC and DB."
When the CPU boots, it reads the SDBs from the load memory (MMC card for S7-300/CPU 31x, integrated FlashC for S7-400 CPUs without MMC) and uses them to parameterize the central rack, the distributed I/O, and the communication stack. Replacing the SDBs is the standard way to change the hardware layout of a running system without re-writing user code.
SDB Memory Layout and Lifecycle
The SDBs live in load memory. On a S7-300, load memory is the Micro Memory Card (MMC); on a S7-400, it is either the integrated FlashC or an external FlashCard, depending on the CPU generation. Work memory holds only the runtime instance of the SDBs needed for the current operating state, plus the user blocks.
| Phase | SDB State | Notes |
|---|---|---|
| Compile (HW Config / NetPro) | SDBs generated as SDB files in the offline project | Stored in the project under Station > S7 Program > Blocks > System Data |
| Download (full or delta) | SDBs transferred to load memory on the CPU | Some SDBs trigger module re-parameterization; the diagnostic buffer records a "Module parametrization" entry |
| CPU startup | SDBs parsed, modules parameterized, distributed I/O checked | If a module is missing or has the wrong order code, startup halts with "Parameter assignment error" |
| Online operation | SDBs remain in load memory and work memory | Some SDBs are hot-swappable (e.g., GD circles); others require CPU STOP to modify |
| Upload | SDBs read back from load memory and reassembled into the offline project | NetPro rebuilds the connection list from the SDBs; HW Config rebuilds the rack from the SDBs |
When you delete SDBs from the offline project but leave them on the CPU, the CPU continues to run with the original configuration. A subsequent download of the modified (SDB-less) project clears the SDBs on the CPU and the system reverts to default parameterization—this is the most common cause of "the network stopped working after a small change" field reports. The cardinal rule: never delete SDBs from the offline project without an explicit reason.
SDB Upload Procedure
The standard upload path in SIMATIC Manager pulls every block—including the SDBs—from the target CPU. The procedure is identical for MPI, PROFIBUS, or Industrial Ethernet (ISO-on-TCP) as long as the PG can reach the PLC's online interface.
Prerequisites
- STEP 7 V5.5 SPx (SP2/SP3/SP4) or later installed on the PG.
- An online connection from PG to PLC—USB/MPI adapter, CP 5512/CP 5621 PROFIBUS card, or standard Ethernet NIC with the right ISO-on-TCP route.
- The PLC's MPI/DP/PN address known, or a "Accessible Nodes" browse available.
- Read/write permission in STEP 7 (Settings → Set PG/PC Interface).
- For S7-400H redundant systems, both CPUs accessible to ensure a coherent SDB upload.
- Sufficient free disk space on the PG for the resulting project archive.
Step-by-Step Upload
- Open SIMATIC Manager and connect to the target station. Use PLC → Accessible Nodes if the project is unknown, or navigate to the existing offline project.
- Select the S7 station (S7-300 or S7-400) in the project tree.
- Choose PLC → Upload Station to PG (German: PG-Upload von Station). The system prompts for the target project name and folder.
- SIMATIC Manager compiles the upload: it reads all blocks (OB, FB, FC, DB, SDB, SFB, SFC) plus the system data, then recreates a 1:1 mirror of the CPU's program and configuration in the new project.
- After the upload completes, double-click Hardware to open HW Config. The rack should be populated identically to the source. If a "Software package not installed" message appears, refer to the Moby ASM 475/476 section below.
- Open NetPro and verify that the connection list matches the live system. Cross-check OPC, S7, and ISO-on-TCP connections against any external documentation.
- Archive the project immediately: File → Archive or use the STEP 7 project archiver. A ZIP-based archive (.zap) is the standard interchange format.
Verification
- Compare the uploaded project's block count with the CPU's online view: PLC → Compare Blocks (ONLINE/OFFLINE) should report "Identical" for every block.
- Open Accessible Nodes → [CPU] → Module Information → Diagnostic Buffer and confirm no "Parameter assignment error" entries appeared after the SDB roundtrip.
- Cross-check the rack in HW Config against the physical rack. Slot numbers, module order, and PROFINET device names must match.
- Verify the CPU's firmware version in Module Information → Identification against any project documentation.
Effect on Offline HW Config
The answer to the engineer's first question is yes, but with a precise scope: the upload replaces the offline HW Config in the destination project with the configuration that was compiled and downloaded to the target CPU. The previous offline configuration in the project is overwritten; SIMATIC Manager does not merge or reconcile differences. If the offline HW Config was a working A, and the live CPU runs a working B, the result after upload is B. A is gone.
[ProjectName]_[CPU-MAC-Last6]_[YYYYMMDD].zap.
There are two notable edge cases that catch even experienced engineers:
- CPU operating with default SDBs only. If the CPU was never parameterized—uncommon in production but possible in bench setups or after a full memory reset—the upload yields a minimal SDB 0/1 with no DP, no PROFINET, and no S7 connections. The offline HW Config from the original project is therefore replaced with an essentially empty one. The diagnostic buffer on the CPU will show only startup entries without "Module parametrization" records—this is the reliable indicator.
- CPU with manually edited SDBs on a MMC. For S7-300 CPUs with an external MMC, it is possible (though not recommended) to swap a project on the card outside of STEP 7. The upload reflects the MMC's SDBs, not the original STEP 7 project. In this case, the upload effectively becomes a "read what's in the card" operation, and the project will not match the original engineering database.
- SDB regeneration on download. If the offline HW Config is re-compiled with a different STEP 7 service pack or a different S7-CPU support package, the SDB numbers and content may shift. The CPU will accept the new SDBs but module parameter defaults may change. Always pin the PG's STEP 7 service pack version when restoring a long-running system.
Moby ASM 475/476 Software Package Warning
The message "The project contains objects of the software 'Moby ASM 475/476' which cannot be edited because the software package is not installed" originates in HW Config. The Moby ASM 475 and ASM 476 are communication modules from the SIMATIC RF (RFID/Moby) family that interface an S7-300/ET 200S station to RFID readers. They are delivered with a dedicated software package that adds module type definitions, parameter dialogs, and GSD-equivalent information to HW Config.
When you upload a station that contains an ASM 475 or ASM 476, the SDBs come back intact, but the offline project lacks the software package that HW Config needs to render the module. The consequences are:
| Action | Result Without Software Package |
|---|---|
| View the rack layout | Possible—module is shown as a "black box" placeholder with type name but no editable parameters |
| Open the module's properties | Blocked—parameter dialog cannot be rendered |
| Compile HW Config | Fails for the affected module; SDB regeneration is incomplete |
| Download modified HW Config | Not recommended—the module's SDBs may be lost or corrupted on re-compile |
| Roundtrip (upload → download without changes) | Safe—SDBs are preserved bit-for-bit |
| Archive the project as a safety backup | Safe and recommended |
For a backup-only workflow—upload, archive, do not modify—the missing software package is a nuisance, not a blocker. The SDBs are preserved exactly as found in the CPU, which is the goal of a safety backup. This is the answer to the engineer's second concern: yes, you have a faithful backup of all hardware configuration and program blocks when you upload the SDBs, even with the Moby ASM 475/476 package absent.
Other modules that exhibit the same behavior and should be treated the same way include:
- CP 343-1/CP 443-1 with optional CPs and the associated NCM S7 Industrial Ethernet diagnostics package.
- S7-300 FM (Frequency Measurement) modules and FM 350/351 counter modules.
- S7-400H-specific redundancy objects (H-CPU pairing, Y-Link).
- S7-Distributed Safety F-library hardware objects.
- SIMOTION Scout objects if the project crosses the PLC/motion boundary.
The pattern is identical: the SDB is uploaded intact, but the offline editing capability is gated by the installation state of the corresponding software option. Treat the project as read-only until the package is installed.
Safe Roundtrip Upload/Download Practices
A roundtrip—upload from CPU, then download the uploaded project back to the same CPU without modification—is a recognized housekeeping step and is safe under the following conditions:
- No software packages are missing on the PG. If HW Config flags a missing package, the SDB regeneration on the download side may strip the affected SDBs. The "roundtrip" then becomes a destructive operation, not a housekeeping one.
- The CPU is in STOP or RUN with the correct operating mode. For S7-300, a download in RUN is supported only for individual blocks, not for full station re-download. For S7-400, full download in RUN is supported but triggers a re-initialization of the affected modules; some SDBs require STOP to take effect.
- The SDBs have not been corrupted in the load memory. A diagnostic buffer entry of the form "Parameter assignment error" or "Station failure" should be cleared before the roundtrip.
- For S7-400H, both CPUs have identical SDB content. Use PLC → Compare FBs/FCs/DBs/SDBs across the H-pair before the roundtrip.
- PG and CPU firmware are compatible. The SDBs reference module parameters validated against the firmware version. A mismatched PG support package can produce SDBs that the CPU rejects.
The recommended roundtrip procedure:
- Archive the live CPU's project (upload only—no offline edits).
- Re-download the archived project to the same CPU from a known-good PG.
- Verify online/offline identity: PLC → Compare ONLINE/OFFLINE must report "Identical" for all block types including SDBs.
- Watch the diagnostic buffer for "Module parametrization" entries for 60 s after the download.
- Run a controlled process start and confirm the system is healthy before handing the line back to production.
PROFIBUS and PROFINET SDB Specifics
The SDBs for PROFIBUS DP and PROFINET IO contain a denser structure than the central-rack SDBs, because the distributed I/O configuration carries slave/device addresses, GSD-derived module lists, and watchdog timers. A typical S7-316 with one PROFIBUS DP slave line and one PROFINET IO line generates SDBs in the 100-400 range:
| Fieldbus | Information Compiled into SDBs | Failure Mode if SDB Corrupted |
|---|---|---|
| PROFIBUS DP master (integrated or CP) | Bus parameters (baud rate, Tslot, Tset, Ttr, min Tsmdr), slave addresses, slave diagnostic addresses, I/O slot mapping, isochronous parameters | DP slaves go to "Station failure"; BF (bus fault) LED on the master; diagnostic buffer "DP master system error" |
| PROFINET IO controller | Device names, IP addresses, device replacement without removable medium, port interconnections, update times, IRT slot mapping | IO devices go to "Station failure"; BF LED on the controller; "PROFINET IO system error" in the buffer |
| PROFIBUS FMS / FDL | FDL connections, FMS associations (legacy) | Connections refused; "Connection abort" entries |
| PROFINET CBA (legacy) | Component-based automation interconnections | CBA components fail to instantiate; not commonly used in modern projects |
When the upload comes back with a corrupt PROFIBUS SDB, the most common cause is a partial download interrupted by a power loss on the CPU side. The CPU retains the SDBs in load memory but the work-memory copy may be inconsistent. A full STOP → MRES → re-download of the offline SDB set is the standard recovery.
S7-400H Redundancy Considerations
For S7-400H redundant systems, the SDBs exist twice—once on each H-CPU. The redundancy SDBs (typically SDB 70-79) describe the H-pair linkage, the synchronization link, the master/standby role, and the Y-Link or other redundant I/O configuration. When you upload from an H-station, the upload reads the SDBs from the CPU you are connected to (the master by default). The redundancy SDBs on the standby CPU are not uploaded in the same operation.
When comparing an H-system's uploaded SDBs against the live H-system, use PLC → Compare Blocks on each CPU separately, then diff the two comparison results. Identical SDB sets across both H-CPUs are the steady-state condition; any divergence is a fail-over artifact and should be investigated.
Firmware and Version Compatibility
SDBs reference module parameters validated against the CPU's firmware version. A few important version-dependent behaviors:
| Scenario | Effect on SDBs | Recommended Action |
|---|---|---|
| PG has older STEP 7 service pack than the CPU firmware | Some new SDB fields are not understood; download may succeed but CPU logs "Unknown system data" | Update the PG's S7-CPU support package to match or exceed the CPU firmware |
| PG has newer STEP 7 service pack than the CPU firmware | Newer SDBs may use fields the older firmware rejects; download fails with "System data error" | Downgrade the PG's S7-CPU support package, or upgrade the CPU firmware to match the project |
| MMC replaced with a newer-version MMC | CPU reads the SDBs from the new MMC; module parameterization uses the new defaults | Always re-download after an MMC swap; do not assume the new MMC carries the old SDBs |
| Firmware upgrade via MMC | CPU retains the existing SDBs but new firmware may add new parameter checks | Re-compile HW Config and download after every firmware upgrade |
When restoring a long-running system, always pin the PG's STEP 7 service pack version, the S7-CPU support package version, and the version of any optional packages (Moby, F-library, etc.). A "clean install" of STEP 7 on a fresh PG often produces subtly different SDBs and may surprise the engineer on the first download.
Comparing SDBs Across Projects
STEP 7 V5.x does not expose a user-friendly SDB diff tool. The most common ways to detect a configuration drift between the offline project and the live CPU are:
- Compare Blocks (ONLINE/OFFLINE): PLC → Compare Blocks. This compares every block class including SDBs. SDBs that differ are listed in the "Different" column with timestamps and checksums. The tool provides a one-click reconciliation: either upload to bring the offline project up to date, or download to push the offline project to the CPU.
- SDB container export (TIA Portal path): If a migration to TIA Portal is planned, the SDBs can be exported from the STEP 7 project and imported into a TIA Portal V21 (or later) project as a System Data Container. The portal then offers a structured comparison. See the TIA Portal V21 comparing PLC programs documentation for the general comparison workflow and the data types involved.
- SDB printout/dump: HW Config → Station → Print produces a textual representation of the configuration that can be diffed externally. This is the lowest-tech but most thorough method for audit purposes, especially when the engineer needs to prove configuration identity across multiple sister machines.
- SDB raw export (advanced): PLC → Save Service Data on the online CPU dumps the SDBs to a folder in raw binary form. The dumps can be compared with a binary diff tool if checksum-level equality is required.
When comparing SDBs across two offline projects—for example, to verify a backup integrity or to validate a sister machine's configuration—open both projects in SIMATIC Manager and use Options → Compare Projects (Offline/Offline). The tool reports block-level differences and can produce a delta list exportable to CSV. Note that the comparison is structural, not semantic: an SDB that is logically identical but stored in a different internal format (e.g., after a STEP 7 service pack change) will still show as "Different".
Diagnostic Buffer Interpretation for SDB Issues
When an SDB problem manifests on the CPU, the diagnostic buffer is the first place to look. Common entries and their meanings:
| Diagnostic Buffer Entry | Meaning | Likely SDB-Related Cause |
|---|---|---|
| "Parameter assignment error" (Event ID 0x4320 / 0x4321) | Module rejected the SDB parameters | Module order code changed, slot order in SDB does not match the physical rack, or SDB was generated against a different CPU firmware |
| "Module removed/inserted" (Event ID 0x3942 / 0x3943) | Module physically swapped or SDB references a missing module | SDB references a module that was removed; needs re-compile and re-download |
| "Station failure" (Event ID 0x3E82 / 0x3E83) | DP/PROFINET slave lost | SDB for the slave contains parameters the slave firmware cannot accept; check GSD version |
| "Connection abort" (Event ID 0x4580 / 0x4581) | S7/TCP/ISO connection broken | SDB for the connection references a partner that changed IP/address; check NetPro |
| "Unknown system data" (Event ID 0x43B0) | SDB type not understood by the CPU firmware | PG compiled SDBs with a newer support package than the CPU firmware supports |
| "Module parametrization OK" (Event ID 0x4310) | Module accepted the SDB parameters | Informational; appears on every successful SDB download and module re-parameterization |
The diagnostic buffer is cleared on CPU restart, MRES, or manually via PLC → Clear Diagnostic Buffer. Always capture the buffer before clearing, and after every SDB-related download wait 60 s for the buffer to settle before reading it.
Backup and Restore Best Practices
| Step | Action | Tool / Path |
|---|---|---|
| 1 | Capture a project snapshot before any change | SIMATIC Manager → File → Archive → .zap |
| 2 | Document the CPU's firmware version, MMC card type, and software package set | PLC → Module Information → Identification |
| 3 | Upload the station to PG | PLC → Upload Station to PG |
| 4 | Re-archive the uploaded project | SIMATIC Manager → File → Archive |
| 5 | Verify online/offline identity | PLC → Compare Blocks (ONLINE/OFFLINE) |
| 6 | Print the HW Config for the paper archive | HW Config → Station → Print |
| 7 | For S7-400H, capture both H-CPUs and the Y-Link if present | PLC → Upload Station to PG (twice, once per CPU) |
| 8 | For S7-300 with MMC, image the MMC if possible | External MMC reader + Field PG |
| 9 | Store the .zap archive with a versioned filename and checksum | External storage (NAS, Git LFS, S3) with SHA-256 manifest |
| 10 | Test the restore on a bench PG before relying on it for a live recovery | Install the .zap on a different PG, verify it opens and compiles |
Migration to TIA Portal
Engineers maintaining long-lived STEP 7 V5.x projects often need to compare the SDBs against a TIA Portal project after a partial migration. The workflow uses the Migrate Project tool in TIA Portal (V13 SP1 and later) to lift the STEP 7 project into a TIA Portal device. The System Data Container that results can be compared structurally with the TIA Portal project. For an audit-grade comparison, the TIA Portal V21 comparing PLC programs documentation outlines the data types, block types, and comparison scope the portal tool supports.
Three caveats apply to the SDB portion of a STEP 7 → TIA Portal migration:
- Some SDBs (notably PROFIBUS FMS and FDL) are dropped in the migration because TIA Portal does not support them on newer CPUs.
- Global Data SDBs (SDB 10/11) are migrated to the TIA Portal "Global Data" mechanism, but the migration is one-way; do not expect to roundtrip back to STEP 7 with full GD fidelity.
- H-system SDBs for S7-400H migrate only if the TIA Portal target device is an H-CPU with the matching support package installed.
Troubleshooting Matrix
| Symptom | Likely Cause | Resolution |
|---|---|---|
| "Software package not installed" warning when opening HW Config | Module type belongs to an optional software package not installed on this PG (Moby ASM 475/476, FM, F-library, etc.) | For backup only: ignore. For edit/recompile: install the missing package from the original SIMATIC DVD or Siemens Industry Online Support |
| Upload completes but rack is empty in HW Config | CPU running with default SDBs; no HW Config was ever downloaded | Confirm with PLC → Module Information. If the CPU's diagnostic buffer shows only startup entries without "Module parametrization," the SDBs were never installed |
| SDB content differs between offline project and online CPU | Offline project edited after last download, or different engineer made a local change | Run PLC → Compare Blocks (ONLINE/OFFLINE), export the diff, decide whether to upload or download to align |
| Download fails with "System data error" | Corrupted SDB on MMC, firmware mismatch, or HW Config compiled against a different S7-CPU support package | Clear MMC and re-download; verify firmware compatibility; install matching support package |
| PG cannot reach the CPU over MPI/PROFIBUS | Wrong PG/PC interface set, bus terminator missing, MPI address conflict | Set PG/PC Interface (Control Panel → PG/PC Interface), check bus termination, verify MPI address with PLC → Accessible Nodes |
| "Cannot edit objects of software 'Moby ASM 475/476'" appears after upload but SDBs look fine | Expected behavior when the software package is absent; SDBs are intact | Archive the project as-is for safety backup. Install the package only if edits are required |
| Roundtrip upload/download changes the diagnostic buffer | Re-parameterization of modules during download; normal for some analog and F-modules | Clear diagnostic buffer before roundtrip, monitor 60 s, accept the re-parameterization entries as benign |
| DP/PROFINET slaves go to "Station failure" after SDB download | SDB compiled with a GSD/GSDML version that the slave firmware does not understand | Import the matching GSD/GSDML into HW Config, re-compile, re-download |
| S7 connection aborts after SDB download | NetPro SDB references an IP/address that changed on the partner | Open NetPro, update partner address, re-compile, re-download only the connection SDBs |
| S7-400H redundancy SDBs diverge between H-CPUs | Fail-over during write to standby; SDBs on standby not yet updated | Force a fail-over, allow the system to settle 60 s, re-compare; if divergence persists, re-download the redundancy SDBs |
| "Unknown system data" in diagnostic buffer after download | PG compiled SDBs with a newer support package than the CPU firmware | Downgrade the PG support package to match the CPU firmware, or upgrade the CPU firmware |
| Project archive (.zap) will not restore on a different PG | Different STEP 7 service pack on the target PG, or missing software package | Match the STEP 7 service pack version; install all referenced software packages before extracting the .zap |
FAQ
Does the SDB upload update my offline HW Config in STEP 7 V5.x?
Yes. PLC → Upload Station to PG in SIMATIC Manager replaces the destination project's hardware configuration, connections, and global data with the contents of the SDBs in the target CPU. The previous offline configuration is overwritten, not merged. Always archive the offline project first with File → Archive.
Is it safe to do an SDB roundtrip (upload then download without changes)?
Yes, as long as all software packages referenced in the original HW Config are installed on the PG. A roundtrip preserves the SDBs bit-for-bit. If a software package such as Moby ASM 475/476 is missing, the re-compile on download can strip or corrupt the SDBs for the affected module, turning the housekeeping step into a destructive one.
What does the "software 'Moby ASM 475/476' not installed" warning mean?
HW Config cannot render the parameter dialog for the Moby ASM 475/476 RFID communication module because the corresponding SIMATIC Ident software option is not installed on the PG. The SDBs themselves are intact and the upload succeeded. Install the SIMATIC Ident software package to enable editing; otherwise, treat the project as read-only and archive it as a safety backup.
Can I back up the HW Config by uploading the SDBs only?
Yes. The SDBs generated by HW Config and NetPro capture the full hardware layout, all communication connections, and global data definitions. An Upload Station to PG followed by a project archive (.zap) is the standard way to back up the complete S7 station including SDBs, user blocks, and configuration. The archive is sufficient to restore the configuration on a different PG provided the matching STEP 7 service pack and software packages are installed.
How do I compare SDBs between an offline project and the live CPU?
Use PLC → Compare Blocks (ONLINE/OFFLINE) in SIMATIC Manager. SDBs that differ are listed in the comparison result with timestamps and checksums. For a deeper audit, export the HW Config to a printout and diff externally, or migrate the project to TIA Portal V21 and use the comparing PLC programs workflow on the System Data Container.
Do I need the Moby ASM 475/476 software package installed to safely back up the project?
No. For a backup-only workflow the missing package is a nuisance but not a blocker—the SDBs come back intact, the project can be archived, and a roundtrip on the same CPU is safe because the SDBs are preserved bit-for-bit. The package is required only if you intend to edit the Moby configuration or re-compile the HW Config.