Resolving UNIT_BLOCK Missing Compilation Errors and Server Red Status Indicators in SIMATIC BATCH

Resolving UNIT_BLOCK Missing Compilation Errors and Server Red Status Indicators in SIMATIC BATCH

The SIMATIC BATCH compilation error 'UNIT_BLOCK block missing in folder [Plant/Unit]' occurs because a hierarchy folder configured as an ISA-88 'Unit' lacks the mandatory UNIT_PLC block. In SIMATIC BATCH, every Plant Hierarchy folder designated as a Unit must contain an instantiated UNIT_PLC block (FB266 from the BATCH Blocks library) in one of its CFC charts. After placing UNIT_PLC, compiling the AS, and compiling the OS, if the BATCH Server displays red status lights in the Launch Coordinator, execute 'System > Update Plant Data' in BatchCC and restart the SIMATIC BATCH Server services to synchronize the recipe engine.

Table of Contents

Executive Summary

SIMATIC BATCH provides comprehensive recipe management and batch execution conforming to the ANSI/ISA-88 standard. However, engineering batch applications in SIMATIC PCS 7 requires strict alignment between the physical Plant Hierarchy (PH), CFC technological blocks, and the BATCH server communication interface. Automation engineers frequently encounter compilation aborts with error message UNIT_BLOCK block missing in folder [...], followed by server offline alarms where BatchCC displays red status indicators and refuses to load recipe procedures. This issue originates from missing UNIT_PLC block instances in unit-level hierarchy folders and desynchronized runtime services. This technical guide details the mandatory block architecture and outlines the procedure to restore full BATCH server operation.

ISA-88 Plant Hierarchy and the UNIT_PLC Block Architecture

In SIMATIC PCS 7, the Plant Hierarchy mirrors the physical structure of the process plant: Process Cell > Unit > Equipment Module (EM) > Control Module (CM). When a folder's properties are parameterized with the attribute Unit, SIMATIC BATCH treats that entity as an independent, assignable processing vessel (e.g. Reactor, Fermenter, or Mixer).

The core interface block between the AS automation program and the BATCH runtime server is UNIT_PLC (FB266 / FB66):

  • Unit Allocation: Coordinates recipe phase reservation, preventing multiple concurrent batches from seizing the same vessel.
  • Status Telegrams: Communicates unit status (Idle, Held, Running, Aborted) directly to the BATCH Control Center (BatchCC).
  • Batch Instance Data: Passes batch ID, recipe step numbers, and material parameters to unit equipment phases.

Why Missing UNIT_BLOCK Causes Fatal BATCH Compilation Errors

When the engineer executes Compile and Download Objects > SIMATIC BATCH, the compiler validates that every folder marked as a Unit contains exactly one active instance of UNIT_PLC. If a folder has the 'Unit' checkbox checked in Plant Hierarchy properties, but contains no CFC chart with a UNIT_PLC block, the compiler aborts with fatal error:
UNIT_BLOCK block missing in folder [ <Hierarchy_Path> ].

Without UNIT_PLC, the BATCH server cannot create database records for unit arbitration, completely halting recipe generation.

BATCH Server Service States and Red Status Indicators

Once UNIT_PLC is instantiated and compiled, engineers often observe that the BATCH Launch Coordinator or BatchCC displays red status indicators. The BATCH Server relies on three primary daemon services:

  1. bfserverx.exe (Batch Server Core): Manages recipe execution state logic.
  2. bfdatax.exe (Batch Data Service): Coordinates SQL database storage and recipe archives.
  3. bfschedx.exe (Batch Scheduler): Manages recipe scheduling and equipment allocation queues.

If an AS compile and download changes the plant structure while the BATCH Server services are running, the server detects a schema mismatch and enters a fault state (indicated by red lights). The runtime database must be synchronized using 'Update Plant Data' before the server returns to the green operational state.

BATCH Compilation and Status Diagnostic Matrix

The following table correlates SIMATIC BATCH error states, diagnostic indicators, and corrective actions:

