Backing Up S7-300/S7-400 PLC Projects in Simatic Manager

David Krause12 min read
S7-300SiemensTutorial / How-to
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

Overview

Backing up an S7-300 or S7-400 PLC project from SIMATIC Manager (Step 7 V5.x) is a recurring commissioning and maintenance task. Unlike S7-1200/S7-1500 projects in TIA Portal, classic S7-300/400 stations are not a single self-contained file on the CPU. The CPU stores compiled blocks, system data, and diagnostics buffers, but it does not retain symbolic names, network comments, or the hardware configuration tree as human-readable source. Any backup strategy must therefore be chosen with full awareness of what is — and is not — recoverable from the device.

This reference covers the three practical backup paths engineers use in the field:

  1. Station Upload to PG – reverse the online connection to pull every block out of the CPU.
  2. Accessible Nodes Browse – recover a CPU whose IP/address is unknown or whose project file is missing.
  3. Original Project + Online Sync – the recommended path when an engineered archive exists, using upload as a delta-update tool.

The procedures apply to Step 7 V5.5 / V5.6 + SPx, SIMATIC Manager, and the optional Automation Maintenance Manager (AMM) add-on. Special notes are included for F-CPUs such as the 317F-3 PN/DP referenced in the field report.

Prerequisites

Item Specification
Engineering software Step 7 V5.5 or V5.6 with the latest Service Pack (e.g. V5.6 + SP2) running in SIMATIC Manager
Operating system Windows 7 SP1 / Windows 10 (Step 7 V5.6 supports Win10 in legacy mode)
Programming cable / interface PC-Adapter (USB / MPI / PROFIBUS), Ethernet CP, or a direct MPI cable (6ES7 972-0CB20-0XA0 or 6ES7 972-0CA23-0XA0 family)
CPU firmware Any current S7-300 (CPU 31x, CPU 31xF, CPU 31x PN/DP, CPU 31xT) or S7-400 (CPU 41x, CPU 41xF, CPU 41xH)
User rights Local administrator on the PG/PC to install Step 7 drivers and to assign a static IP to the network adapter
Backup destination A local or network drive with write permission; minimum 250 MB free for a medium S7-300 project
AMM (optional) SIMATIC Automation Maintenance Manager V2.x – used for versioned, automated backups across a plant fleet
About AMM: The Automation Maintenance Manager is the Siemens service tool that schedules read/write backups, diffs the project against the in-CPU image, and writes the result into a structured archive tree. AMM does not replace SIMATIC Manager; it wraps the same upload primitives and adds scheduling, logging, and machine-level inventory.

What an S7-300/400 Backup Actually Contains

Before touching the upload button, an engineer must understand the storage split between the PG project and the CPU flash/MMC. The table below summarises what survives a CPU → PG upload and what is lost.

Project element Stored on CPU? Recovered by Upload? Notes
OB / FB / FC / DB blocks (compiled) Yes Yes Source comments and network titles are not guaranteed to round-trip
System data (SDB / HW Config) Yes (in MMC / Flash) Yes Uploaded as compressed SDB container; cannot be edited as HW Config
Symbol table (symbols / comments) No No Lives only in the PG project; must be re-entered or re-imported
HW Config tree (catalog ordering, comments) Partial Partial Slots are recovered, descriptive comments are not
PLC tags / DB UDTs source view No No Only compiled data view is recovered
Connection configurations (NetPro) No (compiled into SDBs) No (readable as SDB only) Edit NetPro by hand, or rebuild from project archive
Passwords / know-how protection Hash only Hash only CPU retains the protection; source code in the upload is still scrambled

Field-proven consequence: an upload is a last-resort backup, not a primary one. A greenfield backup that starts from the original engineered project is always preferable.

Method 1 – Station Upload to PG (Standard Backup)

Use this when you have online visibility of the CPU and want to mirror its current image into a new SIMATIC Manager project.

  1. Open SIMATIC Manager and select File → New Project. Give the project a name that mirrors the plant naming convention (e.g. PLT01_LINE3_S7300_BKP_2024-05-22).
  2. From the menu choose PLC → Upload Station to PG….
  3. Select the target network interface. For an Ethernet-attached CPU (e.g. 317F-3 PN/DP), pick the TCP/IP interface that is bound to the correct network adapter. For MPI/PROFIBUS, select the appropriate PC Adapter.
  4. Step 7 broadcasts on the selected subnet and lists every reachable node (PN CPUs and CP 343-1 Lean/Advanced/PN). Highlight the target CPU and confirm.
  5. SIMATIC Manager creates a SIMATIC 300 Station (or 400) containing the S7 program, System Data, and an empty HW Config placeholder. Save and archive the project (File → Archive) to a .zip.

Verification after upload

  1. Go Online → Compare Blocks. The dialog should report “Online and Offline identical” for every block. Any difference indicates a partial upload or a block that was not released (CRST / wrong CPU password).
  2. Open the Module Information (right-click CPU → PLC → Module Information) and cross-check the firmware version, serial number, and slot configuration against the plant asset list.
  3. Trigger PLC → Diagnostic Buffer to confirm the upload itself did not insert spurious stop events.

