6 PackML Data Representation Model ToC Previous Next

6.3 Objects and ObjectTypes ToC Previous Next

6.3.7 PackMLMachineStateMachineType ToC Previous Next index

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.

ExecuteStateStateMachine 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
StoppedToRunning FromState Stopped StateType
  ToState Running StateType
  HasCause Reset Method
StoppingToStopped FromState Stopping StateType
  ToState Stopped StateType
ClearingToStopped FromState Clearing StateType
  ToState Stopped StateType
RunningToStopping FromState Running StateType
  ToState Stopping StateType
  HasCause Stop Method

Previous Next