Problem Summary
When a SIMATIC STEP 7 V5.5 SP2 project is delivered as a compressed archive and then opened through the SIMATIC Manager Retrieve function, the project can appear to be lost. The dialog flashes, the progress indicator briefly inflates, the wizard asks for a destination folder, and the project is reported as saved to C:\Program Files\Siemens\Step7\S7Proj\backup – but the expected project tree is not present at the destination. The behavior is identical whether the user double-clicks the archive, drags it onto the SIMATIC Manager window, or selects File > Retrieve from the menu.
Root cause: the outer ZIP container (for example Saimp_backup.zip) holds a second, inner ZIP (for example Saimp_59.zip). The Retrieve routine in SIMATIC Manager only recognizes a single-level STEP 7 archive structure. It walks the outer container, finds that the payload is another archive rather than a project, and silently writes a partial or empty result to the destination folder instead of producing the project tree the user expects.
This article documents the exact cause, the safe recovery procedure, the verification steps, and the project-archive conventions that should be used to prevent the failure on future handovers.
Affected Software and Versions
| Component | Tested Version | Behavior |
|---|---|---|
| SIMATIC Manager (STEP 7) | V5.5 + SP2 | Silently fails on nested archive; project not created at requested destination |
| SIMATIC Manager (STEP 7) | V5.5 + SP3 / SP4 / SP5 | Same behavior – Retrieve routine has not been changed in the 5.5 line |
| SIMATIC Manager (STEP 7) | V5.4 and earlier | Same behavior on inner-archive cases; archive handling unchanged across the 5.x line |
| TIA Portal (STEP 7 Basic / Professional) | V13 and later | Not affected – uses different project container; imports .zap13/15/16/17/18/19/20 and TIA Portal project folders directly |
The fix is version-independent: extract the inner archive manually and run Retrieve on the dearchived file only. The same procedure applies to any STEP 7 V5.x install where Retrieve is invoked from the SIMATIC Manager.
STEP 7 Project Archive Anatomy
A valid STEP 7 archive produced by File > Archive in SIMATIC Manager is a single ZIP container with a defined structure. SIMATIC Manager's Retrieve function expects exactly this layout – one archive, one project, no nesting.
| Element | Location Inside Archive | Purpose |
|---|---|---|
Project file <ProjectName>.s7p
|
Archive root | Master project descriptor opened by SIMATIC Manager |
Global folder |
Archive root | Symbol table, source files, system data, compile logs |
Station1 / SIMATIC 300(1) / SIMATIC 400(1) folder |
Archive root | Hardware station; holds the S7 program and the CPU |
S7 Program sub-folder |
Inside the station | Blocks (OB, FB, FC, DB, SFB, SFC, SDB), system data, sources |
IM / CPU sub-folders |
Inside the station | Interface module and CPU-specific configuration |
| Subnets and other stations | Archive root | Additional stations connected to PROFIBUS / MPI / Ethernet subnets |
The Retrieve routine reads the project file at the root of the archive, rebuilds the folder tree, and re-links all sub-paths to the destination directory. If the file it finds at the archive root is not a recognized .s7p (or, in older versions, not a STEP 7 project), the routine cannot reconstruct a project and writes whatever it has to the destination – which is the empty / hidden state observed in the field.
Root Cause: Nested Archive
Several packaging workflows can produce a nested archive:
- The user ran File > Archive, then immediately zipped the resulting file again before sending it.
- The user placed the STEP 7 archive into a vendor-specific container (e.g. an export bundle that wraps every project in an outer envelope).
- Mail gateways, anti-virus software, or web-based download managers re-compress attachments on delivery, embedding the original
.zipinside a new one.
In all three cases the structure on disk is:
Saimp_backup.zip
└── Saimp_59.zip <-- this is the real STEP 7 archive
├── Saimp.s7p
├── Global/
└── Station1/
SIMATIC Manager opens Saimp_backup.zip, sees one entry (Saimp_59.zip), does not recognize it as a project, and finishes the Retrieve call without producing a project. The "saved to backup" status message in the wizard refers to the empty or stub file – it does not mean a usable project was written.
backup sub-folder inside C:\Program Files\Siemens\Step7\S7Proj is not a documented STEP 7 destination. It is either a folder the user navigated to in the wizard or a transient scratch area used during the dearchive; the wizard reports it as the destination because that is the path the user selected. Do not rely on it for long-term storage; extract the inner archive first and dearchive it to your own working directory.Step-by-Step Recovery
Use a stock Windows Explorer, 7-Zip, or WinRAR session to remove the outer layer, then return to SIMATIC Manager to dearchive the inner file.
-
Locate the outer archive. Find the file you received (e.g.
Saimp_backup.zip). Note the file size – it should be only slightly larger than the inner archive, since it is a single-entry container. -
Extract the outer archive to a clean working folder. Use a path with no spaces and no special characters, e.g.
D:\Step7_Restore\. Do not extract directly to theProgram Filestree – Windows UAC can block the write. -
Inspect the extracted contents. You should see a single file (e.g.
Saimp_59.zip) plus any readme or hash files. If the folder already contains an.s7pandGlobal/structure, the outer archive was the real archive – skip to step 6. -
Extract the inner archive
Saimp_59.zipinto the same working folder. You now haveSaimp.s7p,Global\,Station1\, and so on at the top level ofD:\Step7_Restore\. - Open SIMATIC Manager and select File > Retrieve.
-
Browse to the inner archive
Saimp_59.zip(or to the extracted folder if the wizard allows a folder target) and confirm. -
Choose a destination directory for the restored project – typically
C:\Program Files\Siemens\Step7\S7Proj\or a project library path on a network share. STEP 7 will create a sub-folder with the project name. - Wait for the dearchive to complete. A valid project tree appears in the SIMATIC Manager component view.
-
Keep the working folder
D:\Step7_Restore\for 30 days as a recovery buffer in case the destination write was interrupted.
Verification
Confirm the project is intact before going online with the PLC.
- Project opens without error. Double-click the project file in SIMATIC Manager; no "Archive is invalid" or "Project file missing" messages should appear.
- Hardware view loads. Open Station1 > Hardware and confirm the rack configuration matches the physical PLC (correct CPU order number, correct signal modules).
-
Block folders populate. Expand S7 Program > Blocks and verify the expected
OB1, organization blocks, function blocks, and data blocks are present and not flagged as "faulty". - Symbol table is intact. Open S7 Program > Symbols; if the table is empty or shows "Cannot display," the archive was truncated or stripped during packaging.
- Reference data generates. Select Options > Reference Data > Display and trigger a regenerate. A clean generation confirms the program structure is consistent.
- Compile check (Blocks). Right-click the Blocks folder and choose Compile. Any unresolved references or missing instance DBs surface here.
- Consistency check. Station > Consistency Check reports "No errors" for a healthy project.
Alternative Recovery Paths
If the outer ZIP is corrupted in transit and the inner archive cannot be extracted, try the following in order.
| Method | Procedure | When to Use |
|---|---|---|
| Repair the outer ZIP | Run zip -FF Saimp_backup.zip --out Saimp_repaired.zip from an elevated command prompt using Info-ZIP or 7-Zip's console build. |
CRC error on the outer container only |
| Alternate unzip tool | Try 7-Zip, WinRAR, or PeaZip if Windows Explorer reports the file as invalid. | Windows built-in ZIP handler cannot parse the structure |
| Re-download with binary mode | Pull the file again with an FTP/SFTP client in binary (not ASCII / text) mode. ASCII mode corrupts binary headers. | File size and CRC on disk match a corrupt copy |
| Contact sender for SHA-256 | Ask the sender for the SHA-256 hash and recompute locally with Get-FileHash Saimp_backup.zip -Algorithm SHA256 (PowerShell) or certutil -hashfile Saimp_backup.zip SHA256. |
Multiple copies of the file disagree on hash |
| Recover from version control | If the project was committed to a TIA Portal / STEP 7 VCS such as SVN or Git, pull the last good commit. | Sender has a backup in source control |
Common Error Scenarios and Variations
Beyond the nested-archive case, similar symptoms can have different root causes.
| Symptom | Likely Cause | Resolution |
|---|---|---|
| Retrieve finishes but no project folder appears at the destination | Nested archive (this article) | Extract inner archive and re-run Retrieve |
| Wizard reports "Archive is invalid" | CRC mismatch, partial download, or non-ZIP container | Re-download in binary mode; verify hash with sender |
| Wizard reports "The project cannot be retrieved because the destination is write-protected" | UAC blocking Program Files writes; read-only network share |
Run SIMATIC Manager as administrator; or pick a writable destination |
| Wizard reports "The selected archive is not a STEP 7 archive" | Wrong file type selected (e.g. a TIA Portal .zap in STEP 7 V5.5) |
Use the matching tool for the file type; TIA Portal archives are not readable in SIMATIC Manager |
| Project opens but blocks show "Faulty" icons | Block consistency lost during partial extraction | Re-run Retrieve from a clean copy; recompile all blocks |
| Project opens but symbol table is empty | Symbol table was not included in the original archive | Request a new archive from the sender with "Include symbols" enabled |
| Hardware view shows question marks | Hardware catalog not installed for the configured modules | Install the matching HSP (Hardware Support Package) from Siemens Industry Online Support |
Best Practices for Archiving STEP 7 Projects
Following these conventions prevents the nested-archive failure and improves traceability on handover.
-
Archive once. Use File > Archive in SIMATIC Manager; do not zip the result again. The Archive function already produces a compressed
.zip. - Pick a project name without special characters. Avoid spaces, dashes, and non-ASCII characters in the project name – some older Retrieve routines truncate or refuse paths with these characters.
- Include symbols and comments. In the Archive dialog, leave Include S7 configuration and Include S7 program ticked. Strip the password only if the recipient's environment matches.
- Document the STEP 7 version. Note the STEP 7 version (e.g. V5.5 SP2), the HSPs installed, and any optional packages used. The recipient needs the same versions or higher to dearchive cleanly.
-
Ship a SHA-256 hash with the archive. Use PowerShell
Get-FileHashorcertutil -hashfileto compute the hash. The recipient verifies it after download. -
Use a long, single-part filename. Example:
ProjectA_S7-300_Station1_V5.5SP2.zip. Single-part = single.ziponly; do not chain extensions like.zip.zip. -
Store archives in version control. Commit the
.zip(not the extracted project) to a binary-clean VCS – Git LFS, SVN, or a project library – to keep history and to enable diff-based recovery. - Verify the archive on the sender's side before sending. Open SIMATIC Manager on the sender's machine and run Retrieve from a clean folder. If the sender cannot dearchive it, the recipient cannot either.
Default File System Layouts
Understanding the default STEP 7 install paths helps locate the project when the wizard hides it.
| Path | Created By | Contents |
|---|---|---|
C:\Program Files\Siemens\Step7\S7Proj\ |
STEP 7 installer (default) | Default project location for new and retrieved projects on English / German installs |
C:\Program Files\Siemens\Step7\S7Proj\backup\ |
User (or transient wizard output) | Not a documented STEP 7 destination; appears when users choose it as the target |
C:\Program Files\Siemens\Step7\Examples\ |
STEP 7 installer | Example projects included with the DVD |
C:\Program Files\Siemens\Step7\Library\ |
User | Standard library projects and reusable blocks |
%USERPROFILE%\Documents\Siemens\Automation\ |
User | User-private project location; not used by Retrieve by default |
Search the entire C:\Program Files\Siemens\ tree for the project name or for files with the .s7p extension if the project appears to be lost – Retrieve writes a stub even when the inner archive was not processed.
Migration Path to TIA Portal
STEP 7 V5.5 SP2 projects can be migrated to TIA Portal using the Migrate project function in TIA Portal (V13 and later). The migration is a one-way operation: the resulting TIA Portal project cannot be opened in SIMATIC Manager again.
- Open the recovered project in SIMATIC Manager V5.5 SP2 or later.
- Save and close the project.
- Open TIA Portal and select Project > Migrate project.
- Browse to the STEP 7
.s7pfile and confirm. - Review the migration log – unresolved blocks, unsupported SFCs/SFBs, and proprietary blocks are listed.
- Save the migrated project under a new name in the TIA Portal workspace.
Migration is the right path for users on long-term support cycles; SIMATIC Manager is in maintenance and Siemens recommends TIA Portal for new development. For reference, see the general SIMATIC controller overview at Siemens SIMATIC PLC portfolio.
Troubleshooting Matrix
| Check | Command / Action | Expected Result | Failure Indicates |
|---|---|---|---|
| Outer archive integrity | Get-FileHash Saimp_backup.zip -Algorithm SHA256 |
Matches sender's hash | Corrupt download; re-fetch in binary mode |
| Outer archive contents | Open with 7-Zip → List | Single .zip entry |
Nested archive – this article's fix |
| Inner archive integrity | Get-FileHash Saimp_59.zip -Algorithm SHA256 |
Matches sender's hash (ask for it) | Inner archive corrupt; re-fetch |
| SIMATIC Manager version | Help > About | V5.5 SP2 or higher | Older version; install latest SP for the 5.5 line |
| Destination writability | Create test file at destination | File is created | UAC or read-only share; pick a writable path |
| Project opens after Retrieve | Double-click .s7p
|
Project tree appears | Wizard silently failed; re-run from inner archive |
Additional Context
SIMATIC Manager is the central engineering tool for the SIMATIC S7-300, S7-400, and WinAC controller families. A SIMATIC project is a structured collection of blocks, symbols, hardware configuration, and connection data that is compiled and downloaded to a physical PLC. The project is stored in a folder tree with a .s7p master file that holds references to every other artifact in the project. For an overview of how programmable controllers organize code and data, see the programmable logic controller reference. For a more engineering-focused description of the IEC 61131-3 languages used in STEP 7 (LAD, FBD, STL, SCL, GRAPH, HiGraph), see the Control Engineering PLC programming language fundamentals article.
FAQ
Why does SIMATIC Manager "succeed" but still not produce a project?
The Retrieve routine walks the archive, finds a single non-project entry (a nested ZIP), and writes an empty result to the destination. The wizard reports success because no exception was thrown; the failure is silent and the project is effectively lost until the inner archive is extracted manually.
Where is the project stored if SIMATIC Manager finishes without error?
The wizard writes a stub to the destination path the user selected (commonly a folder named backup inside C:\Program Files\Siemens\Step7\S7Proj), but the stub is not a usable project. Search the entire STEP 7 install path for files with the .s7p extension; if none is found, extract the inner archive and re-run Retrieve on it.
Can SIMATIC Manager open a TIA Portal archive (file extension .zap15, .zap16, etc.)?
No. TIA Portal uses a different project container and is not backward-compatible with SIMATIC Manager. Migrate the project from STEP 7 V5.5 to TIA Portal using Project > Migrate project if a TIA Portal target is required.
Which STEP 7 service packs include the fix for this issue?
None – the Retrieve routine has not been changed in the STEP 7 V5.x line. The fix is operational, not code-level: extract the inner archive manually and dearchive it.
What hash algorithm should I use to verify a STEP 7 archive?
Use SHA-256. Compute it with PowerShell Get-FileHash <file> -Algorithm SHA256 or with certutil -hashfile <file> SHA256. Send the hash alongside the archive so the recipient can confirm the download was not corrupted in transit.