Resolving PCS7 'Entire Program Download' Forced Mode Issues

David Krause17 min read
SiemensTIA PortalTroubleshooting
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

Resolving PCS7 'Entire Program Download' Forced Mode Issues

When the SIMATIC PCS7 engineering station (ES) displays the "Entire program downloaded to CPU" option in the S7 download dialog instead of the preferred "Download changes only" (delta) option, the engineering framework has detected that the offline project is no longer in a known-consistent state relative to the connected target CPU. Delta downloads in PCS7 are only permitted when the engineering system can guarantee that the resulting runtime program will be bit-equivalent to the offline build for the regions not being modified. Any structural change that invalidates that guarantee forces a complete reload of all load objects to the target CPU's Load memory (MMC/CF) and, in many cases, a CPU STOP transition. This article enumerates the exact conditions that switch PCS7 into forced full-download mode, provides a diagnostic workflow to identify the active trigger, and documents the remediation steps that restore delta-download capability.

Engineer field-note: In brownfield PCS7 V8.x and V9.x plants, the first full download after a structural change typically requires a maintenance window because the CPU will be stopped for several seconds to several minutes depending on program size and CPU type (e.g., AS 410 vs. AS 410E). Identifying the trigger before opening the window saves production batches.

1. Problem Definition and Operational Impact

The download dialog in STEP 7 / PCS7 (accessible via PLC > Download or Target system > Download) evaluates the time stamp of the offline project, the structural difference between the offline and online program, and the operating mode of the target CPU. Three possible download paths are offered:

Option in S7 Download Dialog CPU Mode Required Typical Trigger Production Risk
Download changes only (delta) RUN-P (preferred) or STOP Block code edit, FB/FC/OB body change, no interface modification, time stamp match Low — short CPU STOP for OB1x reassembly only
Download entire program to target device STOP mandatory Interface change, type replacement, DB/FC compression, archive restore, time stamp mismatch High — extended STOP, full reload of work memory
Download to file / download to test CPU Offline operation Preserve comparison stamp for later delta transfer None — does not touch online CPU

The "entire program download" path is intentionally conservative. PCS7 does not attempt partial reconstruction of the S7 user program when consistency cannot be proven. The five canonical triggers are described in the following sections.

2. Trigger A — Block Interface Modification

The most common trigger in active engineering projects is a modification to the interface of a function block (FB), function (FC), or system block that has already been instantiated and downloaded to the CPU. Interface elements include:

  • IN (input) parameters — added, removed, renamed, or re-typed
  • IN/OUT (input/output) parameters — added, removed, renamed, or re-typed
  • STAT (static) variables inside an FB — added, removed, or re-typed
  • OUT (output) parameters — added, removed, renamed, or re-typed
  • TEMP variable renumbering (does not generally force full download but should be reviewed)

When any of the above elements change, the Instance DB (iDB) generated for the FB becomes structurally incompatible with the new FB version. PCS7 cannot safely map the new interface onto the existing instance data in work memory, so the engineering system forces a full program download and the CPU must be in STOP for the duration. Plant operators must be informed because all controlled outputs will freeze at their last value or fall to configured safe-state values depending on the output module's reaction to CPU STOP.

Exception for non-structural FB edits: When the FB body is modified (e.g., new network, changed STL statement, additional comment) but the interface section is untouched, the system uses the existing instance DB and the CPU does not need to be in STOP. This is the fundamental distinction between "Change Only" and "Entire Program" mode.

2.1 Diagnosing Interface Changes

  1. In the SIMATIC Manager, right-click the modified FB and select Object Properties > Version to view the time stamp.
  2. Open Options > Compare Blocks (online/offline) to display the version difference.
  3. Inspect the Interface column in the compare report. A status of Interface changed confirms Trigger A.
  4. If only Code is flagged, delta download remains possible.

3. Trigger B — Used Block Type Version Replacement

When a block type that is currently used (instantiated, called, or referenced in another block) is replaced by a new version containing structural changes, the system cannot guarantee that the calling context remains valid. Structural changes include:

  • Addition or removal of I/O points on a channel block (e.g., CTRL_PID, MOT_SPEED, VALVE_ANA)
  • Modifications to message configuration (MSG_LOCK, ACK behaviour, message class)
  • Changes to instance-specific initial values that affect memory layout
  • Replacement of a PCS7 APL (Advanced Process Library) block by a different type or a newer major version

For a comprehensive understanding of block versioning semantics, refer to the Siemens Industry Online Support documentation set for PCS7 Engineering System.

3.1 Avoiding Trigger B on Hot-Fixes

APL hot-fix packages distributed by Siemens are usually code-only updates and do not modify the FB interface. Verify the release notes for each hot-fix — specifically the Interface compatibility field — before applying to a live system. A non-compatible hot-fix will force a full download and CPU STOP.

