SyncTwinTECHNOLOGIES
Standard · PackML

PackML — the same states on different machines

The state model and exchange tags from ISA-TR88.00.02. The operator and neighbour units see «running», «paused», «fault» the same way on machines from different vendors.

Simplified PackML state machine Main cycle: Idle, Starting, Execute, Completing, Complete, Resetting and back to Idle; from Execute — the Held pause; from any state — Stopped on a stop command and Aborted on a fault. Idle Starting Execute Completing Complete Resetting Held Stopped Aborted stop and fault —from any state
What it is

State model and tag dictionary

PackML describes a machine not by its design but by its behaviour: what state it is in, what command it can accept and what it reports to its neighbours. The model grew out of the packaging industry and is fixed in technical report ISA-TR88.00.02, which builds on ISA-88.

The point is simple: the operator, the neighbouring machine and the upper-level system see “running”, “paused”, “fault” the same way on machines from different manufacturers. Integration comes down to exchanging standard tags, not to analysing someone else’s logic.

  • State machineThe same states and transitions for any machine: waiting, running, pause, completion, stop, fault.
  • ModesProduction, maintenance, manual — each with its own set of allowed transitions.
  • Exchange tagsCommand — what the machine is ordered to do, Status — what is happening to it, Admin — counters and faults.
  • Handshakes with neighboursUpstream and downstream units agree through the remote interface.
States

Waiting and acting states

States are of two kinds. A waiting state holds until a command arrives. An acting state — ending in “-ing” — performs a transition and ends by itself when the transition is done.

GroupStatesWhat happens
Main cycleIdle → Starting → Execute → Completing → Complete → ResettingWaiting, starting, running, batch completion, return to waiting
Pause for a machine reasonHolding → Held → UnholdingInternal cause: for example, material ran out in the machine
Pause for a flow reasonSuspending → Suspended → UnsuspendingExternal cause: no products at the input or the output is busy
StopStopping → StoppedControlled stop by command
FaultAborting → Aborted → ClearingEmergency stop from any state and clearing the cause

Model commands: Reset, Start, Stop, Hold, Unhold, Suspend, Unsuspend, Abort, Clear. A command moves the machine from a waiting state to an acting one; then the transition runs by itself.

Tags

Three groups of exchange tags

Command

What the machine is ordered to do: state command, mode, phase parameters. Written by the controlling party — the cell procedure or a neighbouring unit.

Status

What is happening with the machine now: current state and mode, unit and material readiness, phase with parameters. Written by the machine itself.

Admin

Accounting and diagnostics: counters, alarms and warnings. Needed by production, not by the cycle.

Remote interface

Handshakes with neighbours up and down the flow: request, ready, acknowledge — “buffer not empty”, “robot: taking”, “conveyor: released”.

Modes

Production, maintenance and manual mode. Each mode has its own set of allowed states and commands.

Why all this

Units of different manufacturers are assembled into a line by one dictionary; a new unit is added without reworking its neighbours.

How we use it

The interface of every line unit

PackML elementWith us
State machineFor every unit kind; a unit without an interface does not join a line project — refusal in words
CompleteThe final step of the unit’s SFC program
AbortedAxis fault — following error; output on but no confirmation — in preparation
Manual modeCommissioning of drives and axes; “Stop” from it shuts the machine down
Stop and AbortOne “Stop” command in every window
Command / StatusProject tags: a “writer Status → reader Command” link, one writer per link
Remote interfaceNeighbour handshakes; a unit knows only its own tags, who is linked to whom is decided by the project
Phases with parametersA machine tool is a unit too: “loading, program, unloading” phases; phase parameters are read and changed from outside

A signal with a period

Each signal is described once: name, type, writer, readers, kind and period. If a signal is overdue, the unit logic itself goes to a safe state.

The product — by a separate link

A material link carries a product, an information link carries a signal. No product is invented over an information link.

Safety is not a tag

Emergency stop, doors and curtains are a separate hardware circuit; the unit logic only reads it.

How a unit joins the line

The kind declares the interface, the project connects

  1. The kind declares the interfaceState machine, Command and Status tags, remote interface, material ports, phases, Admin.
  2. The instance gets itYour unit inherits the kind’s interface; without an interface it does not join a project.
  3. The project connectsWires on the “Graph”: one unit’s Status into another’s Command, one writer per link.
  4. The procedure commandsA cell procedure step is a phase command to a unit and waiting for its completion by tag.
  5. Line start and stopOne button by the actual state; a unit fault is seen by the line as Aborted.
Status

What works and what is in progress

  • RunsUnit Complete and Aborted states, one “Stop” command in every window, tag links on the project “Graph”.
  • In progressThe full PackML unit interface: all states, modes and the remote interface for every kind.
  • Subject of the implementationThe interface working on your line with units from different manufacturers.
Questions

Questions about PackML

Is PackML needed if the line is not a packaging line?

The state model is common to any machine. In SyncTwin every unit kind has an interface, including a machine tool: its phases are loading, program, unloading.

What if a supplier’s machine does not speak PackML?

A unit without an interface does not join a project — the platform refuses in words. Working out an interface for such a unit is part of the research and is fixed in the implementation specification.

Where is the unit state visible?

In the PLC lab — on the bottom “Unit” panel, in the unit cockpit and on the panel at the equipment; “Stop” from any window is one command.

Discuss an implementation

Tell us which units are on the line and how they coordinate now — we will propose an R&D stage with price and timeline.

Request access
Next step

Discuss an implementation

Describe the unit or line — we will tell you what we will verify and in what time. Target indicators are fixed in the implementation specification.

Request access

Implementation →

Request access