Resolving 'Block FCxxxx Does Not Exist' During Changes-Only Download in SIMATIC CFC
In SIMATIC PCS 7 CFC, the download abort error 'E: Block FCxxxx does not exist' or 'Block was deleted in CPU' occurs when the offline CFC compilation delta table loses synchronization with the online S7-400 CPU block directory. This discrepancy arises when a previous download was interrupted, blocks were deleted online outside of CFC, or runtime groups were restructured. To resolve this without stopping the plant, execute 'Options -> Block Types -> Clean Up' in CFC, compile the entire chart folder, and perform an online block comparison before executing the download.
Table of Contents
- The Mechanics of Changes-Only Compilation and Download Deltas
- Root Causes for Online/Offline Block Desynchronization
- Why Deleting Blocks Online Corrupts CFC Change Tracking
- CFC Delta Synchronization and Recovery Matrix
- Step-by-Step Procedure to Restore CFC Block Synchronization
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
The Mechanics of Changes-Only Compilation and Download Deltas
In SIMATIC PCS 7 continuous process automation, taking a controller to STOP mode causes catastrophic plant outages. To support non-stop 24/7 manufacturing, the Continuous Function Chart (CFC) editor incorporates an advanced Changes-Only Download (Download in RUN) engine.
To accomplish online modifications without stopping the CPU:
* The CFC compiler maintains a persistent internal Delta State Table (tracking which Function Blocks, Functions, and Instance DBs currently reside in the physical CPU's load memory).
* When an engineer edits a chart, the compiler generates updated internal Functions (FCs) containing the modified execution sequences.
* During download in RUN, CFC executes an atomic swap:
1. It downloads the new FC into free CPU load memory.
2. It updates the Organization Block call pointers to redirect execution to the new block.
3. It deletes the obsolete older FC from CPU load memory.
If the internal delta table believes an older block (e.g. FC 1205) exists in the CPU, but the CPU returns Block not found when CFC attempts to delete or swap it, the download engine aborts immediately to prevent calling non-existent memory addresses.
Root Causes for Online/Offline Block Desynchronization
This synchronization failure stems from three primary operational anomalies:
1. Interrupted Previous Download:
If a prior download in RUN was severed mid-stream (e.g. Ethernet cable snag, power blip, or Windows crash), the CPU successfully accepted some blocks while the offline engineering database failed to log the completed transaction.
2. Manual Online Block Deletion:
An engineer opened the online S7 Program block folder in SIMATIC Manager and manually deleted blocks (such as orphaned FCs or DBs). Because CFC was bypassed, the offline delta table still expects those blocks to exist online.
3. Runtime Group Splitting Across Major Revisions:
Moving blocks across runtime groups or altering the reserved FC number range in CFC settings without executing a clean compilation can cause block index misalignment.
Why Deleting Blocks Online Corrupts CFC Change Tracking
A fundamental engineering rule in SIMATIC PCS 7:
* NEVER manually delete, rename, or copy compiled blocks in the online S7 Program block folder!
* CFC manages block numbers (FC600–FC3000, DB600–DB3000) dynamically.
* If an engineer deletes an FC online, the CPU no longer has it. When CFC compiles 'Changes only', it relies on relative delta offsets. When it commands the CPU: 'Delete obsolete block FC 1205', the CPU reports Error: Block FC 1205 does not exist. Because safety and consistency cannot be guaranteed, CFC aborts the entire download.
CFC Delta Synchronization and Recovery Matrix
The following matrix compares recovery strategies according to plant operational status:
Step-by-Step Procedure to Restore CFC Block Synchronization
Follow this procedure to resolve 'Block FCxxxx does not exist' and restore download in RUN:
1. Clean Up Block Types in CFC:
- In SIMATIC Manager, open any CFC chart.
- Select Options -> Block Types.
- In the Block Types dialog, select your target S7 Program and click Clean Up.
- This purges unused block types and repairs internal symbol pointers.
2. Execute a Full Compilation (Without Forcing STOP):
- In SIMATIC Manager, right-click the Charts folder and select Compile -> Charts as Program.
- Under Scope, select Entire program.
- Under Options, ensure Generate module drivers is checked.
- Note: Compiling the entire program does NOT force an AS stop on download, provided block interfaces (inputs/outputs) were not altered. It simply rebuilds all internal execution tables.
3. Compare Online and Offline Blocks:
- In SIMATIC Manager, select the S7 Program block folder.
- Select PLC -> Compare Blocks.
- Select the target online AS CPU.
- Review differences: Verify whether the missing FCxxxx is listed as present offline but missing online.
4. Attempt Download in RUN:
- In CFC, select PLC -> Download.
- Under Scope, select Changes only.
- CFC will evaluate the newly compiled full program against the physical CPU state. In most cases, rebuilding the full program clears the phantom delta reference and the download succeeds in RUN.
5. Fallback Procedure (If Entire Download in STOP is Required):
- If the delta database is hopelessly out of sync and changes-only download remains blocked:
- Schedule a plant maintenance window.
- Switch the CPU to STOP mode, and execute PLC -> Download -> Scope: Entire program to establish a pristine 100% baseline.
Verification
Verify that block synchronization is fully restored:
1. In CFC, execute PLC -> Download -> Scope: Changes only: Confirm the download initiates and completes with zero errors.
2. Open the CPU Diagnostic Buffer (Ctrl + D): Verify that the download transaction is recorded cleanly with zero missing block alarms.
3. In CFC test mode: Confirm that dynamic values update in real-time.
4. Make a minor benign change (e.g. adjust a filter time parameter by 0.1 s in a CFC chart):
- Compile changes only.
- Download changes only.
- Confirm that subsequent delta downloads proceed instantly without error prompts.
Limitations and Operational Precautions
- Never attempt to manually copy an offline FC into the online CPU using SIMATIC Manager to 'satisfy' the error; doing so can cause CPU pointer mismatch and trip the controller into STOP mode.
- If a full download in STOP is unavoidable, ensure all field equipment is in a verified safe state and operations personnel have executed formal shutdown protocols.
- Maintain a verified project archive prior to executing block cleanup or full program recompilation.
Engineer FAQ
Why does 'Compile Entire Program' sometimes still allow 'Download Changes'?
Compiling the entire program regenerates all offline machine code and internal cross-references. If the resulting block interfaces match what is running in the CPU, CFC can compare the new binary with the CPU memory and download only the altered blocks in RUN mode.
What causes a download in RUN to fail with 'Download not possible in current CPU state'?
This occurs if you added, deleted, or modified input/output parameters on a block type that is instantiated in charts. Structural interface changes alter instance DB memory layouts, which requires a full CPU STOP download.
Can S7-PLCSIM be used to test if a changes-only download will succeed?
Yes. You can upload the running CPU blocks into an S7-PLCSIM instance on your ES, and test the changes-only download sequence safely without risking physical plant hardware.
Technical References
- SIMATIC PCS 7 CFC for S7 Manual (A5E39140294)
- SIMATIC S7-400 Hardware Configuration and CiR Guidelines (A5E00706938)
- Siemens Industry Support Portal: Restoring Online/Offline Synchronization in CFC
Related Articles
- Resolving 'OB Block Is Not Copied' and Download Locks on CPU 410 SMART in PCS 7 V8.2
- Troubleshooting AS Compilation Freezing at 20% During 'Entire Program' Scope in SIMATIC PCS 7
- Managing FC and DB Number Ranges in SIMATIC CFC to Prevent Collisions
Related Tags
- SIMATIC PCS 7 V8.1
- CFC Engineering
- Download in RUN
- Changes Only
- Block Consistency