Understanding SFC Type Synchronization Differences: BT_ID Attribute and Library Type Comparison in PCS 7
During SFC Type comparison and synchronization in SIMATIC PCS 7 (Options > Charts > Update Block Types), differences flagged on the internal attribute 'BT_ID' (Block Type Identifier) represent internal compiler GUID timestamps rather than operational logic changes. When an SFC Type is compiled or saved in the Master Data Library, the compiler assigns a fresh BT_ID timestamp. If the AS project contains an earlier build of the same SFC Type, the comparator flags a BT_ID mismatch across all instances. Allowing the synchronization to proceed updates the AS block headers safely without altering recipe execution or phase parameterization, provided the step and transition interfaces remain identical.
Table of Contents
- Mechanics of SFC Type Synchronization in SIMATIC PCS 7
- The Role of the BT_ID (Block Type Identifier) System Attribute
- Distinguishing BT_ID from BA_ID in SIMATIC BATCH Systems
- Step-by-Step Procedure to Synchronize SFC Types Across Multiprojects
- SFC Type Internal Header Attribute Comparison
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
Mechanics of SFC Type Synchronization in SIMATIC PCS 7
In SIMATIC PCS 7 V8.1 and V8.2 with SIMATIC BATCH, batch operations (such as dosage, heating, agitation) are modeled as reusable SFC Types stored in the Multiproject's Master Data Library. When library types are modified, engineers execute Options > Charts > Update Block Types to propagate changes across all target AS automation stations.
During this process, the Block Type Update wizard performs an automated comparison between the library type definition and the local AS chart instances. A frequent point of concern occurs when the comparison dialog reports differences on every single SFC Type, identifying the attribute BT_ID as divergent across all blocks.
The Role of the BT_ID (Block Type Identifier) System Attribute
The BT_ID (Block Type ID) is an internal 32-bit hexadecimal timestamp/hash generated automatically by the SFC compiler and CFC database engine:
-
Compilation Fingerprint: Every time an SFC Type is opened, edited, or compiled in the Master Data Library, the compiler writes a new
BT_IDinto the block header. It uniquely identifies that specific build of the type. -
Why Differences Occur: If an engineer opens an SFC Type in the library and clicks save—even without modifying a single step, transition, or parameter—the library version receives a new
BT_ID. The AS project, running a prior compile, retains the previousBT_ID. -
Impact on Execution: The difference indicates only a version timestamp discrepancy. Synchronizing
BT_IDsimply updates the local AS block headers to match the master library version.
Distinguishing BT_ID from BA_ID in SIMATIC BATCH Systems
Engineers frequently confuse BT_ID with BA_ID:
BT_ID(Block Type ID): Internal system attribute tracking compiler generation timestamps of the function block type.BA_ID(Batch ID): Standard PCS 7 / SIMATIC BATCH operational runtime tag (DINT) representing the sequential production batch number assigned by BatchCC during recipe execution.
BT_ID lives strictly in the engineering configuration database, whereas BA_ID is a live process variable evaluated during recipe execution.
Step-by-Step Procedure to Synchronize SFC Types Across Multiprojects
To safely reconcile BT_ID differences across your automation stations:
- Open Master Data Library: In SIMATIC Manager, expand the Master Data Library > SFC Types folder.
- Launch Block Type Update Wizard: Select Options > Charts > Update Block Types.
- Select Target AS Stations: Check all AS S7 programs that use the SFC Types. Click Next.
- Inspect Comparison Differences: In the comparison window, inspect the differences. If only
BT_IDis highlighted and no interface pins (Inputs/Outputs) have shifted types or order, the update is completely non-intrusive. - Execute Synchronization: Click Finish. The wizard synchronizes the SFC Types into the AS Block containers.
- Compile Charts: Compile the AS program with Changes only. Download changes to the CPU in RUN.
SFC Type Internal Header Attribute Comparison
The following table compares internal SFC block header attributes and their roles during synchronization:
BT_IDVersionAuthorFamilyBA_IDVerification
Verify SFC Type synchronization through the following steps:
- Re-open Options > Charts > Update Block Types and re-run the comparison.
- Confirm that the comparison table displays 'Identical' (green) with zero differences on
BT_ID. - Open an instantiated SFC chart in the AS. Confirm that all step actions, transitions, and phase parameters remain intact.
- Execute a CFC Delta Compile (Changes only). Confirm that compilation finishes with 0 errors.
- In SIMATIC BATCH BatchCC, execute Update Process Cell. Verify that equipment phases validate without interface mismatch warnings.
Limitations and Operational Precautions
Consider these operational rules when updating SFC Types:
-
Never Change Parameter Interfaces on Active Batches: If an SFC Type modification alters parameter types (e.g., changing a setpoint from INT to REAL) or deletes pins, synchronizing while a batch is running can cause immediate recipe aborts.
-
Backup Before Update: Always create a full project archive (
File > Archive) before updating block types across a multiproject. -
Delta Download Compatibility: Updating
BT_IDalone does not alter memory byte layouts and remains fully compatible with Delta Download in RUN.
Engineer FAQ
Why does BT_ID change if I didn't modify any logic in the SFC Type?
Opening the SFC Type and clicking Save triggers an internal recompile, which writes a new system timestamp into BT_ID even if no logic was edited.
How do I avoid seeing BT_ID differences across multiple stations?
Always update SFC Types in the Master Data Library first, and then execute Options > Charts > Update Block Types immediately across all AS projects in the Multiproject.
Can I revert an SFC Type update if something goes wrong?
Yes, by retrieving the pre-update project backup or restoring the previous SFC Type from the library backup archive.
Technical References
- SIMATIC Process Control System PCS 7 SFC for S7 Function Manual (Entry ID: 109780813)
- SIMATIC BATCH Operating Manual and Equipment Phase Integration Guide
- SIMATIC PCS 7 Engineering System Compendium Part A - Configuration Guidelines
- Siemens Technical Guidelines: Managing Block Type Versions and Attributes in Multiprojects
Related Articles
- Batch Editing Sequential Function Charts and SFC Types in PCS 7
- Configuring Operator Prompts and Decision Logic in SIMATIC BATCH and SFC Types
- Resolving Greyed Out SIMATIC BATCH Recipe Unit Procedures in BatchCC
Related Tags
- SFC Types
- BT_ID
- Update Block Types
- SIMATIC BATCH
- Master Data Library
- PCS 7 V8.1