Home › Technical articles

Đọc bằng tiếng Việt

Sepasoft Batch Procedure on Ignition vs FactoryTalk Batch: recipes, phases and the PLC interface

TDL Industrial Automation · Last updated:

What Sepasoft's ISA-88 Batch Procedure module on Ignition does according to its documentation: process cells, units, phases and unit classes, master and control recipes and formulas, Perspective only, the PLC phase interface with integer command and state tags, the handshake sequence, EBR and reports; FactoryTalk Batch as Rockwell describes it with PhaseManager over CIP; a comparison and when each tends to fit.

Batch Procedure is the Sepasoft, Inc. module for ISA-88 batch control on Ignition, the platform from Inductive Automation. Recipes are built and run from Perspective screens, the batch engine runs on the Ignition gateway, and each equipment phase in the PLC is reached through Ignition tags that carry an integer command, an integer state and the phase parameters. FactoryTalk Batch is Rockwell Automation's ISA-88 batch software; used with PhaseManager, its batch server talks to the equipment phase objects in a Logix controller directly over CIP. Both keep the recipe apart from the equipment logic. They differ in the platform, the operator client and how the phase interface is built.

What Batch Procedure is

Sepasoft bases Batch Procedure on ISA-88 for batch control and ISA-106 for procedure automation in continuous processes. Recipe authors build recipes and control engineers configure equipment phases, as separate jobs. Product definitions are kept apart from equipment capabilities, so one set of equipment can make several products and one product can run on different equipment that offers the same phases.

What a plant needs before the first batch:

  • Perspective only. Batch Procedure runs on Perspective components and on Ignition 8.1 or later. Sepasoft's module overview marks it as not compatible with Vision. Perspective runs in web browsers on PCs and on mobile devices.
  • Modules installed with it: the installation steps add the Document Management and Production modules; Production is installed with every Sepasoft module.
  • A database connection for runtime and analysis data (one database can hold both), and the project's default tag provider set to MES.
  • Licence basis. Sepasoft's pricing page lists Batch Procedure per server: one licence for each backend server installation, perpetual, with unlimited active batch recipes per licence within one physical site. The product page puts it as unlimited units on a licensed server, subject to server capacity. Redundant, development and test licences are add-ons.

From recipe to PLC phase: the layers

Batch Procedure: from recipe to PLC phaseFive layers from the top: master recipe and formula, control recipe in the queue, the batch engine on the Ignition gateway with process cells, units and phases, the phase tags in the MES tag provider, and the equipment phase in the PLC. The arrows between layers say how each pair is linked.Batch Procedure: from recipe to PLC phaseMaster recipeBatch Recipe Editorsteps and transitions: unit procedures, operations, phasesformulas: quantities and settings for the same recipeone copy per runControl recipeBatch List, Batch Controllerone copy of the master recipe per runAuto, Manual or Semi-Auto modeactive steps start phasesBatch engineIgnition gatewayprocess cells, units, unit classes and phasesa unit is allocated when its unit procedure startsEBR, batch history and reportscommands and parameters down, states upPhase tagsMES tag providerone UDT per exposed phaseCommand_Number, State_Number and parametersOPC item paths such as Device/{Unit}/...device connectionEquipment phaseControlLogix or another PLCreads Command_Number, sets State_NumberControlLogix example with PhaseManager: PLI withPCMD and MOV, equipment logic in the Running routineBased on the Sepasoft MES Module Suite documentation (Batch Recipe Authoring,Batch Procedure Framework, Controlling Batch Runs, Connecting to Equipment Phases)and its PLC interfacing document, version 1.0. Figure: drawn by TDL.
Figure 1: Batch Procedure: from recipe to PLC phase. On a phone, swipe sideways to see the whole figure.

Equipment. Process cells and units are items of the production equipment model in the MES Equipment Manager, shared with the other Sepasoft modules (see which Sepasoft module for which plant need). A process cell covers the equipment of a production line; a unit is a piece of equipment with its control modules, has one or more phases and usually performs one operation.

Phases and unit classes. In the Batch Phase Manager component an engineer creates phase classes and phases, each based on a base phase. Phases are grouped into unit classes (Batch Unit Class Manager), and each unit is given a unit class (Batch Unit Manager). The operations inside a unit procedure use the phases of that unit class.