4. Trigger C — DB and FC Number Compression

PCS7 offers an optional DB/FC number compression feature located at Options > Settings > Compile/Download. When the option "Compress DBs and FCs" is enabled, the compiler reassigns DB and FC numbers into a contiguous range during the next compile cycle. The new numbering sequence is not identical to the previously downloaded numbering, so PCS7 treats the program as structurally different and forces a full download.

4.1 Diagnostic Check

  1. Open Options > Settings > Compile/Download on the ES.
  2. Inspect the "Compress" checkbox state.
  3. Compare the offline Cross References (Ctrl+Alt+F7) of the program to the last archive or backup. A non-contiguous DB range (gaps in 1..n) is normal; a renumbered range indicates compression occurred.
Best practice: Disable automatic DB/FC compression on a stable, operational PCS7 project. Enable it only during commissioning to produce clean number ranges, then disable before any online change.

5. Trigger D — Time Stamp Mismatch From "Download to Test CPU"

The "Download to test CPU" feature (selectable in the S7 download dialog) is intentionally designed to retain the original comparison stamp so that the same delta can later be applied to the production CPU. However, a plain download of a modified program to any other S7 CPU without this option selected updates the comparison stamp in the offline project. The subsequent attempt to apply the same change to the original target CPU fails the time stamp check and forces a full download.

5.1 Resolution Path

  1. If the program must be re-tested on an alternative CPU, always use Target system > Download to Test CPU rather than a standard download.
  2. If a plain download has already been performed, the only clean remediation is to re-compile the offline project and accept a full program download to the production CPU.
  3. Restoring the project from the last archive taken before the test-CPU download restores the original comparison stamp — provided the archive is the exact pre-test version.

6. Trigger E — Program Restored From Archive

If a project is restored from an archive that is not the exact program that was last downloaded to the target CPU, the time stamp on the offline program no longer matches the time stamp on the online CPU. PCS7 will refuse a delta download and offer only the full program path. Typical scenarios:

  • Backup restored after hardware failure on the engineering station
  • Project synchronisation between two ES stations (master and hot-standby)
  • Import of a project XML from a different plant that is similar but not identical
  • Partial check-in/check-out from a version-control system (e.g., SVN integration in Teamcenter) that retrieves a different revision

For multi-ES architectures, refer to the official PCS7 Engineering System Configuration Manual on the Siemens support portal for the project synchronisation model and time-stamp propagation rules.

7. CPU Operating Mode Requirements Summary

CPU Series Delta Download Mode Full Program Download Mode Notes
AS 410 (CPU 410-5H) RUN-P supported STOP mandatory Full download time scales with program size, typically 30 s to 5 min
AS 410E (CPU 410E) RUN-P supported STOP mandatory Larger work memory than AS 410; plan extended STOP
AS 400 (CPU 414 / 416) RUN-P supported STOP mandatory Legacy series, still in service at many sites
AS 300 (CPU 315 / 317) RUN-P supported STOP mandatory Common in smaller PCS7 installations
Soft PLC (WinLC RTX) RUN-P supported STOP mandatory Restart sequence includes service-mode reinitialisation

Regardless of the AS series, the engineering station reads the CPU's online operator panel via the Online & Diagnostics view and prevents delta download if any of the conditions in Sections 2–6 are true. The check is performed at the moment the user clicks the download toolbar icon; it is not cached from compile time.

8. Diagnostic Workflow — Step-By-Step

Use the following ordered procedure to isolate the active trigger when the S7 download dialog defaults to "Entire program downloaded to CPU".

  1. Open the project on the ES that last successfully performed a delta download to the target CPU. Verify you are editing the correct station (master or stand-by) if your site uses redundant ES.
  2. Compile only the changed chart via Chart > Compile > Chart. Inspect the Compile log for any interface warnings, e.g., "FB interface has changed since last download".
  3. Run online/offline compare: Options > Compare Blocks. Examine the difference column for any of the markers: Type difference, Interface different, Block number different.
  4. Check the compile/download settings: Options > Settings > Compile/Download. Confirm whether DB/FC compression is enabled and whether the S7 target setting matches the physical CPU order number.
  5. Check the time stamp of the offline S7 program vs. the time stamp reported by the CPU in PLC > Online & Diagnostics > Time Stamps. Mismatch indicates Triggers D or E.
  6. Check for archive-restore indications: Project > Archived / Restored view (where available) and version control metadata.
  7. Apply the targeted remediation from Sections 2–6 corresponding to the identified trigger.
  8. Re-attempt the download and verify that the dialog now offers "Download changes only".

9. Resolution Procedure — Restoring Delta-Download Capability

Once the active trigger is identified, apply the appropriate fix:

