The PackMLExecuteStateMachineType provides all of the base states defined in PackML. It is illustrated in Figure 18. The TR-88 specification does not define an initial State for this StateMachine, but typically the state machine use either the Idle or Resetting State as an initial State. Annex B provide recommended display names for the various states.

image022.png

Figure 18 – PackMLExecuteStateMachineType illustration

The PackMLExecuteStateMachineType is defined in Table 10. StateTypes and TransitionTypes only exist in the type system, thus they do not have a modelling rule.

Table 10 – PackMLExecuteStateMachineType Definition

Attribute

Value

BrowseName

PackMLExecuteStateMachineType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the FiniteStateMachineType defined in OPC 10000-5

HasComponent

Variable

0: AvailableTransitions

NodeId[]

BaseDataVariableType

Mandatory

HasComponent

Variable

0: AvailableStates

NodeId[]

BaseDataVariableType

Mandatory

HasComponent

Object

Resetting

StateType

HasComponent

Object

Idle

StateType

HasComponent

Object

Starting

StateType

HasComponent

Object

Suspending

StateType

HasComponent

Object

Suspended

StateType

HasComponent

Object

Unsuspending

StateType

HasComponent

Object

Holding

StateType

HasComponent

Object

Held

StateType

HasComponent

Object

Unholding

StateType

HasComponent

Object

Execute

StateType

HasComponent

Object

Completing

StateType

HasComponent

Object

Complete

StateType

HasComponent

Object

ResettingToIdle

TransitionType

HasComponent

Object

IdleToStarting

TransitionType

HasComponent

Object

StartingToExecute

TransitionType

HasComponent

Object

ExecuteToSuspending

TransitionType

HasComponent

Object

SuspendingToSuspended

TransitionType

HasComponent

Object

SuspendedToUnsuspending

TransitionType

HasComponent

Object

UnsuspendingToExecute

TransitionType

HasComponent

Object

ExecuteToHolding

TransitionType

HasComponent

Object

HoldingToHeld

TransitionType

HasComponent

Object

HeldToUnholding

TransitionType

HasComponent

Object

UnholdingToExecute

TransitionType

HasComponent

Object

ExecuteToCompleting

TransitionType

HasComponent

Object

CompletingToComplete

TransitionType

HasComponent

Object

CompleteToResetting

TransitionType

HasComponent

Object

StartingToHolding

TransitionType

HasComponent

Object

UnsuspendingToHolding

TransitionType

HasComponent

Object

SuspendedToHolding

TransitionType

HasComponent

Object

SuspendingToHolding

TransitionType

HasComponent

Object

UnholdingToHolding

TransitionType

HasComponent

Method

Reset

Defined in Clause 6.7.8

Optional

HasComponent

Method

ToComplete

Defined in Clause 6.7.9

Optional

HasComponent

Method

Start

Defined in Clause 6.7.10

Optional

HasComponent

Method

Unhold

Defined in Clause 6.7.11

Optional

HasComponent

Method

Suspend

Defined in Clause 6.7.12

Optional

HasComponent

Method

Hold

Defined in Clause 6.7.14

Optional

HasComponent

Method

Unsuspend

Defined in Clause 6.7.13

Optional

*Not all transitions defined in ANSI/ISA - TR88.00.02 - 2015. Following additional transitions in the object prepared for potential future extensions in TR88: StartingToHolding, UnsuspendingToHolding, SuspendedToHolding, SuspendingToHolding, UnholdingToHolding.

This FiniteStateMachine supports multiple Active states. It also supports 19 Transitions and a Method for transition between states.

Resetting: In response to a Reset command, the unit/machine will transition to Resetting from either Stopped or Complete. In this state the unit/machine attempts to clear any standing errors or stop causes. If successful, the unit/machine transitions to Idle. No hazardous motion should happen in this state. The value of this StateType is 15

Idle: The unit/machine is in an error-free state, waiting to start. The unit/machine transitions automatically to Idle after all steps necessary for Resetting have been completed. All conditions achieved during Resetting are maintained. A Start command will transition the unit/machine from Idle to Starting. The value of this StateType is 4.

Starting: The unit/machine completes all steps necessary to begin execution of the active machine mode. A Start command will cause the unit/machine to transition from Idle to Starting. The unit/machine will transition automatically from Starting to Execute once all required steps have been completed. The value of this StateType is 3.

