Configuring Process Parameters for Conditional Unit Allocation in SIMATIC BATCH

Configuring Process Parameters for Conditional Unit Allocation in SIMATIC BATCH

In SIMATIC BATCH, conditional unit allocation enables a recipe to dynamically select one of several alternative equipment units (e.g., choosing one of five mixing tanks) based on runtime process conditions or recipe parameters. To implement this, create a Process Parameter of type 'Unit' in the BATCH Recipe Header, configure an Operator Dialog (OP-dialog) or upstream evaluation phase to pass the target selection via target interconnection, and configure the target Recipe Unit Procedure (RUP) to allocate its unit dynamically 'via parameter' rather than static assignment.

Table of Contents

Executive Summary

In batch manufacturing facilities, recipe flexibility frequently requires routing product intermediate batches to one of several available processing units based on analytical test results, ingredient volumes, or operational availability. Automation engineers working with SIMATIC BATCH (V8.1 through V9.1) often struggle to configure automated conditional unit selection, attempting to use plain string variables that the Batch Control Center (BatchCC) allocation engine cannot parse.

SIMATIC BATCH provides a formal architectural mechanism known as 'Process Parameters' coupled with dynamic Unit Allocation rules. By configuring a parameter of data type Unit in the recipe header and linking it via target interconnections to upstream phase outputs or operator selection dialogs, BatchCC evaluates the target unit assignment before the Recipe Unit Procedure (RUP) activates. This guide provides the complete engineering procedure to establish process parameter types, configure recipe target interconnections, and synchronize execution lines in SIMATIC BATCH.

Architecture and Fundamental Mechanics

The SIMATIC BATCH technological model operates according to ISA-88 standards, dividing batch execution into a Recipe Model and a Plant Model:

  1. Plant Model and Unit Classes: In the Batch Plant Hierarchy (configured in SIMATIC Manager and compiled into SIMATIC BATCH), candidate units performing equivalent unit operations (e.g., five mixing tanks: Tank_01 to Tank_05) are assigned to a shared 'Unit Class' (e.g., Class_MixingTanks). All units in the class share the same Recipe Operations (ROP) and Recipe Phases (RPH).

  2. The Unit Parameter Data Type: Unlike standard process variables (REAL, INT, BOOL, STRING), SIMATIC BATCH features a specialized data type named Unit. An attribute of type Unit references the exact enumerated list of physical units defined within a given Unit Class.

  3. Dynamic Allocation Mechanics: In a standard recipe, a Recipe Unit Procedure (RUP) statically reserves an equipment unit at batch start or RUP start. With dynamic allocation, the RUP's 'Allocation rule' is set to 'Via parameter'. BatchCC postpones unit reservation until the moment the RUP is triggered.

  4. Target Interconnection and Synchronization: To ensure the target unit parameter is determined before RUP allocation occurs, a preceding phase (such as a dosing phase or an operator prompt OP-dialog) writes the chosen unit identifier to the header parameter via a 'Target Interconnection'. Synchronization lines enforce that the upstream phase completes its calculation and releases the parameter before the downstream RUP begins unit allocation, preventing race conditions or recipe stalls.

Step-by-Step Implementation Procedure

Follow these steps to configure conditional unit allocation using process parameters in SIMATIC BATCH:

  1. Configure the Unit Class in the SIMATIC BATCH Engineering System:
    - In SIMATIC Manager, open the plant multiproject.
    - In the Plant View, ensure all 5 target mixing tanks are assigned to the same Unit Class (e.g., Class_MixingTanks).
    - Open the SIMATIC BATCH configuration dialog ('Options > SIMATIC BATCH').
    - Perform a full compilation ('Compile') and transfer ('Download') of the plant data to SIMATIC BATCH.

  2. Define the Unit Process Parameter in the Recipe Header:
    - Open BatchCC and launch the Recipe Editor.
    - Open your master recipe in edit mode.
    - Open the 'Recipe Header' properties dialog.
    - Switch to the 'Parameters' tab and click 'New Parameter'.
    - Name the parameter (e.g., Selected_Mixing_Tank).
    - Set the 'Data type' to Unit.
    - Under 'Unit class', select Class_MixingTanks. The parameter value field will now present a dropdown containing the 5 configured mixing tanks.

  3. Insert Operator Dialog or Determination Phase:
    - In the preceding Recipe Unit Procedure (e.g., RUP_Dosing), insert an Operator Dialog phase (OP-Dialog) or an automated calculation phase.
    - Open the phase properties and create an output parameter bound to Selected_Mixing_Tank via 'Target Interconnection'.
    - During batch execution, the operator selects the target tank from the list, or automation logic sets the unit based on dosing metrics.

  4. Configure the Downstream RUP for Parameter-Based Allocation:
    - In the Recipe Editor, select the downstream mixing RUP (e.g., RUP_Mixing).
    - Right-click RUP_Mixing and select 'Object Properties'.
    - Navigate to the 'Unit Allocation' tab.
    - Under 'Candidate units', select 'From Unit Class' > Class_MixingTanks.
    - Under 'Allocation rule', change the selection from 'Longest out of use' or 'Operator selection' to 'Via parameter'.
    - In the parameter selection box, select the header parameter Selected_Mixing_Tank.

  5. Insert Synchronization Lines:
    - In the recipe chart, draw a Synchronization Line between the end of the determining phase in RUP_Dosing and the start of RUP_Mixing.
    - This guarantees that RUP_Mixing does not attempt to reserve its unit until the parameter value is firmly validated and written.

Verification

  1. In BatchCC, release the master recipe for production (status: 'Released for testing' or 'Released').
  2. Create a test batch from the master recipe.
  3. In the batch parameterization window, verify that Selected_Mixing_Tank displays the valid dropdown choices.
  4. Start the batch in BatchCC. Monitor the execution of RUP_Dosing.
  5. Upon reaching the unit selection step, specify a specific tank (e.g., Tank_03).
  6. Observe transition across the synchronization line: confirm that BatchCC immediately allocates and locks Tank_03, successfully instantiating RUP_Mixing on the correct physical unit.

Limitations and Operational Precautions

All target units must be members of the identical Unit Class and support identical phase definitions; routing between units with different phase interfaces requires separate conditional recipe branching rather than parameter-based allocation. If the dynamically selected unit is currently occupied by another batch or in an error state, the allocating RUP will enter 'Wait for unit' state until released. Validate software packages and Batch licensing through an authorized Siemens distributor or the Siemens Industry Mall.

Engineer FAQ

Can I use a plain STRING parameter to allocate a unit in BatchCC?

No. BatchCC cannot allocate units using generic STRING data types. You must use the dedicated parameter data type 'Unit' tied to a specific Unit Class.

What happens if the unit selected by the parameter is already occupied?

The RUP will pause at its start boundary in a 'Waiting for unit allocation' state until the running batch releases the requested unit.

Can the unit selection be automated from PLC CFC logic without operator prompt?

Yes. A custom BATCH interface block in CFC can write an integer or status word that maps to a technological phase output, which feeds the Unit parameter via target interconnection.

Where are Unit Classes configured in PCS 7?

Unit Classes are configured in SIMATIC Manager Plant View under the Plant Hierarchy folder properties and synchronized into SIMATIC BATCH.

Do SIMATIC BATCH process parameters consume extra licenses?

No. Process parameters are standard recipe configuration attributes and do not consume additional BATCH PO licenses.

Technical References

Related Articles

Related Tags

  • SIMATIC BATCH
  • BatchCC
  • Unit Allocation
  • Process Parameter
  • Recipe Editor
  • PCS 7 V9.1
20 respuestas