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
- Role of PA_CPU (FB16) in CPU 410-5H Architecture
- Step-by-Step Procedure to Purge and Update System Function Blocks
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
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:
RDSYSSTRefBlockCopy error ids 0X2000RD_SINFORefBlockCopy compilation abortPO_PR_RECPA_CPU@ charts- 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:
-
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). -
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. -
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 selectCopy. Paste them into:
- The Master Data Library block folder.
- The target AS S7 Program block folder. -
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. -
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 with0 Errors.
Verification
Verify system block consistency and compiler health through these diagnostic steps:
- CFC Compiler Log Verification: Verify that the compilation log finishes with
0 Errorsand thatRefBlockCopyno longer appears. - 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. - 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
- SIMATIC Process Control System PCS 7 Software Update with Utilization of New Functions (A5E36187255)
- SIMATIC STEP 7 V5.6 System and Standard Functions Reference Manual (A5E41542456)
- SIMATIC PCS 7 CPU 410-5H Process Automation Function Manual (A5E31622160)
Related Articles
- Multi-Step Migration Path from SIMATIC PCS 7 V7.0 to V8.2 - Intermediate Version Requirements and CPU Compatibility.md
- Evaluating Standalone STEP 7 V5.6, CFC V8.2, and WinCC V7.4 Upgrades on Legacy PCS 7 Systems (CPU 414-4H).md
- Differentiating CPU 410-5H System Expansion Cards (SEC) and Expansion Packs - Hardware Sizing vs Online Upgrades.md
Related Tags
- CPU 410-5H
- Migration
- RefBlockCopy
- S7JDAUDB
- SFC51
- PA_CPU