9.1 Interface-Change Recovery

  1. Roll back the FB interface modification if the change was unintentional.
  2. If the interface change is required, schedule a CPU STOP maintenance window.
  3. Place the CPU in STOP, perform the full download, restart, and verify all instances.
  4. After the next delta download cycle, confirm the instance DBs are regenerated correctly via PLC > Monitor/Modify.

9.2 Block-Type Replacement Recovery

  1. Revert the block type to the previously downloaded version (use Options > Compare Blocks to identify the prior version signature).
  2. Compile and confirm the dialog returns to "Download changes only".
  3. If a newer block type is mandatory, schedule a maintenance window for a full download.

9.3 DB/FC Compression Recovery

  1. Open Options > Settings > Compile/Download.
  2. Disable the Compress option.
  3. Compile the entire program (not just changed charts).
  4. Retry the download. The dialog should now offer "Download changes only" because the numbering sequence is preserved.

9.4 Time-Stamp Mismatch Recovery

  1. Confirm whether the test CPU download was performed with the Download to test CPU checkbox selected. If yes, the comparison stamp is preserved and delta download is unaffected.
  2. If a plain download was performed, restore the project from the last archive taken before the test download.
  3. If no archive is available, the only option is to accept a full program download to restore alignment.

9.5 Archive-Restore Recovery

  1. Restore the exact archive that was used to perform the most recent online download to the target CPU. Engineer station archives typically include the S7 program sub-folder that contains the comparison stamp metadata.
  2. Compile and verify the time stamp alignment in PLC > Online & Diagnostics.
  3. Re-attempt the download.

10. "Download to Test CPU" Option — Detailed Behaviour

The "Download to test CPU" feature is a special mode that performs a full or delta download of the program to a temporary test CPU for offline validation, while preserving the comparison stamp in the offline project. Specifically:

  • Download identifier: retained — engineering system records the original CPU's identifier as the canonical target.
  • Comparison stamp: retained — the time stamp of the offline S7 program is not updated.
  • Consequence: The same delta change can subsequently be applied to the production CPU with "Download changes only".

This option should be used as standard practice when validation requires testing on a real CPU (e.g., a spare AS 410 on the test bench). It is also the recommended workflow when a vendor hot-fix needs to be regression-tested before being applied to the live plant.

Limitation: The "Download to test CPU" option is not the same as a simulation. Test-CPU execution still requires a real AS hardware (or licensed SIMATIC S7-PLCSIM instance), and the test CPU's outputs must be electrically isolated from the plant I/O to prevent unintended actuator movement.

11. Prevention and Best Practices

  1. Lock the ES during live operation. Use PCS7 user-rights administration to restrict block modifications to a single nominated engineer or a maintenance window workflow.
  2. Disable DB/FC compression on operational projects. Section 4 details the procedure.
  3. Avoid test-CPU downloads during peak production. Schedule them in planned maintenance windows to prevent accidental stamp corruption.
  4. Archive the project immediately after each successful online download. This creates a recovery point aligned with the actual CPU state.
  5. Use the Download to test CPU checkbox for all validation downloads to test hardware.
  6. Adopt a structured change management workflow aligned with IEC 62443 change-control principles: formal request, impact analysis, approval, download, verification, sign-off.
  7. Verify all FB interface edits in a development AS before propagating to production. PCS7 supports parallel AS configuration in the multi-project view.
  8. Check S7 target device assignment before each download: PLC > Object Properties > Target System. A mis-assigned target can produce download dialog options that appear inconsistent with the actual physical rack.

12. Verification Checklist Post-Resolution

After applying any of the resolutions in Section 9, run the following checks to confirm delta-download capability has been restored and the system is healthy:

  1. Open the S7 download dialog and confirm the Download changes only option is selectable.
  2. Cancel the download (do not actually trigger it) and verify the option persists.
  3. Open Online & Diagnostics > Time Stamps and confirm offline and online time stamps are identical.
  4. Run Options > Check Block Consistency on the S7 program. Result should report zero errors.
  5. Compile the entire program (not only modified charts) to ensure all dependent blocks are up to date.
  6. Re-run Options > Compare Blocks between offline and online. Result should be No difference if the project is in steady state.
  7. Check the OS (operator system) for any channel-block consistency warnings, particularly in the SFC (Sequential Function Chart) instances and the S7 program Charts folder.
  8. Document the change in the plant's PCS7 change log with the time stamp, the engineer responsible, the trigger resolved, and the version-control revision ID.
Field-proven caveat: A successful "Download changes only" does not guarantee that the runtime behaves identically to a full download under all conditions. A small subset of cross-block references (e.g., ANY-POINTER access to renamed structures) can be silently remapped by the delta loader but still produce a runtime fault. Always run a controlled HMI verification (faceplate test) and a brief operator observation window after any structural change, even if the download completed in delta mode.

