The PackMLMachineStateMachineType defines the machine level state machine. It is illustrated in Figure 17.
The TR-88 specification does not define an initial State for this StateMachine, but typically the state machine uses Stopped State as an initial State. Annex B provides recommended display names for the various states.
Figure 17 - PackMLMachineStateMachineType illustration
Table 8 defines the PackMLMachineStateMachineType. StateTypes and TransitionTypes only exist in the type system, thus they do not have a modelling rule.
Table 8 – PackMLMachineStateMachineType Definition
Attribute |
Value |
||||
BrowseName |
PackMLMachineStateMachineType |
||||
IsAbstract |
False |
||||
Reference |
Node Class |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the FiniteStateMachineType from OPC 10000-5. |
|||||
HasComponent |
Variable |
0:AvailableTransitions |
NodeId[] |
BaseDataVariableType |
Mandatory |
HasComponent |
Variable |
0:AvailableStates |
NodeId[] |
BaseDataVariableType |
Mandatory |
|
|
|
|
|
|
HasComponent |
Object |
Stopped |
|
StateType |
|
HasComponent |
Object |
Stopping |
|
StateType |
|
HasComponent |
Object |
Clearing |
|
StateType |
|
HasComponent |
Object |
Running |
|
StateType |
|
|
|
|
|
|
|
HasComponent |
Object |
ExecuteState |
|
PackMLExecuteStateMachineType |
Mandatory |
|
|
|
|
|
|
HasComponent |
Object |
StoppingToStopped |
|
TransitionType |
|
HasComponent |
Object |
ClearingToStopped |
|
TransitionType |
|
HasComponent |
Object |
StoppedToRunning |
|
TransitionType |
|
HasComponent |
Object |
RunningToStopping |
|
TransitionType |
|
|
|
|
|
|
|
HasComponent |
Method |
Stop |
Defined in 6.7.7 |
Optional |
|
HasComponent |
Method |
Reset |
Defined in 6.7.8 |
Optional |
|
|
|
|
|
|
|
The AvailableTransitions and AvailableStates are optional variables in the FiniteStateMachine, but they are overridden in the PackMLMachineStateMachineType and are made Mandatory. The PackMLMachineStateMachineType does include a sub-state machine that provides sub-states for the Run State.
Stopped - The machine is powered and stationary after completing the STOPPING state. All communications with other systems are functioning (if applicable). The value of this StateType is 2
Stopping - This state executes the logic which brings the machine to a controlled stop as reflected by the STOPPED state. The value of this StateType is 7.
Clearing - Initiated by a state command to clear faults that may have occurred when ABORTING, and are present in the ABORTED state. The value of this StateType is 1.
Running – the State that allows the ExecuteState machine to become active, enabling sub-states provided by this StateMachine. The value of this StateType is 18.
ExecuteState – StateMachine that provides additional sub states.
Stop – A Method to trigger a change of state to Stopping. This will affect all sub-states in Run state. Defined in 6.7.7
Reset – A Method to trigger a change of state to Running, enabling all of the sub-states of Running and the respective Methods that they expose. Defined in 6.7.8
The transitions are defined in Table 9.
Table 9 – PackMLMachineStateMachineType Additional References
Source Path |
Reference Type |
Is Forward |
Target Path |
StoppedToRunning |
FromState |
True |
Stopped |
|
ToState |
True |
Running |
|
HasCause |
True |
Reset |
StoppingToStopped |
FromState |
True |
Stopping |
|
ToState |
True |
Stopped |
ClearingToStopped |
FromState |
True |
Clearing |
|
ToState |
True |
Stopped |
RunningToStopping |
FromState |
True |
Running |
|
ToState |
True |
Stopping |
|
HasCause |
True |
Stop |