Method 2 – Upload via Accessible Nodes (Unknown IP / No Online Project)

This is the path required when the CPU's IP address is unknown, when a project archive has been lost, or when an engineer is dispatched to a site with only the laptop and a cable.

  1. Open SIMATIC Manager and switch to the Accessible Nodes view (PLC → Accessible Nodes or click the binoculars toolbar icon).
  2. Step 7 enumerates every S7 node it can hear on the selected PG/PC interface. For an Ethernet scan this works even if the CPU's IP is on a different subnet, because the discovery uses the DCP (Discovery and Configuration Protocol) broadcast on the local segment.
  3. Right-click the discovered CPU and choose Upload to PG/PC…. SIMATIC Manager creates a fresh project containing the station as described in Method 1.
  4. If the CPU is listed with “?” for the IP, you can still reach it: double-click the row, read the MAC address, then assign a temporary IP from the Target System → Ethernet Node dialog or by using PLC → Ethernet → Assign IP Address.
Why this matters: A 317F-3 PN/DP that responds with the error “unable to reach the module CPU 317F-3 PN/DP via the online interface” can almost always still be discovered by Accessible Nodes over the same cable. The error indicates a routing/PG interface mismatch, not a physical-layer problem.

Method 3 – Original Project + Online Synchronisation (Recommended)

Whenever a known-good engineered project exists, use it as the seed and let the upload refresh only the deltas. This preserves symbolic names, hardware comments, and the NetPro configuration.

  1. Retrieve the original archive (typically a .zip from the engineering server). De-archive it in SIMATIC Manager (File → Retrieve…).
  2. Open the project, expand the S7 program, and go Online → Connect to Target System.
  3. Run PLC → Compare Blocks (Online/Offline). SIMATIC Manager marks blocks that differ. For each block, choose Update block from online system if the in-CPU version is authoritative, or Download to target system if the PG version is the master copy.
  4. For HW Config: open the station, click Online → Hardware Diagnostics, then Station → Upload to PG. This refreshes the slot assignment without overwriting comments and the catalog order you already have on the PG.
  5. Save the project and re-archive with a timestamped filename.

Configuring the PG/PC Interface

The Set PG/PC Interface applet is the single most common failure point for S7-300/400 uploads. Configure it before any other step.

  1. Open Start → Siemens Automation → Set PG/PC Interface (or run S7EPARDA.exe from the Step 7 install path).
  2. Select the access point S7ONLINE (STEP7).
  3. Choose the interface that physically connects to the CPU:
    • TCP/IP → your Ethernet adapter (for PN/PN-X/CP 343-1)
    • PC Adapter (MPI) or PC Adapter (PROFIBUS) → for MPI/PROFIBUS
    • Internal – Local → only for S7PLCSIM
  4. For Ethernet: assign a static IP to the Windows network adapter in the same subnet as the CPU (e.g. CPU 192.168.0.10 / 24 → PC 192.168.0.20 / 24). Disable any second active adapter on the same machine; Step 7 binds to the first one it finds and often picks the wrong one.
  5. For PN CPUs without a configured IP (factory state 0.0.0.0): use the Accessible Nodes → Assign Ethernet Node dialog with the CPU's MAC address (printed on the front label, format 08-00-06-xx-xx-xx).

Resolving “Unable to Reach the Module” Errors

The 317F-3 PN/DP error reproduced in the field report is the canonical symptom of a mismatched PG/PC interface. The following diagnostic ladder resolves it in >95 % of cases.

Step Action Expected result
1 ping <CPU IP> from the Windows command line Reply < 4 ms; if Destination host unreachable, fix subnet mask first
2 Set PG/PC interface to the correct adapter and access point S7ONLINE S7OPCTOOL and SIMATIC Manager now address the same NIC
3 Disable all other active network adapters (Wi-Fi, VPN, virtual machines, Hyper-V vSwitch) Only the plant NIC remains in the routing table
4 Open Accessible Nodes; look for the CPU MAC If visible → IP/subnet mismatch only; assign correct IP
5 Check Windows Firewall – allow S7oiehsx64.exe and SIMATIC_MGR.exe on the plant network profile Restored TCP/102 (ISO-on-TCP) and UDP/34964 (DCP) communication
6 For routed connections: verify a CP is configured in HW Config and the CP's IP is reachable (e.g. CP 343-1 Lean) Step 7 must Online → Accessible Nodes via Gateway if traversing a CP
7 Replace the cable, then swap the port on the managed switch Rules out a faulty patch or STP-blocking port

Special Handling for F-CPUs (e.g. 317F-3 PN/DP)

