6 PackML Data Representation Model ToC Previous Next

6.3 Objects and ObjectTypes ToC Previous Next

6.3.6 PackMLBaseStateMachineType ToC Previous Next index

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 Cleared 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 Node Class BrowseName Data Type TypeDefinition Modelling Rule
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   InitialStateType  
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 ABORTED 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 ABORTING 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 transitions

BrowseName References BrowseName TypeDefinition
AbortedToCleared FromState Aborted StateType
  ToState Cleared StateType
  HasCause Clear Method
AbortingToAborted FromState Aborting StateType
  ToState Aborted StateType
ClearedToAborting FromState Cleared StateType
  ToState Aborting StateType
  HasCause Abort Method

The OPC UA StateMachine model supports HasEffect references (and subtypes of these references) that provide linkages to actions (Alarms or other changes) that are triggered by StateMachine Transitions. At this point no HasEffects have been defined in the OPC UA PackML model, but future version of this model will include standard HasEffect References. Vendors can define their own HasEffect references.

Previous Next