Upgrade Scope Requirements and Driver Generation Rules for Non-APL Legacy Blocks
When performing a SIMATIC PCS 7 software update without utilizing new functions, it is not mandatory to update all user blocks (such as classic motors, valves, and mathematical functions) to match the latest versions installed in the system library. Existing functional blocks can remain in the Automation Station (AS) program. However, channel driver blocks (CH_AI, CH_DI, etc.) must be updated to the library revision installed on the Engineering Station because the CFC 'Generate Module Drivers' compiler wizard requires matching background descriptors to construct system diagnostic @charts. Legacy libraries must be confirmed via an authorized Siemens distributor or the Siemens Industry Mall.
Table of Contents
- Executive Summary
- Architecture and Fundamental Mechanics
- Step-by-Step Implementation Procedure
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
Executive Summary
During lifecycle upgrades of mature SIMATIC PCS 7 installations (e.g., updating engineering environments to resolve operating system obsolescence while keeping field controllers in production), engineers often encounter channel driver generation errors during CFC compilation. While installing older compatibility libraries (such as PCS 7 Library V7.1 SP3 Upd4) on the Engineering Station clears compiler syntax errors, engineers frequently question whether they are now mandated to update every single Function Block (FB) and Function (FC) in the AS program to achieve perfect version parity. Siemens engineering standards clearly delineate between hardware-dependent driver blocks and user application blocks: channel drivers require synchronization with the installed driver generator, while classic application blocks can remain unmodified in controller memory.
Architecture and Fundamental Mechanics
Understanding the selective update requirement involves examining how the PCS 7 compilation engine processes different block classifications:
1. The Channel Driver and Module Generator Mechanism
In SIMATIC PCS 7, channel driver blocks (CH_AI, CH_AO, CH_DI, CH_DO from classic libraries; Pcs7AnIn, Pcs7DiIn from APL) do not function in isolation:
- They are coupled to the Driver Generator Wizard (Chart -> Compile -> Generate module drivers).
- When compiling, the driver wizard reads hardware metadata descriptors stored inside the ES library directory (...\Siemens\Step7\S7Data\...).
- If the channel driver block in the AS chart has an older block version whose interface or internal version tags do not match the descriptor rules of the installed library, driver generation aborts with fatal errors.
- Therefore, synchronizing channel blocks with the installed library version is an absolute technical requirement.
2. Autonomous Technological Application Blocks
In contrast, standard process blocks (CTRL_PID, MOTOR, VALVE, MEAS_MON, calculation blocks):
- Execute purely within the user program and do not participate in automated @ diagnostic chart generation.
- As long as their block type signatures (FB/FC interface numbers and parameter structures) exist in the project block folder, the CFC compiler processes them without error.
- Updating these blocks in-place carries substantial operational risk: interface changes can wipe out existing parameter values and mandate a complete, non-bumpless AS STOP download.
- Leaving them untouched preserves verified operational behavior.
Step-by-Step Implementation Procedure
To correctly manage selective block updates during a PCS 7 software upgrade:
Step 1: Install Required Legacy Library on the ES
- Identify the legacy library version used by the AS project (e.g.,
PCS 7 Library V7.1 SP3 Upd4). - Install this exact library package on the Engineering Station to populate the system descriptor files.
- Restart the Engineering Station.
Step 2: Selectively Update Only Channel Driver Blocks
- Open SIMATIC Manager and open the target AS CFC chart folder.
- In the menu, select Options -> Block Types.
- In the left-hand pane (Block types in chart folder), select exclusively the channel driver blocks:
-CH_AI(FB30)
-CH_AO(FB31)
-CH_DI(FB32)
-CH_DO(FB33)
-CH_U_AI/CH_U_DI(if present) - Click New Version (or Clean Up / Update).
- Do not select
CTRL_PID,MOTOR, or custom blocks for type update.
Step 3: Compile AS with Module Driver Generation
- In the CFC Editor, click Chart -> Compile -> Changes Only.
- Ensure Generate module drivers is checked.
- Verify that compilation succeeds and that the driver wizard updates the
@charts without error.
Step 4: Download Changes to the AS in RUN
- In CFC, click PLC -> Download -> Changes only.
- Confirm that the Automation Station downloads the delta modifications while remaining in
RUNmode.
Verification
To confirm selective update integrity:
-
Compilation Log Inspection:
- Inspect the CFC compilation log.
- Confirm zero module driver generator errors and zero interface mismatch warnings. -
Online Channel Health Check:
- Open several CFC charts containing updatedCH_AIblocks online.
- Verify that process variables read accurately and that the quality code indicates Good. -
Controller Status Check:
- Confirm that the Automation Station CPU remains inRUNmode throughout the download.
Limitations and Operational Precautions
Operational limitations and precautions:
- Selective Updating Discipline: Never click 'Select All' in the Block Types dialog during a maintenance migration, as this will force unwanted type updates across all technological blocks.
- Long-Term Modernization Planning: Retaining legacy blocks is a transitional strategy. Major future platform migrations (e.g., to PCS 7 V9.1 or PCS neo) will eventually require migrating classic blocks to the Advanced Process Library (APL).
- CFC Cross-References: After updating channel blocks, perform a cross-reference consistency check to ensure no sheet-bar links were disturbed.
- Commercial Disclaimer: Verify all software libraries, engineering licenses, and system packages with an authorized Siemens distributor or the Siemens Industry Mall.
Engineer FAQ
Is it mandatory to update all functional blocks in the AS when updating libraries?
No. You only need to update the channel driver blocks to satisfy the module driver generator; user control blocks can remain at their existing versions.
Why do channel driver blocks require updating?
Channel drivers rely on hardware descriptor files stored in the ES library. The driver generator requires channel block versions to match these descriptors to build system @ charts.
What is the danger of updating technological blocks like CTRL_PID or MOTOR?
Updating technological blocks alters their interface parameters, which can sever connections, reset tuned parameters, and force an AS STOP download.
How do I update only channel blocks in CFC?
In CFC, select Options -> Block Types, highlight only the channel blocks (CH_AI, CH_DI, etc.), and click New Version.
Can I download channel block updates while the CPU is in RUN?
Yes. Updating only channel blocks typically allows delta compilation and downloading changes in RUN mode.
Technical References
- [SIMATIC PCS 7 Software Update Without Utilization of New Functions Guide
- SIMATIC PCS 7 CFC for S7 Engineering Manual
- SIMATIC Process Control System PCS 7 Released Modules and Licenses
Related Articles
- Migration Guidelines for Legacy PCS 7 Library Blocks Upgrading to V8.1
- Evaluating Cyclic Interrupt Execution Constraints and ET 200SP HA Channel Drivers in APL
- Diagnostic Processing Architecture for ET 200SP HA in SIMATIC PCS 7
Related Tags
- Block Types Update
- Channel Drivers
- Generate Module Drivers
- Download in RUN
- PCS 7 Upgrades