An F-CPU carries additional constraints that affect backup strategy.

  • F-signature: Every safety block carries a signature derived from the F-library version. The signature is stored only in the PG project, not in the CPU. After an upload, Step 7 will report a signature mismatch; accept the F-signature change in Safety → Adjust to bring the project back into a consistent state.
  • F-runtime groups: These are compiled and stored in system data. Upload restores them as a blob but cannot decompile the OB 35/OB 123 F-runtime source.
  • CPU password: F-CPUs always require a password for read/write. Use PLC → Access Rights → Setup to confirm the password; the upload will fail with “No password or wrong password” if the PG does not know it.
  • Know-how protection on FBs: Encrypted F-blocks are stored encrypted in the CPU. The upload returns the encrypted form; the source on the PG remains the only readable copy.

Integrating AMM for Scheduled, Auditable Backups

AMM is the right tool when a maintenance team needs recurring backups of dozens of S7-300/400 stations.

  1. Launch SIMATIC Automation Maintenance Manager and create a new maintenance project.
  2. Add a station entry for each CPU, specifying its IP / PROFIBUS address, the rack, and slot, and the rack/station template used to interpret the SDBs.
  3. Define a backup job: choose Backup type = Complete (full upload), Schedule = Daily 02:00, and a target path on the engineering file share.
  4. Enable Versioning so that AMM keeps a history of uploads and a delta log. Each backup produces a *.arc archive and an XML inventory.
  5. Optionally enable Compare with reference; AMM will e-mail the operator when an in-CPU image diverges from the engineering reference (e.g. after an unauthorised download).

Archiving and Long-Term Storage

SIMATIC Manager's File → Archive uses a PkZip-compatible container. Recommended practices:

  • Archive both the project tree and a separate export of the symbol table (Options → Symbol Table → Export) so a corrupted archive can still be hand-rebuilt.
  • Store archives in a versioned directory \fileserv\projects\S7300\<line>\<YYYY-MM-DD>\.
  • Capture the upload log (e.g. the online.log written by AMM) and attach it to the archive – it provides the audit trail that the file matches the running CPU at a specific timestamp.
  • Re-test restoration at least once a year: extract the archive on a clean VM, install Step 7, de-archive, and confirm the project opens and that Compare Blocks (Online/Offline) matches a known-good CPU.

Troubleshooting Matrix

Symptom Likely cause Corrective action
“Unable to reach the module CPU 317F-3 PN/DP via the online interface” PG/PC interface bound to wrong adapter, or CPU IP outside the local subnet Set PG/PC interface to correct NIC; set PC IP in the same /24 as the CPU; retry via Accessible Nodes
Accessible Nodes shows only the PG itself Cable on wrong port, switched port in blocking STP state, firewall drops UDP/34964 (DCP) Swap cable / port; allow SIMATIC Manager and S7oiehsx in the firewall; try a different managed port
Upload stops at “Reading SDB …” then times out Inconsistent MMC, MMC removed mid-upload, or F-CPU password not provided Re-seat MMC; provide F-CPU password; re-attempt with Upload Station to PG in offline mode for blocks only
Compare Blocks reports “Online newer than offline” for OB 100 / OB 101 CPU was restarted with different startup OBs after last project save Decide which is master; use Update block from online system only if the CPU version is the engineering truth
“Internal error: parameter SDB could not be interpreted” SDB version newer than Step 7 SP supports Install the latest Service Pack (e.g. V5.6 SP2) or use the matching HW update
Upload completes but symbols are blank Symbols live only in the PG project, not in the CPU Import the original symbol table from a previous archive or rebuild it manually
AMM job finishes but archive is 0 bytes Backup path not writable, or AMM service account lacks share permission Re-run the job as a domain user with modify rights on the share

FAQ

What is the difference between a CPU upload and a project backup in Simatic Manager?

A project backup on the PG includes symbols, comments, and the HW Config tree. A CPU upload (PLC → Upload Station to PG) returns only compiled blocks and system data. Always keep both: the PG project as the source of truth, and an upload as evidence of the running CPU state.

Can I take a backup of an S7-300 CPU without knowing its IP address?

Yes. Open SIMATIC Manager → PLC → Accessible Nodes. The CPU responds via the DCP protocol on the local Ethernet segment and is listed by MAC address. From the dialog you can assign a temporary IP and then perform an Upload Station to PG.

Why does the upload of a 317F-3 PN/DP fail with “unable to reach the module”?

The error means the PG cannot open an ISO-on-TCP connection to the CPU. The most common causes are a wrong Set PG/PC Interface selection, a PC IP outside the CPU's subnet, or a Windows firewall rule blocking S7 communication. Fix the interface assignment, set the PC IP in the same subnet, and retry via Accessible Nodes before doing a full upload.

Does AMM replace SIMATIC Manager for backups?

No. AMM is a scheduling and inventory layer that calls the same Step 7 upload primitives. It is used for unattended, repeated backups across many stations, but you still need SIMATIC Manager (or the Step 7 runtime) installed on the same PC to perform the actual upload.

How do I preserve know-how-protected blocks in the backup?

Keep the original PG project; encrypted blocks cannot be unencrypted by an upload. Store the project in a secured share, restrict access to the AMM service account, and never publish a backup that still contains the original *.s7p without removing the S7Source folder. Step 7 will warn you before archiving if sensitive content is detected.

Back to blog