Resolving Missing Legacy Driver Blocks (dig_device) During PCS 7 Multiproject Migration to V9.0

Resolving Missing Legacy Driver Blocks (dig_device) During PCS 7 Multiproject Migration to V9.0

When compiling CFC charts during a PCS 7 migration from V7.0 to V9.0, compilation errors citing missing blocks from legacy or OEM libraries (such as 'dig_device') occur because the required function block types and module driver generators are not installed on the new Engineering Station. To resolve this, install the legacy library setup package on the ES or retrieve the required FBs and FCs from the original project's Master Data Library. If the legacy library is obsolete and unreleased for PCS 7 V9.0, migrate the technological logic to modern APL blocks (e.g., MotL, VlvL, MonDiL) and standard channel drivers (Pcs7DiIn/Pcs7DiOu). For immediate syntax verification without driver generation, uncheck 'Generate module drivers' in the CFC compilation settings.

Table of Contents

Executive Summary

Migrating legacy SIMATIC PCS 7 systems (such as V7.0 SP1 or V7.1) directly to modern releases like PCS 7 V9.0 SP2 frequently halts during CFC compilation with missing block type errors. A recurring failure involves legacy field device libraries or custom OEM packages (e.g., 'dig_device'), where specialized function blocks are referenced in CFC charts but absent from the offline block folder or driver generator catalog. Because PCS 7 enforces strict multi-step migration paths and requires 64-bit compatible driver libraries under modern Windows environments, engineering teams must address these missing dependencies. This article establishes the resolution path for missing legacy driver libraries during PCS 7 upgrades.

Architecture and Fundamental Mechanics

SIMATIC PCS 7 CFC compilation performs two distinct operations: translating graphic chart interconnections into executable S7 machine code (OB execution groups and DB instances) and executing the 'Generate Module Drivers' compiler pass.

During module driver generation, the compiler analyzes hardware configuration addresses (L-addresses / P-addresses) connected to driver blocks. It queries the system catalog to automatically instantiate diagnostic blocks (such as MOD_D1, RACK, OB_DIAG1) and diagnostic interconnects. If a chart utilizes legacy blocks (such as dig_device), the compiler attempts to verify block signatures, interface versioning, and driver generation rules defined in the library's XML/EDD manifests.

If the library setup was never installed on the host ES, or if the library was deprecated following the transition from 32-bit (Windows XP/7) to 64-bit (Windows 10 / Server 2016/2019) operating systems, CFC compilation aborts. Furthermore, direct multi-version migrations skipping intermediate validation stages (e.g., jumping from V7.0 directly to V9.0 without stepping through V7.1 and V8.2) violate Siemens migration rules and prevent automated block interface reconciliation.

Step-by-Step Implementation Procedure

  1. Identify Missing Block Types and Dependencies:
    a. Open the CFC compilation log in SIMATIC Manager by selecting 'Options -> Logs -> Compile...'.
    b. Filter for error messages citing 'dig_device' or specific missing block numbers (e.g., FB/FC numbers).
    c. Open SIMATIC Manager, navigate to S7 Program -> Blocks, and check if the cited blocks exist in the offline folder.

  2. Recover Blocks from Original Master Data Library:
    a. Open the original archived PCS 7 V7.0 project on a reference system or archive viewer.
    b. Locate the project's Master Data Library and open its Blocks folder.
    c. Copy the missing dig_device function blocks into the Master Data Library of the V9.0 multiproject.
    d. In SIMATIC Manager, select Options -> Charts -> Update Block Types... to propagate the block definitions into the target S7 program.

  3. Execute CFC Test Compilation:
    a. Open any CFC chart and select Chart -> Compile -> Chart as Program....
    b. In the compile dialog, uncheck 'Generate module drivers' and select 'Changes only' (or 'Entire program' for diagnostic check).
    c. Click 'OK' to verify whether pure technological logic compiles without syntax errors.

  4. Execute Phased Library Modernization to APL:
    a. If the legacy library is incompatible with PCS 7 V9.0 64-bit runtime, replace legacy device blocks with standard APL equivalents (MotL for motor starters, VlvL for valves, MonDiL for digital monitors).
    b. Replace legacy I/O drivers with APL channel drivers (Pcs7DiIn, Pcs7DiOu).
    c. Re-enable 'Generate module drivers' in compilation settings and execute a full compile.
    d. Perform full download to AS during a planned maintenance outage.

Verification

  1. In SIMATIC Manager, execute 'Options -> Charts -> Update Block Types...': confirm all legacy block types report clean synchronization with the Master Data Library.
  2. Recompile CFC charts with 'Generate module drivers' enabled: verify 0 errors in the compilation log.
  3. Open HW Config and execute 'Station -> Check Consistency': verify no diagnostic address collisions exist.
  4. In S7-PLCSIM or test controller, perform a download and confirm the CPU reaches RUN mode without calling OB121 (Programming Error).

Limitations and Operational Precautions

Unchecking 'Generate module drivers' allows CFC charts to compile for testing purposes, but MUST NEVER be downloaded to a production controller; without module drivers, field I/O diagnostics, wire-break monitoring, and rack failure detection are completely disabled. Legacy 32-bit libraries lacking 64-bit driver generators cannot generate module drivers under PCS 7 V9.0. Validated procurement of updated software packages or migration services should be confirmed through an authorized Siemens distributor or the Siemens Industry Mall.

Engineer FAQ

Can I migrate directly from PCS 7 V7.0 to V9.0 in a single step?

No. Siemens mandates a phased migration path: migrate V7.0 to V7.1 SP4, then to V8.0/V8.2, and finally to V9.0, or perform an asynchronous modernization by creating a new V9.0 project structure and importing technological charts.

Why does unchecking 'Generate module drivers' eliminate compilation errors?

Because the compiler skips the hardware diagnostic driver generation pass, bypassing checks for missing diagnostic rules and hardware catalog manifests associated with legacy blocks.

What replaced the legacy dig_device library in modern PCS 7?

The standard PCS 7 Advanced Process Library (APL), utilizing blocks such as MotL, VlvL, and standard channel drivers Pcs7DiIn and Pcs7DiOu.

How do I verify if a third-party library is compatible with PCS 7 V9.0?

Consult the Siemens Industry Online Support (SIOS) compatibility tool or verify the library documentation for 64-bit Windows and PCS 7 V9.0 release certificates.

What happens if I update block types online in a running plant?

If block interfaces (inputs, outputs, memory footprint) have changed, the AS requires a STOP download. Only blocks with identical interfaces support online download of changes.

Technical References

Related Articles

Related Tags

  • PCS 7 Migration
  • CFC Compilation
  • Module Drivers
  • Legacy Libraries
  • APL Modernization
  • STEP 7
20 respuestas