Smart.StateMachine displays the state model of a machine as a diagram, with the current state marked, the time in the state and the commands that are available from it.

The PackML (ISA-TR88.00.02) model for packaging and discrete machines and the ISA-88 procedural model for batch units are built in, and a custom model can be supplied. The component does not change state on its own. A command press raises the commandRequest event and the diagram waits for the controller to report the state it reached.

A filler under PackML control

The controller below is simulated. It accepts the commands raised by the diagram, moves through the acting states at its own pace and reports each state back. Press Reset and then Start to see Resetting and Starting on the way to Execute. Hold and Suspend are available from Execute, and Abort is available from every state except Aborting, Aborted and Clearing. Solid arrows are commands and dashed arrows are the automatic transitions taken when an acting state completes.

Keyboard: the command bar is a single tab stop. Use the arrow keys to move between commands and Enter or Space to send one. A change of state is announced to screen readers; Aborting and Aborted are announced assertively.

A batch unit under ISA-88

The procedural model: Running can be paused and held, Held can be restarted, and Reset returns the unit to Idle. The controller pattern is the same as above with a different model.