Understanding SFC Type Synchronization Differences: BT_ID Attribute and Library Type Comparison in PCS 7

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

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:

  1. Compilation Fingerprint: Every time an SFC Type is opened, edited, or compiled in the Master Data Library, the compiler writes a new BT_ID into the block header. It uniquely identifies that specific build of the type.

  2. 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 previous BT_ID.

  3. Impact on Execution: The difference indicates only a version timestamp discrepancy. Synchronizing BT_ID simply 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:

  1. Open Master Data Library: In SIMATIC Manager, expand the Master Data Library > SFC Types folder.
  2. Launch Block Type Update Wizard: Select Options > Charts > Update Block Types.
  3. Select Target AS Stations: Check all AS S7 programs that use the SFC Types. Click Next.
  4. Inspect Comparison Differences: In the comparison window, inspect the differences. If only BT_ID is highlighted and no interface pins (Inputs/Outputs) have shifted types or order, the update is completely non-intrusive.
  5. Execute Synchronization: Click Finish. The wizard synchronizes the SFC Types into the AS Block containers.
  6. 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:

Attribute NameStorage LocationGeneration MechanismFunction During Type UpdateBT_IDBlock Type HeaderAutomatically updated on SFC compileVerifies identical library build versionVersionObject PropertiesManually incremented (e.g., 1.2)Tracks engineering change historyAuthorObject PropertiesUser-defined stringIdentifies engineer or engineering organizationFamilyObject PropertiesUser-defined (e.g., SFC_TYP)Groups blocks in CFC catalogBA_IDBlock Parameter PinRuntime tag assigned by SIMATIC BATCHIdentifies running batch recipe (Not a type attribute)

Verification

Verify SFC Type synchronization through the following steps:

  1. Re-open Options > Charts > Update Block Types and re-run the comparison.
  2. Confirm that the comparison table displays 'Identical' (green) with zero differences on BT_ID.
  3. Open an instantiated SFC chart in the AS. Confirm that all step actions, transitions, and phase parameters remain intact.
  4. Execute a CFC Delta Compile (Changes only). Confirm that compilation finishes with 0 errors.
  5. 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:

  1. 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.

  2. Backup Before Update: Always create a full project archive (File > Archive) before updating block types across a multiproject.

  3. Delta Download Compatibility: Updating BT_ID alone 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

Related Articles

Related Tags

  • SFC Types
  • BT_ID
  • Update Block Types
  • SIMATIC BATCH
  • Master Data Library
  • PCS 7 V8.1
6 respuestas