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
|References||Node Class||BrowseName||Data Type||TypeDefinition||Modelling Rule|
|Subtype of the FiniteStateMachineType defined in OPC 10000-5|
|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
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.