Troubleshooting SIMATIC BATCH Unit_PLC Block Q_ERR_ASB Parameter Errors in PCS 7
In SIMATIC BATCH, the Unit_PLC block (FB266) asserts the output error flag Q_ERR_ASB = 1 ('Error in AS-Batch communication') when one or more of its input parameters are unassigned, invalid, or out of range, even if control recipes appear to execute smoothly in WinCC runtime. This fault commonly occurs when the Unit identifier (U_ID), Unit Name (UNIT_NAME), or communication buffer data block pointers (DB_NO / DATA_BLOCK) do not match the compiled batch plant hierarchy in SIMATIC Manager. To fix this issue: 1. Verify in CFC test mode which input parameter is out of range; 2. Ensure U_ID matches the Unit folder property in Plant View; and 3. Re-run 'SIMATIC BATCH -> Compile and Download Objects' to synchronize the AS batch communication blocks.
Table of Contents
- Executive Summary
- Architecture and Fundamental Mechanics
- Step-by-Step Implementation Procedure
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
Executive Summary
The coordinated execution of ISA-88 control recipes in SIMATIC PCS 7 relies on a dedicated communication bridge between the SIMATIC BATCH Server and the automation controllers (AS). At the unit level, this interface is anchored by the Unit_PLC function block (FB266), which arbitrates unit allocation, batch recipe commands, and unit status reporting. A perplexing diagnostic condition occurs when control recipes execute without apparent errors in BatchCC and WinCC, yet online monitoring of the Unit_PLC block in CFC reveals that the diagnostic output Q_ERR_ASB is permanently asserted (1). If left unresolved, this communication error can cause silent recipe logging failures, delayed unit de-allocations, and failure during server redundancy failover. This article explains the internal parameter validation of Unit_PLC and provides a proven guide to eliminate Q_ERR_ASB faults.
Architecture and Fundamental Mechanics
AS-BATCH Communication Pipeline, Unit_PLC Block Architecture, and Parameter Validation Mechanics:
- Architecture of AS-to-BATCH Interface Blocks:
-
In SIMATIC BATCH, communication between the PC-based BATCH Server and the S7-400 controller is managed by a standardized block family in the controller:
Unit_PLC(FB266): One instance per technological Unit (e.g. Reactor 1, Mixing Tank 2).IEPH/IEPB: Interface blocks for equipment phases and batch operations.ASB_COM(FB267) /RCV_PLC/SND_PLC: System blocks managing telegram buffering and BSEND/BRCV communications over S7 connections.
-
Purpose and Mechanics of the
Q_ERR_ASBOutput: Q_ERR_ASBstands for 'Quality Error in AS-Batch Communication'.- During every execution cycle,
Unit_PLCperforms rigorous sanity checks on its configured input parameters:U_ID: The unique integer Unit Identifier assigned during BATCH plant hierarchy compilation (must be > 0 and <= max units).UNIT_NAME: The string name of the unit matching the plant hierarchy folder.DATA_BLOCK/DB_NO: The data block number used by the communication buffer.- Status parameter limits and interlock words.
-
If ANY configured input is out of bounds, unassigned, or points to a non-existent DB,
Unit_PLCassertsQ_ERR_ASB = 1. -
Why Recipes Still Run Despite
Q_ERR_ASB = 1: - The BATCH Server communicates basic recipe step advancement through telegrams handled by
IEPHphase blocks. - If basic phase triggers succeed, the recipe can visually progress in BatchCC.
- However, unit-level features—such as automated unit de-allocation, continuous recipe parameter writeback, and diagnostic logging in the Electronic Batch Record (EBR)—become degraded, storing error markers in the audit trail.
Step-by-Step Implementation Procedure
-
Inspect Unit_PLC Parameter Inputs in CFC Online Test Mode:
* In SIMATIC Manager, open the CFC chart containing theUnit_PLCinstance for the affected unit.
* Switch to Test Mode (Ctrl+F).
* Inspect input parameterU_ID: verify it is a positive non-zero integer (e.g.1,2,3). IfU_ID = 0, the unit is invalid.
* InspectUNIT_NAME: verify the string matches the exact Unit folder name in Plant View.
* InspectDATA_BLOCKor buffer configuration pins; check if any pin has an invalid pointer or is unconnected. -
Align Unit Hierarchy Properties in SIMATIC Manager:
* Switch to Plant View in SIMATIC Manager (View -> Plant View).
* Right-click the Unit folder ->Properties.
* Select the Unit tab.
* Verify that Unit of plant hierarchy is checked.
* Note the Unit ID number generated by PCS 7. -
Update and Recompile SIMATIC BATCH Objects:
* In SIMATIC Manager, selectOptions -> SIMATIC BATCH.
* Select Compile/Download Objects.
* Check the boxes for Batch types and Batch instances.
* Execute compilation; the BATCH compiler scans all Unit folders and automatically parameterizes theUnit_PLCblocks with the exact matchingU_IDand communication buffers. -
Download Updated Blocks to the Controller:
* Execute a delta download to the S7-400 CPU in RUN mode.
* Open BatchCC; selectOptions -> Update Plant Data(orDownload Plant Data) to ensure the BATCH Server reflects the updated configuration.
Verification
- Return to the CFC chart containing
Unit_PLCin online Test Mode. - Observe output parameter
Q_ERR_ASB; verify that it has transitioned from1to0. - In BatchCC, allocate the unit to a test batch and verify that the unit transitions cleanly between Allocated, Running, and Deallocated.
- Check the SIMATIC BATCH Server event log; confirm zero AS communication error messages.
Limitations and Operational Precautions
Never manually hardcode U_ID numbers on Unit_PLC blocks without compiling through the SIMATIC BATCH engineering wizard; manual edits create desynchronization between the AS and the BATCH Server SQL database. Ensure the AS BATCH library version in the Master Data Library matches the installed SIMATIC BATCH Server version.
Engineer FAQ
What does Q_ERR_ASB = 1 mean on the Unit_PLC block?
It indicates an 'Error in AS-Batch communication', signifying that one or more input parameters on the block are invalid or out of range.
Why did recipes run smoothly even with Q_ERR_ASB = 1?
Because individual phase blocks (IEPH) may still exchange step commands, while unit-level logging and de-allocation functions are impaired.
What causes Q_ERR_ASB to turn 1?
An invalid Unit ID (U_ID = 0), a mismatched Unit Name string, or an unassigned communication buffer data block.
How do I fix Q_ERR_ASB automatically?
Execute 'Compile and Download Objects -> Batch Objects' in SIMATIC Manager to let the wizard auto-parameterize the block.
Where is the Unit ID assigned?
In SIMATIC Manager Plant View, under the object properties of the Unit folder on the Unit tab.
Technical References
- SIMATIC BATCH V9.0 Function Manual - AS-Batch Interface Blocks
- SIMATIC BATCH Engineering Guidelines (Entry 109755004)
- SIMATIC PCS 7 SFC and BATCH Integration Guide
Related Articles
- Structuring ISA-88 Batch Hierarchy and SFC Type Classes in SIMATIC PCS 7 (EPH vs EM)
- Handling Aborted and Stopped SFC Phases in SIMATIC BATCH Without Recipe Blocking
- Controlling BatchCC Recipe Start Execution and Verifying SFC Preconditions in SIMATIC BATCH
- Transmitting Batch Recipe Start and Complete Status Bits Between SIMATIC BATCH and PCS 7 Controllers
Related Tags
- Unit_PLC
- SIMATIC BATCH
- Q_ERR_ASB
- FB266
- AS-Batch Communication
- U_ID
- Plant Hierarchy
- PCS 7 V9.0