Recipes. The Batch Recipe Editor arranges steps and the transition conditions between them. A step can be a single phase, a unit procedure with operations and phases, or the full ISA-88 hierarchy. Saving creates a master recipe; every execution makes a copy, the control recipe, which runs as the batch. Changes to a master recipe do not touch batches already running. From 3.81.11 RC 1, a formula holds a set of quantities and settings for one master recipe, so one recipe can have many formulas without changes to its process logic.

Phase types. Built-in phases cover shared-equipment allocation, work-instruction documents, e-signature (3.81.6 RC 1 and later), operator messages and prompts, timers, scripts and unit synchronisation. Custom phases are built on the Equipment, Transfer In and Transfer Out base phases; the equipment phase exchanges parameters with the PLC. Sepasoft's product page describes equipment-driven, operator-driven and hybrid procedures, so operator steps and equipment phases can sit in one recipe.

Running. Batches are queued from the Batch List or Batch Controller components or by script, and run in Auto, Manual or Semi-Auto mode; in Semi-Auto a transition waits for the operator. A unit procedure is bound to one unit, allocated when that unit procedure becomes active.

The PLC side: commands, states and the handshake

Every batch phase in the engine has one matching equipment phase in the PLC, through an interface Sepasoft calls PLI (Phase Logic Interface). An exposed phase gets a UDT in Ignition's MES tag provider with one member per parameter; a member can be a memory tag, an OPC tag linked to the device, or a reference to an existing tag. OPC item paths can be parameterised, for example Device/{Unit}/{InstanceName}/{TagName}, so one phase definition serves every unit that has the same phase. Sepasoft recommends underscores instead of spaces in names, because many PLCs do not accept spaces.

According to the framework page, output parameters go to the controller when the phase becomes active and again whenever they change while it is active; input parameters are subscribed from the controller over the same period.

Sepasoft's command and state list:

Command Number State Number
None 0 Idle 1
Start 1 Running 2
Pause 2 Complete 3
Resume 3 Restarting 4
Hold 4 Resetting 5
Restart 5 Pausing, Paused 6, 7
Stop 6 Holding, Held 8, 9
Reset 7 Stopping, Stopped 10, 11
Abort 8 Aborting, Aborted 12, 13

The engine decides what the phase should do and the PLC reports its own condition. Command and State carry readable text for the engine; Command_Number and State_Number carry the integers, which are easier for PLC logic to test and set. Sepasoft's PLC interfacing document (version 1.0, November 2025) describes the normal run:

  1. The engine writes the recipe parameters to the phase tags.
  2. It sets Start (1) and waits until the PLC reports Running (2).
  3. It sets the command back to None (0).
  4. When the work is done, the PLC reports Complete (3).
  5. The engine sets Reset (7), waits for Idle (1), releases the phase and moves on.

Stop (6) takes an active phase through Stopping to Stopped, where it stays until Reset sends it through Resetting back to Idle. Some transitions are the PLC's own, with no command, such as Running to Complete or Holding to Held.

Handshake between batch engine and PLC in one runTwo columns: the batch engine on the left, the PLC on the right. Seven steps from the top: write parameters, Start, Running, command back to None, Complete, Reset, Idle. Blue arrows are commands from the engine, red arrows are states from the PLC.Handshake between batch engine and PLC in one runBatch engineIgnition gatewayEquipment phasein the PLCrecipe parameters written to the tags1Command_Number = 1 (Start)2State_Number = 2 (Running)3Command_Number = 0 (None)4State_Number = 3 (Complete)5Command_Number = 7 (Reset)6State_Number = 1 (Idle)7Command from the engine to the PLCState reported by the PLCStop (6): an active phase goes through Stopping (10) to Stopped (11)and stays there until Reset (7) takes it through Resetting (5) to Idle.Watchdog: the engine writes a new Handshake_Valueevery second; the PLC should react when it stops changing.Based on Sepasoft's Interfacing Batch Procedure with PLCs, version 1.0 (11/2025),Batch Command Life Cycle and Controlling Batch Runs. Figure: drawn by TDL.
Figure 2: Handshake between batch engine and PLC in one run. On a phone, swipe sideways to see the whole figure.

Three details matter when writing the PLC side:

  • Permissive Start (17). Sepasoft's command and state page also defines a state before Idle in which the PLC keeps a phase from starting until its conditions are met, such as a closed door; the PLC moves it to Idle by itself and the engine sends Start only then. The Electronic Batch Record Viewer records Permissive Start states with the other phase states.
  • Watchdog. The engine writes a new Handshake_Value every second. The PLC should check that it keeps changing and react when it stops.
  • Engine restart. When the batch engine starts, running batches go to Held. After a Restart it reads each phase's state from the PLC: running phases continue, completed ones are reset, the others wait for their command.

