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.
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.