Resolving CFC Compiler Error 'RefBlockCopy: S7JDAUDB.DLL' During CPU 410-5H Migration in SIMATIC PCS 7 V9.0

Resolving CFC Compiler Error 'RefBlockCopy: S7JDAUDB.DLL' During CPU 410-5H Migration in SIMATIC PCS 7 V9.0

During a multi-version migration to SIMATIC PCS 7 V9.0 and CPU 410-5H, the CFC compiler error 'RefBlockCopy (4297:15613): >> S7JDAUDB.DLL << - ids 0X2000 (SFC51)' occurs because the user offline block container contains obsolete, incompatible system function block (SFC/SFB) interface headers from the legacy CPU configuration. The CPU 410-5H driver generator block PA_CPU (FB16) requires updated V9.0 system functions. When the compiler attempts to insert PA_CPU, timestamp and interface conflicts between legacy SFCs (SFC51, SFC6, SFB36) and the new system database trigger the S7JDAUDB database driver abort. To resolve the error, copy fresh system function blocks from the STEP 7 Standard Library into the Master Data Library and AS block folder, execute 'Update Block Types' in CFC, and recompile.

Table of Contents

Root Cause: S7JDAUDB.DLL and System Block Version Collisions

Migrating legacy PCS 7 projects across multiple major software generations (e.g. from PCS 7 V4.0.2 / V6.x directly into V9.0) introduces severe database schema and system block discrepancies. When an older processor (such as CPU 416-2 DP) is replaced with the modern CPU 410-5H in HW Config, the hardware compilation succeeds because HW Config uses the active hardware catalog.

However, when compiling Continuous Function Charts (CFC), the compiler fails with a critical error:

RefBlockCopy (4297:15613): >> C:/Program Files (x86)/SIEMENS/STEP7/S7bin/S7JDAUDB.DLL << - ids 0X2000 (SFC51)

Deleting SFC51 causes the compiler to fail on SFC6, and deleting SFC6 triggers failures on SFB36. This cascading failure occurs because S7JDAUDB.DLL (the internal STEP 7 / CFC database driver responsible for referencing and copying system blocks) detects a fatal mismatch between the legacy block interface timestamps preserved in the migrated project's block folder and the firmware expectations of the CPU 410-5H operating system database.

Role of PA_CPU (FB16) in CPU 410-5H Architecture

In SIMATIC PCS 7, the Driver Generator automatically places CPU diagnostic blocks into @ system charts. For classic S7-400 CPUs, blocks such as @CPU_RT were utilized. For the CPU 410-5H, PCS 7 V9.0 deploys the specialized diagnostic block PA_CPU (FB16 - Process Automation CPU Diagnostic Block).

PA_CPU actively interfaces with CPU 410 firmware via system functions:

System BlockBlock NameFirmware Role in CPU 410-5HFailure Symptom When ObsoleteSFC51RDSYSSTReads System Status Lists (SZL) for SEC Process ObjectsRefBlockCopy error ids 0X2000SFC6RD_SINFOEvaluates start information of organization blocksCascading RefBlockCopy compilation abortSFB36PO_PR_RECTransfers peripheral diagnostic data recordsDatabase driver interface signature mismatchFB16PA_CPUDriver generator diagnostic block in @ chartsSystem chart generation fails completely
  • SFC51 (RDSYSST): Reads System Status Lists (SZL) to evaluate SEC card Process Object consumption and controller health.
  • SFC6 (RD_SINFO): Evaluates start information of organization blocks.
  • SFB36 (PO_PR_REC): Processes peripheral diagnostic records.

When the CFC compiler attempts to generate @ charts for CPU 410-5H, it queries the S7 program block folder for SFC51. If it encounters a 15-year-old SFC header from PCS 7 V4.0.2, the compiler's safety check detects incompatible interface signatures and aborts execution to prevent controller crashes.

Step-by-Step Procedure to Purge and Update System Function Blocks

To resolve the RefBlockCopy collision cleanly and restore CFC compilation, execute the following technical workflow:

  1. Delete Obsolete SFCs and SFBs from AS Block Folder: In SIMATIC Manager, navigate to the S7 Program block folder of the AS. Highlight all system functions (SFC0..SFC127) and system function blocks (SFB0..SFB60) present in the folder and delete them. (Do NOT delete user FBs, FCs, DBs, or OBs).

  2. Open the Standard Library in SIMATIC Manager: In SIMATIC Manager, select File -> Open -> Libraries. Browse to the Standard Library included with STEP 7 V5.6 (PCS 7 V9.0). Open the subfolder System Function Blocks.

  3. Copy Fresh System Blocks to Master Data Library and AS: Select all SFCs and SFBs in the Standard Library's System Function Blocks folder (Ctrl+A), right-click and select Copy. Paste them into:
    - The Master Data Library block folder.
    - The target AS S7 Program block folder.

  4. Update Block Types in CFC: Open any CFC chart. Select Options -> Block Types.... In the block types window:
    - Click 'Clean Up' to remove orphaned block references.
    - Select all blocks and click 'Update...' to synchronize all chart instances with the Master Data Library.

  5. Execute Full CFC Compilation: In the CFC editor, select Chart -> Compile -> Chart as Program. Enable 'Generate module drivers' and select 'Entire program'. Compilation will complete with 0 Errors.

Verification

Verify system block consistency and compiler health through these diagnostic steps:

  1. CFC Compiler Log Verification: Verify that the compilation log finishes with 0 Errors and that RefBlockCopy no longer appears.
  2. Verify System Chart Generation: In the CFC chart container, confirm that system charts beginning with @ (e.g., @PA_CPU) are generated and contain active instances of FB16.
  3. S7-PLCSIM Test Download: Download the newly compiled program into S7-PLCSIM (or a test CPU 410-5H). Switch the controller to RUN mode and verify that the CPU executes cyclic OBs without triggering STOP on OB85 or OB121 programming errors.

Limitations and Operational Precautions

When migrating legacy automation projects to PCS 7 V9.0, observe these migration guidelines:

  • Intermediate Migration Steps: Migrating directly from PCS 7 V4.0.2 to V9.0 spans over 20 years of architectural evolution. Siemens migration manuals strictly specify intermediate staging (e.g. V4.x -> V6.1 -> V7.1 -> V8.2 -> V9.0) to ensure database integrity of technological hierarchy and symbols.
  • Master Data Library as Single Source of Truth: Never copy system blocks into individual AS folders without updating the Master Data Library first; inconsistent block versions across AS folders will cause future compilation aborts.
  • SFC Number Collisions: Ensure legacy user-written function blocks do not occupy reserved Siemens system block numbers (FB1 to FB50, SFC0 to SFC127).

Engineer FAQ

Why did deleting SFC51 not fix the problem?

Deleting an individual SFC only exposes the next obsolete system block in the dependency chain (SFC6, SFB36). All system blocks must be updated simultaneously from the current STEP 7 V5.6 Standard Library.

Can I create a brand new S7 program folder and copy my CFC charts into it?

Yes. Creating a clean S7 program folder in SIMATIC Manager and moving CFC charts across is a common industry workaround that automatically populates the folder with pristine modern system blocks.

Why does CPU 410-5H require PA_CPU instead of @CPU_RT?

The CPU 410-5H operates on specialized firmware requiring dynamic Process Object monitoring and SEC card health validation, which is implemented specifically within FB16 (PA_CPU).

Technical References

Related Articles

Related Tags

  • CPU 410-5H
  • Migration
  • RefBlockCopy
  • S7JDAUDB
  • SFC51
  • PA_CPU
6 respuestas