Sepasoft's ControlLogix example uses PhaseManager, which the document calls optional; without it the PLC logic works on Command_Number and State_Number directly, as in the run above. With PhaseManager each state has its own routine and the equipment logic goes in the Running routine. Because PhaseManager does not work through these tags, a separate PLI program bridges them: one routine watches Command_Number and issues the matching phase command with PCMD, another copies the phase's state bits into State_Number with MOV. The ISA-88 models behind these terms (process cell, unit, unit procedure, operation, phase, master and control recipe) and the phase state model are explained in the ISA-88 article.

Records and reports

Batch information, parameters, commands and status are published as Ignition tags, and tag collectors save their changes for MES analysis. On top of that:

  • Electronic Batch Record (EBR) Viewer (3.81.6 RC 1 and later). For a master recipe it lists the defined steps; for a batch, selected by BatchID, it lists the steps performed, start and end times and parameter values with time-stamped changes, including Permissive Start states and PLC messages. The open record can be downloaded as PDF, and scripting functions return the same data.
  • Batch Report. A generic report built with the Ignition Reporting Module that takes a BatchID and groups data by procedure, unit procedure and operation steps.
  • Material lots. With Track & Trace installed, an equipment phase can carry Material_In and Material_Out parameters; the batch's input and output lots then appear in the trace graph and in the EBR. Sepasoft lists Batch Procedure, Track & Trace and Production as the minimum modules. See Track & Trace: lot tracking and genealogy on Ignition.

FactoryTalk Batch, as Rockwell describes it

Rockwell's product page calls FactoryTalk Batch native ISA-88 batch control and places it in Rockwell's batch process solution with the PlantPAx DCS. The FactoryTalk Batch 18.00 help says it was developed around the ISA S88.01 standard and names its main parts:

  • Equipment Editor builds the area model, saved as a .cfg file: process cells, units, phases and control modules, plus electronic signature and recipe approval templates and recipe versioning.
  • Recipe Editor builds master recipes as sequential function charts (based on IEC 61131-3) or as tables, on the procedure, unit procedure, operation and phase levels.
  • Batch Server executes the batches; Batch View creates and commands control recipes and answers prompts for parameters, binding, signatures and manual instructions; Batch View HMI Controls bring batch control into a FactoryTalk View SE Display Client.

With PhaseManager in Logix Designer, the phase logic interface is built into the Logix 5000 controller as equipment phase objects: the Batch Server commands them directly over CIP, no PLI routines are written, and synchronising the area model with the Logix project creates the tags for each phase and its parameters. Without PhaseManager, the engineer writes PLI ladder routines, and data travels through an OPC data server and tags created by hand in both tools.

The product page lists, for version 18, an event journal of recipe and parameter changes, new read-only API endpoints for MES, ERP and LIMS, and shared configuration across redundant batch servers; version 17 brought a new archive database schema for faster queries and reports. It offers the software through subscriptions and does not describe a licence basis.

Side by side

Batch Procedure and FactoryTalk Batch side by sideA two-column table comparing Sepasoft Batch Procedure and Rockwell FactoryTalk Batch on platform, operator client, engineering tools, PLC phase interface, batch records and the licence basis as published.Batch Procedure and FactoryTalk Batch side by sideBatch ProcedureSepasoft, Inc. · on IgnitionFactoryTalk BatchRockwell Automation · with PlantPAxPlatformmodule on Ignition 8.1 orlater, with Production andDocument ManagementFactoryTalk software, batch processsolution with the PlantPAx DCSOperator clientPerspective componentsin a browser; no VisionBatch View;Batch View HMI Controlsin FactoryTalk View SEEngineeringPhase Manager,Unit Class Manager,Unit Manager, Recipe Editor:all Perspective componentsEquipment Editor (area model .cfg)and Recipe Editor (SFC or table)Phase interfaceIgnition tags: one UDT per phase,integer command and statePhaseManager over CIP, or PLIroutines with an OPC data serverBatch recordsEBR Viewer with PDF;Batch Report on Ignition Reportingevent journal; archivedatabase with reportingLicence,publishedper server, perpetualsubscription; basis not statedon the product pageBased on the Sepasoft MES Module Suite documentation and pricing page, Rockwell's FactoryTalk Batchproduct page and FactoryTalk Batch 17.00 and 18.00 help; no prices. Figure: drawn by TDL.
Figure 3: Batch Procedure and FactoryTalk Batch side by side. On a phone, swipe sideways to see the whole figure.
Criterion Sepasoft Batch Procedure Rockwell FactoryTalk Batch
Maker and platform Sepasoft, Inc.; module on Ignition by Inductive Automation Rockwell Automation; batch process solution with PlantPAx
Standards named ISA-88, ISA-106 ISA-88 (S88.01)
Operator client Perspective components in a browser; no Vision Batch View; Batch View HMI Controls in FactoryTalk View SE
Recipe master recipe, control recipe per run, formulas master recipe as SFC or table, control recipe per batch
PLC phase interface Ignition tags: UDT per phase, integer command and state, parameters PhaseManager over CIP, or PLI routines with OPC
Records EBR Viewer with PDF, Batch Report on Ignition Reporting event journal, archive database with reporting
Licence, as published per server, perpetual subscription; basis not stated on the product page

