6 PackML Data Representation Model

6.3 Objects and ObjectTypes

6.3.7 PackMLMachineStateMachineType

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 is18.
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 transitions
BrowseName | References | BrowseName | TypeDefinition |
---|---|---|---|
Transitions | |||
StoppedToRunning | FromState | Stopped | StateType |
ToState | Running | StateType | |
HasEffect | |||
HasCause | Reset | Method | |
StoppingToStopped | FromState | Stopping | StateType |
ToState | Stopped | StateType | |
HasEffect | |||
ClearingToStopped | FromState | Clearing | StateType |
ToState | Stopped | StateType | |
HasEffect | |||
RunningToStopping | FromState | Running | StateType |
ToState | Stopping | StateType | |
HasEffect | |||
HasCause | Stop | Method | |