How to Resolve Missing Block Errors During Module Driver Generation in PCS 7 Version Migrations
During SIMATIC PCS 7 version migrations (e.g., upgrading from V8.0 SP1 to V8.1 SP1), CFC compilation errors indicating missing function blocks (such as FB1825 MOD_D16 or FB1847 MOD_PA) during module driver generation are caused by library version mismatches between legacy blocks in the project and the newly installed system libraries. Siemens architecture strictly mandates that only blocks from a single PCS 7 Basis Library version can be loaded to an Automation Station. The error is resolved by executing 'Update Block Types' in CFC to align the project with the master library (PCS 7 Basis Library V8.1 and APL V8.1), deleting obsolete @Charts, and recompiling.
Table of Contents
- Library Version Homogeneity Rule in PCS 7
- Failure Mechanism During Module Driver Generation
- Step-by-Step Block Type Alignment Procedure
- Basis Library and Driver Block Version Compatibility Matrix
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
Library Version Homogeneity Rule in PCS 7
In SIMATIC PCS 7, the engineering system enforces strict consistency across all system libraries, technological blocks, and hardware diagnostic drivers loaded into an Automation Station (AS).
The Single-Version Mandate
Siemens architectural guidelines dictate:
Only blocks originating from a single, unified PCS 7 version may be compiled and executed within an Automation Station.
When migrating an engineering project created in an earlier version (e.g., PCS 7 V8.0 SP1) to a newer version (e.g., PCS 7 V8.1 SP1), engineers often install the new software on an Engineering Station and open the existing project. If the engineer attempts to compile the project without explicitly updating the block types within the project's master library and offline block container, the project remains populated with a hybrid mixture of old and new function blocks.
Failure Mechanism During Module Driver Generation
The CFC Driver Wizard ('Generate module drivers') dynamically creates diagnostic chart networks (@Charts) that interconnect hardware address diagnostics with software channel blocks.
During migration, compilation fails with errors citing missing function blocks (e.g., FB1825 MOD_D16, FB1847 MOD_PA, or FB1828 MOD_HA8) due to the following mechanisms:
1. Outdated Driver Wizard Rules: The Driver Wizard executing in PCS 7 V8.1 SP1 follows the hardware rules of the V8.1 Basis Library, which expects updated interface structures and specific FB numbers.
2. Missing Master Library Synchronization: If the project block container still contains V8.0 blocks, the wizard detects that required companion blocks are either absent or possess interface checksum mismatches.
3. Legacy @Charts Artifacts: Leftover @Charts from the earlier version contain static interconnections to blocks that no longer exist or have been renumbered in the newer library.
Step-by-Step Block Type Alignment Procedure
Follow this procedure, detailed in Siemens migration manual 'Software Update with Utilization of New Functions', to align all block types:
Step 1: Open Master Library and Copy Updated Libraries
- In SIMATIC Manager, open the project's Master Data Library (
File -> Open -> Libraries). - Open the newly installed system libraries:
* PCS 7 AP Library V8.1 (Advanced Process Library)
* PCS 7 Basis Library V8.1 - Select all blocks in the system libraries (
Ctrl+A) and copy them into the Blocks folder of your Master Data Library, overwriting existing older versions.
Step 2: Execute 'Update Block Types' Across the Multiproject
- Open any CFC chart in the project.
- Navigate to menu Options -> Block Types....
- In the dialog, observe the list of blocks. Note that blocks from mixed versions are highlighted.
- Select the updated blocks from the Master Data Library (or select the entire list) and click the Update Block Types (or New Version) button.
- In the wizard, select all target S7 programs in the multiproject to ensure complete consistency.
- Confirm the update. CFC will parse every chart across all AS programs, updating block interfaces and internal structures automatically.
Step 3: Delete Existing @Charts
- In SIMATIC Manager, navigate to the Charts container of each AS.
- Select and delete all charts starting with
@(e.g.,@(1),@(2),@Charts).
(Note: These are purely driver charts and contain no application code).
Step 4: Recompile CFC with Module Driver Generation
- In CFC Editor, select Chart -> Compile -> Chart as Program.
- Select Entire Program.
- Check the box Generate module drivers.
- Click OK. The compiler will generate fresh
@Chartsusing the unified V8.1 Basis Library with zero missing block errors.
Basis Library and Driver Block Version Compatibility Matrix
The following table outlines key Basis Library driver blocks and their compatibility constraints across PCS 7 versions:
MOD_D16MOD_D32MOD_HA8MOD_PAOB_BEGINCPU_DIAGNever attempt to load blocks from DVD2 'Additional Tools' legacy folders unless maintaining a frozen non-upgraded target station.
Verification
To verify that the block update is successful and compilation is clean:
1. Ensure the CFC compilation log reports: 0 Errors, 0 Warnings (or benign informational notes).
2. Open the CFC Options -> Block Types... dialog; verify that all block types show identical author and version tags matching PCS 7 V8.1.
3. Open a newly generated @(1) chart; verify that MOD_D16 and other diagnostic blocks are placed correctly with no red borders.
4. Download the compiled program to the AS (full download in STOP mode is required after block type updates).
5. Switch the CPU to RUN and confirm that RUN LED is solid green and EXTF / REDF LEDs are off.
Limitations and Operational Precautions
- Updating block types via 'New Version' alters block structural footprints; this mandates an Entire Program download in CPU STOP mode. Online delta downloads are impossible when block interfaces change.
- Always archive the entire multiproject (
File -> Archive) prior to executing 'Update Block Types'. - If third-party vendor blocks (e.g., drives, weighing systems) are used, obtain updated vendor libraries compatible with PCS 7 V8.1 before executing the update.
- Do not install legacy APL 7.1 libraries from DVD2 unless explicitly required for backwards compatibility in un-migrated projects.
Engineer FAQ
Why did the compiler report a missing FB if the block was present in the old project?
The V8.1 Driver Wizard looks for the V8.1 version of the block with matching interface signatures. An older V8.0 block in the block folder with a different interface checksum is treated as invalid or missing by the wizard.
Can I update block types online without stopping the plant?
No. In standard S7-400 systems, changing block interfaces requires re-allocating instance data blocks in CPU memory, which can only be done in STOP mode. (Only CPU 410-5H with TCiR supports limited online interface updates under strict conditions).
Where do I find the 'Update Block Types' function in SIMATIC Manager?
Open any CFC chart, go to the top menu Options -> Block Types..., select the blocks from the master library, and click the Update Block Types button.
Technical References
- SIMATIC Process Control System PCS 7 Software Update with Utilization of New Functions (V8.1)
- SIMATIC PCS 7 Basis Library Manual (V8.1)
- Siemens Industry Online Support FAQ: Updating Block Types in Multiprojects
Related Articles
- How to Resolve 'Could Not Insert into Connection' Driver Wizard Errors in PCS 7 Upgrades
- Understanding Question Mark and Exclamation Mark Block Header Symbols in SIMATIC CFC
- How to Resolve CFC and SFC Compilation Errors 'TMS_CACHE_ADDR_GET Invalid File Position' in PCS 7 V8.1
Related Tags
- Generate_Module_Drivers
- Block_Types
- PCS7_Migration
- Basis_Library
- APL_V8_1