The PackMLBaseStateMachineType is the top level StateMachine for PackML. It is illustrated in Figure 16. The TR-88 specification does not define an initial State for this StateMachine, but typically the state machine uses either the Aborted or Stopped State as an initial State. Annex B provide recommended display names for the various states.
Figure 16 - PackMLBaseStateMachineType illustration
The PackMLBaseStateMachineType defines the available states in a PackML system. The type is defined in Table 6. StateTypes and TransitionTypes only exist in the type system, thus they do not have a modelling rule.
Table 6 – PackMLBaseStateMachineType Definition
Attribute |
Value |
||||
BrowseName |
PackMLBaseStateMachineType |
||||
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 |
Aborting |
|
StateType |
|
HasComponent |
Object |
Aborted |
|
StateType |
|
HasComponent |
Object |
Cleared |
|
StateType |
|
|
|
|
|
|
|
HasComponent |
Object |
MachineState |
|
PackMLMachineStateMachineType |
Mandatory |
|
|
|
|
|
|
HasComponent |
Object |
AbortedToCleared |
|
TransitionType |
|
HasComponent |
Object |
AbortingToAborted |
|
TransitionType |
|
HasComponent |
Object |
ClearedToAborting |
|
TransitionType |
|
|
|
|
|
|
|
HasComponent |
Method |
Abort |
Defined in 6.7.5 |
Optional |
|
HasComponent |
Method |
Clear |
Defined in 6.7.6 |
Optional |
|
|
|
|
|
|
|
The AvailableTransitions and AvailableStates are optional variables in the FiniteStateMachine, but they are overridden in the PackMLBaseStateMachine and are made Mandatory. The PackMLBaseStateMachine does include a sub-state machine that provides sub-states for the Cleared State.
Aborting - The ABORTING state can be entered at any time in response to the Abort command or on the occurrence of a machine fault. The aborting logic will bring the machine to a rapid safe stop. Operation of the emergency stop will cause the machine to be tripped by its safety system. It will also provide a signal to initiate the ABORT State. The value of this StateType is 8.
Aborted - This state maintains machine status information relevant to the Abort condition. The machine can only exit the ABORTED state after an explicit Clear command, subsequently to manual intervention to correct and reset the detected machine faults. The value of this StateType is 9.
Cleared – this state exposes the MachineState sub StateMachine and state associated with this substate machine. The value of this StateType is 19.
MachineState – A PackMLMachineStateMachineType defined in section 6.3.7.
Abort – a Method to trigger a change of state to Aborting. This will affect all sub-states in cleared state. Defined in 6.7.5.
Clear – a Method to trigger a change of state to the Cleared. Defined in 6.7.6.
Table 7 defines the available Transitions in the PackMLBaseStateMachineType.
Table 7 – PackMLBaseStateMachineType Additional References
Source Path |
Reference Type |
Is Forward |
Target Path |
ClearedToAborting |
ToState |
True |
Aborting |
|
FromState |
True |
Cleared |
|
HasCause |
True |
Abort |
AbortingToAborted |
ToState |
True |
Aborted |
|
FromState |
True |
Aborting |
AbortedToCleared |
ToState |
True |
Cleared |
|
FromState |
True |
Aborted |
|
HasCause |
True |
Clear |
|
|
|
|