Batch Procedure is the Sepasoft, Inc. module for
What Batch Procedure is
Sepasoft bases Batch Procedure on
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
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
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:
- The engine writes the recipe parameters to the phase tags.
- It sets Start (1) and waits until the PLC reports Running (2).
- It sets the command back to None (0).
- When the work is done, the PLC reports Complete (3).
- 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.
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
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
- 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
| 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 | ||
| 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
- Sepasoft, Batch Procedure, MES Module Suite user manual
- Sepasoft, Installing Batch Procedure, MES Module Suite user manual
- Sepasoft, Using Sepasoft MES Modules, MES Module Suite user manual
- Sepasoft, Batch Procedure Framework, MES Module Suite user manual (notes for 3.81.11 SP11, 3.81.13 SP5 and 4.83.3 SP5)
- Sepasoft, Batch Recipe Authoring, MES Module Suite user manual
- Sepasoft, Batch Procedure Formula, MES Module Suite user manual (3.81.11 RC 1 and later)
- Sepasoft, Batch Procedure Phases, MES Module Suite user manual
- Sepasoft, Using Batch Components, MES Module Suite user manual
- Sepasoft, Adding and Configuring an Equipment Phase, MES Module Suite user manual
- Sepasoft, Connecting to Equipment Phases, MES Module Suite user manual
- Sepasoft, Equipment PLC Commands and States, MES Module Suite user manual
- Sepasoft, Batch Command Life Cycle, MES Module Suite user manual (notes for 3.81.13 and 4.83.3)
- Sepasoft, Controlling Batch Runs, MES Module Suite user manual
- Sepasoft, Interfacing Sepasoft Batch and Procedure Module with PLCs, version 1.0, 11/2025
- Sepasoft, History and Reporting for Batch Procedure, MES Module Suite user manual
- Sepasoft, Electronic Batch Record, MES Module Suite user manual (3.81.6 RC 1 and later)
- Sepasoft, Batch Report, MES Module Suite user manual
- Sepasoft, Tracing Materials in a Batch Procedure, MES Module Suite user manual
- Sepasoft,
ISA-106 , MES Module Suite user manual - Sepasoft, Batch Procedure product page
- Sepasoft, MES Pricing, licensing terms only
- Rockwell Automation, FactoryTalk Batch Software, product page
- Rockwell Automation, FactoryTalk Batch, FactoryTalk Batch 18.00 help
- Rockwell Automation, Equipment Editor, FactoryTalk Batch 18.00 help
- Rockwell Automation, Recipe Editor, FactoryTalk Batch 18.00 help
- Rockwell Automation, FactoryTalk Batch View, FactoryTalk Batch 18.00 help
- Rockwell Automation, Reduced phase logic programming, FactoryTalk Batch 17.00 help
- Rockwell Automation, Eliminates duplicate equipment phase and tag configuration, FactoryTalk Batch 17.00 help
- Rockwell Automation, Improved implementation of phase logic routines, FactoryTalk Batch 17.00 help
- Inductive Automation, Perspective and Vision, Ignition 8.3
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.