Which one tends to fit where

This is our general guidance, not a rule:

  • A plant already on FactoryTalk Batch and PlantPAx. The area model, phases, recipes and FactoryTalk View SE screens are in place. We usually recommend extending that system: it keeps one phase interface, while another batch engine means a new interface, rebuilt recipes and a full retest.
  • A plant already on Ignition, or a new plant that wants browser clients. Batch Procedure uses the same production equipment model and material definitions as the other Sepasoft modules, so batch, lot trace and OEE data sit on one platform, and the phase tags can be OPC tags on any PLC that Ignition connects to.
  • An Allen-Bradley plant moving to Ignition. Following Sepasoft's ControlLogix example, PhaseManager phases can stay in the controller with a PLI program that bridges them to Batch Procedure's tags; phase logic without PhaseManager has to read Command_Number and set State_Number itself.

Questions to answer for either choice: where the phase logic lives today, who builds and approves recipes, which batch records are needed, whether lots must be traced through the batch, and how many servers (redundant and test included) the licence must cover.

TDL's experience

TDL Industrial Automation is a Sepasoft MES Certified Integrator and an Ignition Certified Integrator. Its batch projects so far run on FactoryTalk Batch with PlantPAx, the Rockwell Automation side of this comparison:

  • At P&G Vietnam's Dong An plant, from 2014 to 2021: a FactoryTalk Batch upgrade with mixing and material tank units, recipes, reports and PLC phase control; a new FactoryTalk Batch server and client for another mixing line, with barcode integration of raw materials; and on-site support, together with Rockwell Automation engineers, for a new making line.
  • At Vinh Hoan's FeedOne aquafeed factory (2022), a new-build plant on redundant ControlLogix 5580 controllers: batch control and recipe management for the feed lines on FactoryTalk Batch with PlantPAx equipment phases. In 2025 TDL re-engineered those PlantPAx equipment phases.

Much of that controller-side work carries over to Batch Procedure, which also drives each PLC phase through a command number and a state number; Sepasoft's PLC interfacing guide gives a PhaseManager example. The batch control and MES on Ignition pages describe the services.

Frequently asked questions

Does Sepasoft Batch Procedure run in Vision?

No. Sepasoft states that Batch Procedure runs on Perspective components and on Ignition 8.1 or later, and its module overview marks it as not compatible with Vision.

Can Batch Procedure use PhaseManager phases in a ControlLogix?

Yes, according to Sepasoft's PLC interfacing document, which treats PhaseManager as optional. PhaseManager does not work through Batch Procedure's command and state tags, so a separate PLI program bridges them: one routine turns Command_Number into phase commands with PCMD, another copies the state bits into State_Number.

What happens to running batches when the Batch Procedure engine restarts?

They are put in Held. After a Restart command the engine reads each phase's state from the PLC: running phases continue, completed ones are reset, and the others wait for their matching command.

How is Batch Procedure licensed?

Sepasoft's pricing page lists it per server, one licence for each backend server installation, perpetual, with unlimited active batch recipes per licence within one physical site. Redundant, development and test licences are add-ons.

Does FactoryTalk Batch need PLI routines in the PLC?

Not with PhaseManager. Rockwell's help says PhaseManager builds the phase logic interface into the Logix 5000 controller and the Batch Server talks to the equipment phases directly over CIP. Without PhaseManager, PLI ladder routines and an OPC data server are used.

Sources

Read 12 November 2026. This article paraphrases the sources and does not quote them; read the original documents before designing or working on a system.

Related services:
Batch control (FactoryTalk Batch) Sepasoft MES on Ignition