13. Troubleshooting Matrix

Symptom Most Likely Trigger First Diagnostic Step Resolution
Dialog defaults to full download after FB body edit only A — interface was unintentionally modified Compare Blocks > Interface column Revert interface or schedule full download window
Dialog defaults to full download after APL hot-fix B — block type replacement with structural change Check hot-fix release notes for interface impact Revert to prior block version, or accept full download
Dialog defaults to full download after first compile in a new project C — DB/FC compression enabled Options > Settings > Compile/Download > Compress Disable compression, recompile
Dialog defaults to full download after testing on a spare AS D — plain download to test CPU (not the test-CPU option) Verify which download checkbox was used Restore project from archive taken before test download
Dialog defaults to full download after ES hardware replacement E — project restored from older archive Check project history and time stamps Restore the correct archive that matches the live CPU state
Dialog options are greyed out entirely CPU is in wrong mode or no online connection Online & Diagnostics > Operating Mode Establish online connection; place CPU in STOP for full download
Download fails during execution with SF LED on CPU Work memory exceeded or stack overflow Diagnostic buffer > Event Reduce program size or upgrade CPU; refer to S7-400 system manual

14. Related Standards and References

Engineering procedures that govern PCS7 change control should be aligned with:

  • IEC 61131-3 — Programmable controllers, part 3: programming languages. Defines the FB, FC, DB, OB, and instance semantics that drive interface-impact analysis.
  • IEC 62443 — Industrial communication networks, network and system security. Provides the change-management framework that should wrap any PCS7 modification in a regulated plant.
  • ISA-95 / IEC 62264 — Enterprise-control system integration. Relevant for plant historians that consume tag data potentially affected by structural PCS7 changes.

For the official PCS7 documentation set, including the Engineering System manual, the Operator System manual, and the APL block reference, consult the Siemens PCS7 documentation portal. The SFC manual and the S7 programming reference are bundled in the standard PCS7 installation media and are also accessible from the SIMATIC Manager's Help > Manuals menu.

15. Glossary

Term Definition
APL Advanced Process Library — the standard library of PCS7 function blocks for I/O, control, and motor/valve management
AS Automation Station — the SIMATIC S7 CPU that runs the PCS7 user program
CPU STOP Operating mode in which the CPU does not execute the user program; outputs follow configured safe-state
Comparison stamp Identifier stored in the offline S7 program that matches the last successfully downloaded program to a specific CPU
Delta download Download of only the changed blocks (FB, FC, OB, DB) to the target CPU, typically possible in RUN-P
ES Engineering Station — the SIMATIC PCS7 programming and configuration workstation
Instance DB Data block generated for a specific FB call, containing the static and IN/OUT parameter values
OS Operator System — the SIMATIC PCS7 HMI runtime that provides faceplates, alarms, and trends
SFC Sequential Function Chart — graphical step/transition language used for batch and sequential control in PCS7

FAQ

Why does PCS7 force a full program download after I only changed FB code and not the interface?

It should not. A code-only FB modification keeps the Instance DB structure intact and the engineering station should offer "Download changes only". If the dialog still defaults to full download, run Options > Compare Blocks and check for hidden interface changes (renamed parameter, changed data type) or for DB/FC compression. Also confirm the offline project is the same one that produced the last successful online download — a project restored from a non-matching archive produces a time stamp mismatch.

Must the CPU be in STOP for a full program download in PCS7?

Yes. The CPU must be in STOP for the entire program download path because the work memory and load memory are fully rewritten. STOP transitions for AS 410 / AS 410E typically take 30 s to several minutes depending on program size. Plan the maintenance window accordingly and notify plant operators so that actuator safe-states are accounted for.

What is the difference between "Download to test CPU" and a plain download to a test AS?

"Download to test CPU" preserves the download identifier and comparison stamp in the offline project so that the same delta can later be applied to the production CPU. A plain download to any CPU updates the comparison stamp, breaking delta-download alignment with the production CPU and forcing a full download the next time the production CPU is targeted.

How can I tell if my project has been restored from a mismatched archive?

Open PLC > Online & Diagnostics > Time Stamps and compare the offline S7 program time stamp to the online CPU time stamp. Any difference indicates the offline project is not the version last downloaded. Restore the correct archive (typically the one taken immediately after the most recent successful download) to recover delta-download capability.

Does DB/FC compression cause runtime issues or only download-time issues?

Only download-time issues. Compression only renumbers the DB and FC addresses; the compiled code remains functionally equivalent. However, because the numbering sequence changes, the comparison stamp no longer matches and the next download must be a full program download. Disable compression on operational projects to avoid this unnecessary STOP window.

Back to blog