Diagnostic StateDiagnostic LocationError DescriptionUnderlying CauseProven Engineering RemedyUNIT_BLOCK missingSIMATIC Manager BATCH Compile LogUNIT_BLOCK block missing in folder [Path]Unit folder lacks UNIT_PLC block instance.Insert UNIT_PLC (FB266) into a CFC chart within that folder.Red Status IndicatorBATCH Launch CoordinatorCommunication Red, DB Red, Server YellowRuntime service desynchronized from plant data.Execute 'System > Update Plant Data' and restart services.Recipe Editor EmptyBatchCC Recipe ViewNewly compiled phases/units do not appear.AS-OS-BATCH compilation sequence incomplete.Compile AS, compile OS, compile BATCH, download BATCH.Unit Allocation FaultBatchCC Runtime ViewUnit stuck in 'Allocated' state after abort.BATCH communication tag frozen in AS.Pulse UNIT_PLC.Reset input in CFC to clear reservation.License Fault (Red)BATCH Launch CoordinatorServer stops immediately with license error.Missing SIMATIC BATCH Server / PO license.Install BATCH licenses in Automation License Manager.

Step-by-Step Resolution and Synchronization Procedure

Method 1: Instantiating UNIT_PLC in the Plant Hierarchy

  1. In SIMATIC Manager, navigate to the hierarchy folder identified in the compilation error (e.g., 3100/Batch instances/MATERIA_PPRIMA).
  2. Create a new CFC chart inside that folder (e.g. named CFC_Unit_Materia_Prima).
  3. In the CFC catalog, expand Libraries > SIMATIC BATCH Blocks > Blocks and drag UNIT_PLC (FB266) onto the chart.
  4. Assign a unique Unit Name to parameter UnitName if required by plant naming standards.
  5. Save and compile the CFC charts using Entire program.
  6. Download the AS program to the controller.

Method 2: Recompiling and Synchronizing SIMATIC BATCH

  1. In SIMATIC Manager, compile the Operator Station (OS) with Tags and messages checked.
  2. Select the BATCH project object, right-click, and select Compile / Download.
  3. Check both Compile and Download, select Entire plant, and execute.
  4. Confirm that the BATCH compilation log completes with 0 errors.
  5. On the BATCH Server, open SIMATIC BATCH Control Center (BatchCC).
  6. Select System > Update Plant Data from the menu.
  7. Open the BATCH Launch Coordinator and confirm that all service status indicators transition from Red to Green.
  8. Open the Recipe Editor; verify that the newly compiled unit and phases are fully available for recipe creation.

Verification

To verify that SIMATIC BATCH operates correctly without errors:

  1. Compilation Check: Re-run BATCH compilation in SIMATIC Manager. Confirm that no UNIT_BLOCK errors appear.
  2. Service Health Check: In the Windows taskbar tray, inspect the BATCH Launch Coordinator icon. Confirm that all three service lights (Server, Data, Scheduler) show solid Green.
  3. Batch Control Center Online Test: Open BatchCC, create a test control recipe on the target unit, allocate the unit, and initiate batch execution. Confirm that the unit transitions to 'Active' state and executes phases cleanly.

Limitations and Operational Precautions

  • One Unit Block Per Folder: Exactly one UNIT_PLC block must reside in each Unit hierarchy folder. Placing multiple UNIT_PLC blocks in the same folder causes duplicate unit compilation errors.
  • Hierarchy Level Consistency: The 'Unit' attribute must be assigned strictly at the designated Unit hierarchy level (typically Level 2 or 3). Assigning Unit attributes to Area or Equipment Module folders breaks recipe hierarchy validation.
  • Batch Process Object Licensing: Each unit and recipe phase consumes SIMATIC BATCH Process Object (PO) licenses. Verify installed license counts before adding multiple new units.

Engineer FAQ

Can a Plant Hierarchy folder be designated as a Unit without containing technological phases?

Yes, a unit can represent a simple storage tank or holding vessel, but it must still contain the UNIT_PLC block to allow BATCH tracking and recipe transfer steps.

What is the difference between UNIT_PLC and EPH in SIMATIC BATCH?

UNIT_PLC represents the entire physical vessel (Unit level), whereas EPH (Equipment Phase) represents specific procedural actions (such as Agitating, Heating, or Dosing) executed within that unit.

Why must the OS be compiled before compiling SIMATIC BATCH?

SIMATIC BATCH relies on WinCC OS tag databases and communication channels to exchange control signals with the AS; compiling OS ensures these communication tags exist.

Technical References

Related Articles

Related Tags

  • https://industrialautomation.net/search?query=simatic-pcs7
  • https://industrialautomation.net/search?query=simatic-batch
  • https://industrialautomation.net/search?query=plant-hierarchy
  • https://industrialautomation.net/search?query=recipe-control
6 respuestas