Upgrade Scope Requirements and Driver Generation Rules for Non-APL Legacy Blocks

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

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

  1. Identify the legacy library version used by the AS project (e.g., PCS 7 Library V7.1 SP3 Upd4).
  2. Install this exact library package on the Engineering Station to populate the system descriptor files.
  3. Restart the Engineering Station.

Step 2: Selectively Update Only Channel Driver Blocks

  1. Open SIMATIC Manager and open the target AS CFC chart folder.
  2. In the menu, select Options -> Block Types.
  3. 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)
  4. Click New Version (or Clean Up / Update).
  5. Do not select CTRL_PID, MOTOR, or custom blocks for type update.

Step 3: Compile AS with Module Driver Generation

  1. In the CFC Editor, click Chart -> Compile -> Changes Only.
  2. Ensure Generate module drivers is checked.
  3. Verify that compilation succeeds and that the driver wizard updates the @ charts without error.

Step 4: Download Changes to the AS in RUN

  1. In CFC, click PLC -> Download -> Changes only.
  2. Confirm that the Automation Station downloads the delta modifications while remaining in RUN mode.

Verification

To confirm selective update integrity:

  1. Compilation Log Inspection:
    - Inspect the CFC compilation log.
    - Confirm zero module driver generator errors and zero interface mismatch warnings.

  2. Online Channel Health Check:
    - Open several CFC charts containing updated CH_AI blocks online.
    - Verify that process variables read accurately and that the quality code indicates Good.

  3. Controller Status Check:
    - Confirm that the Automation Station CPU remains in RUN mode throughout the download.

Limitations and Operational Precautions

Operational limitations and precautions:

  1. 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.
  2. 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).
  3. CFC Cross-References: After updating channel blocks, perform a cross-reference consistency check to ensure no sheet-bar links were disturbed.
  4. 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

Related Articles

Related Tags

  • Block Types Update
  • Channel Drivers
  • Generate Module Drivers
  • Download in RUN
  • PCS 7 Upgrades
20 respuestas