Troubleshooting SIMATIC BATCH Unit_PLC Block Q_ERR_ASB Parameter Errors in PCS 7

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

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_ASB Output:

  • Q_ERR_ASB stands for 'Quality Error in AS-Batch Communication'.
  • During every execution cycle, Unit_PLC performs 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_PLC asserts Q_ERR_ASB = 1.

  • Why Recipes Still Run Despite Q_ERR_ASB = 1:

  • The BATCH Server communicates basic recipe step advancement through telegrams handled by IEPH phase 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

  1. Inspect Unit_PLC Parameter Inputs in CFC Online Test Mode:
    * In SIMATIC Manager, open the CFC chart containing the Unit_PLC instance for the affected unit.
    * Switch to Test Mode (Ctrl+F).
    * Inspect input parameter U_ID: verify it is a positive non-zero integer (e.g. 1, 2, 3). If U_ID = 0, the unit is invalid.
    * Inspect UNIT_NAME: verify the string matches the exact Unit folder name in Plant View.
    * Inspect DATA_BLOCK or buffer configuration pins; check if any pin has an invalid pointer or is unconnected.

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

  3. Update and Recompile SIMATIC BATCH Objects:
    * In SIMATIC Manager, select Options -> 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 the Unit_PLC blocks with the exact matching U_ID and communication buffers.

  4. Download Updated Blocks to the Controller:
    * Execute a delta download to the S7-400 CPU in RUN mode.
    * Open BatchCC; select Options -> Update Plant Data (or Download Plant Data) to ensure the BATCH Server reflects the updated configuration.

Verification

  1. Return to the CFC chart containing Unit_PLC in online Test Mode.
  2. Observe output parameter Q_ERR_ASB; verify that it has transitioned from 1 to 0.
  3. In BatchCC, allocate the unit to a test batch and verify that the unit transitions cleanly between Allocated, Running, and Deallocated.
  4. 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

Related Articles

Related Tags

  • Unit_PLC
  • SIMATIC BATCH
  • Q_ERR_ASB
  • FB266
  • AS-Batch Communication
  • U_ID
  • Plant Hierarchy
  • PCS 7 V9.0
20 respuestas