1. Problem Statement
An S7-300 backup archive (typically a *.s7p project, or a compressed *.zip / *.arj wrapper of a STEP 7 V5.x project) is opened in SIMATIC Manager and the project tree displays the Hardware and NetPro / Network sub-objects, but the S7 Program > Blocks container is empty. No OB1, no FCs, no FBs, no DBs are listed, even though the CPU type is correctly identified (e.g. CPU 315-2 PN/DP, 6ES7 315-2EH14-0AB0).
This is one of the most common support cases on the Siemens Industry Online Support portal for the SIMATIC S7-300 family (see the documented thread at S7-300 backup blocks not showing - SiePortal). The root cause is almost never a single fault; it is one of a known set of conditions that must be ruled out in sequence before the project is declared unrecoverable.
2. Common Symptoms
Across the documented support cases the symptom set is consistent:
- SIMATIC Manager opens the
*.s7pfile without errors. - Project > Station > Hardware shows the configured rack, CPU order number, and signal modules.
- Project > Station > CPU > S7 Program > Blocks opens, but the right-hand detail pane is blank.
- No warning dialog at project-open time — or a dialog reporting "missing software components" is dismissed before being read in full.
- Selecting Options > Block Consistency Check returns "No blocks found" within a few seconds.
- If the user attempts PLC > Download or PLC > Upload to PG, the online/offline mismatch immediately overwrites the empty offline tree with the online content of the connected CPU (or fails if the CPU is password-protected).
3. Root Cause Categories
Five conditions account for almost every reported case. They are listed in descending order of frequency in the SiePortal thread and in Siemens' own backup documentation (Backup options for S7 CPUs - TIA documentation).
| # | Root Cause | Typical Evidence | Tool / Package Required |
|---|---|---|---|
| 1 | Missing optional software package referenced by FBs / DBs | Dialog at project open: "There are block types whose associated software is not installed" — listing, e.g. FB 1138, FB 200, FB 242, FB 244 from PN-IO, Modbus Master, SINAMICS, FM 350-1 / FM 350-2 libraries | STEP 7 V5.5 SPx + required option package (e.g. S7-Tech, F-Technology, FM modules library) |
| 2 | F-CPU with F-blocks (FBD/LAD F-elements) | CPU order number ends in -F (e.g. 6ES7 315-6FF01-0AB0); blocks include F_FB, F_DB, F_OB
|
Distributed Safety V5.4 SPx or S7 F/FH Systems option |
| 3 | Know-how protection on every block (S7-Block Privacy) | Blocks folder appears empty in offline view; PLC > Upload Station to PG from a live CPU still produces empty block list (only headers and compilation data upload) | Author-supplied password; cannot be bypassed legally |
| 4 | Incomplete or partial backup archive supplied by OEM | Backup only contains SystemData (SDBs), LAYOUT.DBF, PROJECT.LDF and not the S7PROG\ folder |
Supplier must re-export complete project with Archive > S7 Backup |
| 5 | Online blocks exist on MMC but offline tree was never refreshed | Connecting PG directly to CPU shows the program online | PLC > Upload Station to PG (or Upload to PG for block container only) |
4. Diagnostic Workflow
Follow this sequence before changing any tool installation. Each step is non-destructive.
-
Confirm the file is a SIMATIC Manager archive and not a TIA Portal export. Right-click the file → Properties. A valid V5.x backup is a
*.s7pfile that internally points to a*.zipor*.arjcontainer. A TIA Portal export produces*.zap17/*.zap20and cannot be opened in SIMATIC Manager. - Re-open the project and read every dialog completely. STEP 7 reports the missing block-type FBs / DBs by name. Write down each FB/DB number — these identify the optional package you must install (see Section 5).
-
Open the project folder on disk with Windows Explorer (default:
%USERPROFILE%\Documents\Siemens\Automation\<ProjectName>\after the Retrieve operation). Check that theS7PROG\BLOCKSsubfolder physically exists and contains*.AWL/*.SCLfiles. If onlySystemData.s7pis present, the archive is incomplete (Cause #4). -
Check the CPU order number by double-clicking Hardware → HW Config. If the order number contains an F in the firmware position (e.g.
6ES7 3xx-xxxF-xAB0), F-block handling applies (Cause #2). - Try a direct online upload if a PG is available. Connect via MPI / PROFIBUS (PC Adapter USB A2, 6GK1 571-1AA00) or PROFINET (TCP/IP, port 102) and execute PLC > Upload Station to PG. The online view of Online > Accessible Nodes will display the actual block list, even when the offline tree is empty.
5. Solution Path 1 — Missing Software Packages
This is the most common cause and the one that matches the original report directly (the user reported WinCC missing initially; STEP 7 raises the same dialog for library FBs).
STEP 7 V5.x ships with a number of optional software packages. Each is referenced by a block type and by the corresponding library *.s7l / *.s7s source. If the package is not installed, SIMATIC Manager displays the offending blocks in the open-time dialog and then omits them from the offline tree, so the Blocks container appears empty even though the .AWL files exist on disk.
| Block / Library | Required Option Package | STEP 7 V5.5 Install Media |
|---|---|---|
| FB 1138 / FB 1139 (PN-IO diagnostics) | STEP 7 base >= V5.5 SP2 | Optional: S7-PN-CPU |
| FB 242 / FB 243 (Modbus Master / Slave on CP) | MODBUS Library V3.x | Download via SiePortal entry ID 22660304 |
| FB 244 / FB 245 (FM 350-1 / FM 350-2 counter) | FM 350-1 / FM 350-2 configuration package | Delivered on FM module CD |
| FB 7, FB 8, FB 9 (PID Control) | Standard PID Control (FB 41 / 42 / 43 / 58 / 59) | Optional package in STEP 7 setup |
| Blocks compiled from S7-SCL / S7-GRAPH / S7-HiGraph / S7-PDIAG | Matching optional package | S7-SCL V5.3 SPx, S7-GRAPH V5.3 SPx, etc. |
| WinCC-flexible / TIA WinCC archive attachments | WinCC flexible 2008 SP5 or TIA WinCC V13+ | Already addressed in the original report |
Procedure:
- Note the block numbers from the open-time warning dialog.
- Start the STEP 7 V5.5 Setup in Modify mode (Start > SIMATIC > STEP 7 > Setup > Modify / Upgrade).
- Enable the matching optional package; if the source media is missing, contact Siemens support with the order number of the block (e.g. "FB 242 is referenced; we need the Modbus Master library V3.2").
- Reboot, then re-open the project. The Blocks container should populate immediately. The originally missing FB/DB symbols are now resolved through the installed library.
6. Solution Path 2 — F-Blocks and Distributed Safety
The thread title in the source contains the typo "fblocks". If this is not a typo — i.e. the project targets an S7-300 F-CPU (e.g. 6ES7 315-6FF01-0AB0, 6ES7 317-6FF00-0AB0, 6ES7 318-6FF00-0AB0, or any CPU of the S7-300F family) — then the program contains F-runtime groups, F-FBs, and F-DBs that cannot be uploaded to a PG. Siemens documents this behaviour explicitly: F-block code is generated by the Distributed Safety or F-Configuration Pack F-Compiler and is intentionally non-extractable.
Procedure:
- Install SIMATIC S7 Distributed Safety V5.4 SPx (catalog:
6ES7 833-1FC02-0YA5) on top of STEP 7 V5.5 SPx. Re-run Setup in Modify mode and add the option. - Open the project in SIMATIC Manager. The Safety Administration editor will appear under CPU > S7 Program alongside the standard Blocks folder.
- F-blocks are present but appear under a dedicated F-runtime group; standard OB 35 (or other cyclic OB) calls the F-CALL block that drives the F-runtime group. The empty Blocks folder in the standard tree is normal for F-CPU projects.
- If Distributed Safety is not installed, you will not be able to view or modify the F-program — and you should not be able to do so per Siemens' safety integrity policy. The original F-source must be supplied by the OEM (Cause #4).
7. Solution Path 3 — Know-How Protection
STEP 7 V5.x supports S7-Block Privacy (formerly Know-how protection) at block level. When enabled, the block compiles to bytecode in the offline *.AWL file but the source is encrypted. Opening such a project in SIMATIC Manager shows the block icon with a small padlock overlay; if all blocks in the Blocks folder are know-how protected and the password is not supplied, the entire container can appear empty depending on the SIMATIC Manager service pack and view filter.
Diagnostic / recovery procedure:
- Open the project and switch to the Details view of the Blocks folder (right-click → View > Details). If a list of
FBxxx/DBxxxentries appears with a padlock column, know-how protection is active. - Open each block → the editor prompts "Block has know-how protection. Enter password:". Enter the password supplied by the OEM.
- If the password is not known, no standard tool can decrypt the block. The only legitimate path is to obtain the original S7-Project source from the machine supplier (Cause #4).
- If a live CPU is available, a know-how-protected block can be uploaded in executed form using PLC > Upload to PG, but only the block interface and runtime instance DBs arrive — the STL / SCL source is not recovered.
8. Solution Path 4 — Incomplete OEM Archive
The most likely cause in the original report is that the machine installer supplied a partial backup. STEP 7 V5.x lets an OEM export only the Hardware + NetPro + System Data subset by selecting only those nodes before File > Archive. The result is a project that opens cleanly, displays the rack and PROFIBUS / PROFINET topology, and contains no program.
Verification:
- Open Windows Explorer at the extracted project root.
- Confirm the presence of the directory
\S7PROG\BLOCKS\. A complete project contains files such asOB1.AWL,FC1.AWL,DB1.AWL, plusSYMBOLS.SEQand theSystemData.s7pshortcut. - If
\S7PROG\BLOCKS\is missing or contains onlySystemData.s7p, the archive is incomplete.
Recovery options:
- Request a re-export from the OEM. Ask for File > Archive > User-defined scope > Entire project with the "With S7-Program" option ticked. The resulting
*.s7pfile is typically 2-10 MB for a mid-size S7-300 application. - If a live CPU is available, perform a PLC > Upload Station to PG directly. This is the only way to recover the program when the supplier cannot be reached (see Section 9).
- As a last resort, check the MMC (Micro Memory Card) that ships with the CPU. The card itself contains a
SIMATIC.MMCimage with the entire program; reading it with a Siemens field PG (or a third-party MMC programmer supporting theSIMATIC.MMCFAT-16 partition) gives you the original offline tree.
9. Solution Path 5 — Direct Upload from CPU 315-2 PN/DP
If the physical CPU is accessible, an online upload is the fastest path to a complete program. The CPU 315-2 PN/DP (6ES7 315-2EH14-0AB0) supports both PROFINET and PROFIBUS / MPI for PG communication.
| Interface | Cable / Adapter | PG/PC Interface Setting |
|---|---|---|
| PROFINET (X2 P1, X2 P2) | Standard RJ45 patch cable, crossover not required on modern NICs | TCP/IP > Intel(R) … (or any NIC) |
| MPI / PROFIBUS (X1) | PC Adapter USB A2 (6GK1 571-1AA00) or CP 5611 A2 (6GK1 561-1AA01) | PC Adapter (MPI) / PC Adapter (PROFIBUS) / CP5611 (MPI) |
| Industrial Ethernet routing | Same as PROFINET | Use Accessible Nodes with the S7 routing table |
Procedure:
- Open SIMATIC Manager, choose PLC > Upload Station to PG.
- In the Select Node Address dialog, browse to the target CPU over the chosen interface.
- Confirm the upload. The complete offline tree is rebuilt, including all FBs / FCs / DBs / OBs / SDBs that are not know-how-protected and not F-blocks.
- After upload, open Options > Block Consistency Check to confirm that all interface calls resolve.
If the CPU prompts for a password, the program is either:
- CPU password protected (set in HW Config → CPU properties → Protection). Contact the OEM for the password or perform a CPU memory reset to clear it (this also erases the program — only acceptable when the backup is the source of truth).
- Know-how protected at block level (see Section 7).
10. Verification Procedure
After applying any of the solutions above, validate the project as follows:
- Open SIMATIC Manager and re-load the project. The Blocks folder must list at least OB 1, OB 100 (warm restart), and any FC/FB/DB referenced in the documentation.
- Double-click OB 1. The editor (STL / LAD / FBD) must open without the "Block has no source / object" error.
- Run Options > Block Consistency Check. All blocks should report OK. A count of Errors: 0, Warnings: 0 is the expected result.
- Compile the hardware (Station > Save and Compile) and confirm the System Data matches the expected rack layout.
- If the CPU is available, compare online vs. offline via PLC > Compare. A consistent result confirms the recovered program is the running one.
11. Preventive Measures
To prevent recurrence:
- Always request two copies of the project backup from the OEM: the offline archive (
*.s7p) and a complete read-out of the CPU's MMC image. - Ask the OEM to document the STEP 7 version and optional packages used to compile the project. Keep a copy of the same install media in a versioned archive (e.g. STEP 7 V5.5 SP4 + Distributed Safety V5.4 SP5 + WinCC flexible 2008 SP5).
- Use File > Archive > Entire Project for every backup. Avoid the "User-defined scope" option unless intentional.
- Maintain a project-level
README.TXTwith the CPU order number, FW version, password list (kept in a separate secure location), and the list of optional packages. - For F-CPU projects, request both the S7-Project source and the signed F-signature audit log — these are required for any future safety re-certification.
12. Field-Proven Diagnostic Matrix
| Symptom | First Check | Likely Cause | Fastest Fix |
|---|---|---|---|
| Empty Blocks folder, HW config present, no warning at open | Verify S7PROG\BLOCKS on disk |
Incomplete OEM archive | Online upload or re-archive request |
| Dialog: "Block types whose associated software is not installed" | Read the listed FB/DB numbers | Missing optional package | Setup > Modify > install package |
| CPU is F-type (order number contains F) | Check for Distributed Safety install | F-blocks not visible without safety option | Install S7 Distributed Safety V5.4 |
| Blocks list shows padlock icons | Try opening one block | Know-how protection | OEM-supplied password |
| CPU reachable, online shows program | PLC > Upload Station to PG | Offline not synchronised | Direct online upload |
| CPU password prompt at upload | Confirm with OEM | CPU-level password | OEM password or CPU memory reset (last resort) |
FAQ
Why does my S7-300 backup show the hardware but no program blocks in SIMATIC Manager?
The S7-300 backup file is almost always incomplete or the offline tree is missing required components. The five most common causes are: (1) a missing optional software package referenced by FBs/DBs (e.g. Distributed Safety, Modbus library, FM modules); (2) F-blocks on an S7-300F-CPU that require the Distributed Safety option; (3) know-how protection on every block; (4) a partial OEM archive that only contains hardware and System Data; (5) a project that was never refreshed from the online CPU. Confirm the open-time dialog messages and inspect S7PROG\BLOCKS on disk first.
Can I recover the program if the supplier sent an incomplete backup?
Yes, if the physical CPU is reachable. Connect a PG via PROFINET (X2 P1) or MPI/PROFIBUS (X1) with a PC Adapter USB A2 (6GK1 571-1AA00), set the PG/PC interface accordingly, and execute PLC > Upload Station to PG. The complete offline tree is rebuilt automatically. F-blocks and know-how-protected blocks are not included in the upload and must come from the original F-source / password.
What is the difference between STEP 7 V5.x and TIA Portal for S7-300 backups?
The S7-300 / S7-400 families are programmed with STEP 7 V5.x (SIMATIC Manager) — TIA Portal only reads V5.x archives as read-only references and cannot edit or re-archive them. If your backup is a *.zap17 / *.zap20 file, it came from TIA Portal and must be opened there. If it is a *.s7p / *.zip archive, it must be opened in SIMATIC Manager. Confirm the file extension before proceeding.
How do I identify an S7-300F-CPU and what package do I need to view F-blocks?
An S7-300F-CPU has an F in the order number, e.g. 6ES7 315-6FF01-0AB0, 6ES7 317-6FF00-0AB0, or 6ES7 318-6FF00-0AB0. To view and edit F-blocks (F-FB, F-DB, F-OB, F-runtime groups) you must install SIMATIC S7 Distributed Safety V5.4 SPx (catalog 6ES7 833-1FC02-0YA5) on top of STEP 7 V5.5 SPx. Without this package, the F-block folder is not displayed at all and the standard Blocks folder may appear empty.
Can know-how protected blocks be recovered without the password?
No, not by any standard Siemens tool or sanctioned procedure. Know-how protection (S7-Block Privacy) encrypts the STL / SCL source in the offline *.AWL file and the runtime executed form on the CPU. An online upload of a know-how-protected block delivers only the block interface, not the implementation. The legitimate recovery path is to obtain the original unencrypted project source from the machine OEM or system integrator. Any attempt to brute-force or decompile the bytecode violates Siemens' licence agreement and is unsafe for SIL-classified applications.