Suspending: The unit/machine will transition from Execute to Suspending if conditions external to the unit/machine require a pause in production. Such conditions include faults to upstream or downstream equipment. The decision to Suspend may be made be a supervisory system monitoring the production line conditions or by unit/machine sensors detecting downstream blockages or upstream product scarcity. (In the former case, the unit/machine is 'blocked”; in the latter case, the unit/machine is “starved”) After all steps required to suspend the machine have been completed, the unit/machine will automatically transition to Suspended state. The value of this StateType is 13.

Suspended: The unit/machine is paused, waiting for external process conditions to clear. In this state, the unit/machine shall not produce product, but may, if required, dry-cycle. Once external conditions have returned to normal, the unit/machine will transition to Unsuspending, typically without operator intervention. The value of this StateType is 5.

Unsuspending: After all external process conditions that caused the unit/machine to suspend have cleared, the unit/machine completes all steps required to resume execution of the active machine mode. Once all required actions to unsuspend the unit/machine have been completed, the unit/machine will automatically transition to Execute state. The value of this StateType is 14.

Holding: The unit/machine will transition from Execute to Holding if conditions internal to the unit/machine require a pause in production. Such conditions would include low levels on materials required for production or other minor issues requiring operator service, for example. The decision to hold may be made automatically by the unit/machine itself or by an operator. After all steps required to hold the machine have been completed, the unit/machine will transition automatically to Held state. The value of this StateType is 10.

Held: The unit/machine is paused, waiting for internal process conditions to clear. In this state, the unit/machine shall not produce product, though it may, if required, dry-cycle. A transition to Unholding will occur once internal machine conditions have cleared or if the Unhold command is initiated by an operator. The value of this StateType is 11.

Unholding: After all internal process conditions that caused the unit/machine to hold have cleared, the unit/machine completes all steps required to resume execution of the active machine mode. Once all required actions to unhold the machine have been completed, the unit/machine will transition automatically to Execute state. The value of this StateType is 12.

Execute: If the unit/machine is actively carrying out the behaviour or activity defined by the selected mode, then the machine is in Execute state. If the unit/machine is in production mode, for example, this means that the machine is producing product. The value of this StateType is 6.

Completing: Once the process associated with the current mode has reached a defined threshold (e.g. the required number of products for the current job have been produced), the unit/machine transitions from Execute to Completing. In this state all steps necessary to shut down the current process are carried out. The machine then transitions automatically to Complete state. The value of this StateType is 16.

Complete: Complete indicates the process associated with the active mode has come to its defined end. The unit/machine will wait in this state until a Reset command is issued (in which case it will transition to Resetting), or until the unit/machine is Stopped or Aborted. The value of this StateType is 17.

The Transitions are described in Table 11. This FiniteStateMachine also supports six Methods, for transitioning between states. This StateMachine includes transition to Holding from Unholding, Starting, Unsuspending, Suspended, Suspending, all of which are extension to the ISA-TR88.00.02-2015 specification.

Table 11 – PackMLExecuteStateMachineType Additional References

Source Path

Reference Type

Is Forward

Target Path

ResettingToIdle

FromState

True

Resetting

ToState

True

Idle

IdleToStarting

FromState

True

Idle

ToState

True

Starting

HasCause

True

Start

StartingToExecute

FromState

True

Starting

ToState

True

Execute

ExecuteToSuspending

FromState

True

Execute

ToState

True

Suspending

HasCause

True

Suspend

SuspendingToSuspended

FromState

True

Suspending

ToState

True

Suspended

SuspendedToUnsuspending

FromState

True

Suspended

ToState

True

Unsuspending

HasCause

True

Unsuspend

UnsuspendingToExecute

FromState

True

Unsuspending

ToState

True

Execute

ExecuteToHolding

FromState

True

Execute

ToState

True

Holding

HasCause

True

Hold

StartingToHolding

FromState

True

Starting

ToState

True

Holding

HasCause

True

Hold

SuspendingToHolding

FromState

True

Suspending

ToState

True

Holding

HasCause

True

Hold

SuspendedToHolding

FromState

True

Suspended

ToState

True

Holding

HasCause

True

Hold

UnsuspendingToHolding

FromState

True

Unsuspending

ToState

True

Holding

HasCause

True

Hold

UnholdingToHolding

FromState

True

Unholding

ToState

True

Holding

HasCause

True

Hold

HoldingToHeld

FromState

True

Holding

ToState

True

Held

HeldToUnholding

FromState

True

Held

ToState

True

Unholding

HasCause

True

Unhold

UnholdingToExecute

FromState

True

Unholding

ToState

True

Execute

ExecuteToCompleting

FromState

True

Execute

ToState

True

Completing

HasCause

True

ToComplete

CompletingToComplete

FromState

True

Completing

ToState

True

Complete

CompleteToResetting

FromState

True

Complete

ToState

True

Resetting

HasCause

True

Reset

*Not all transitions defined in ANSI/ISA - TR88.00.02 - 2015. Following additional transitions in the object prepared for potential future extensions in TR88: StartingToHolding, UnsuspendingToHolding, SuspendedToHolding, SuspendingToHolding, UnholdingToHolding.