6 PackML Data Representation Model ToC Previous Next

6.3 Objects and ObjectTypes ToC Previous Next

6.3.8 PackMLExecuteStateMachineType ToC Previous Next

The PackMLExecuteStateMachineType provides all of the base states defined in PackML. It is illustrated in Figure 18. The TR-88 specification does not define an initial State for this StateMachine, but typically the state machine use either the Idle or Resetting State as an initial State. Annex B provide recommended display names for the various states.

readme_files/image022.png

Figure 18 – PackMLExecuteStateMachineType illustration

The PackMLExecuteStateMachineType is defined in Table 10. StateTypes and TransitionTypes only exist in the type system, thus they do not have a modelling rule.

Table 10 – PackMLExecuteStateMachineType Definition

Attribute Value
BrowseName PackMLExecuteStateMachineType
IsAbstract False

Subtype of the FiniteStateMachineType defined in OPC 10000-5

References NodeClass BrowseName DataType TypeDefinition Modelling Rule
           
HasComponent Variable 0:AvailableTransitions NodeId[] BaseDataVariableType Mandatory
HasComponent Variable 0:AvailableStates NodeId[] BaseDataVariableType Mandatory
           
HasComponent Object Resetting   StateType  
HasComponent Object Idle   StateType  
HasComponent Object Starting   StateType  
HasComponent Object Suspending   StateType  
HasComponent Object Suspended   StateType  
HasComponent Object Unsuspending   StateType  
HasComponent Object Holding   StateType  
HasComponent Object Held   StateType  
HasComponent Object Unholding   StateType  
HasComponent Object Execute   StateType  
HasComponent Object Completing   StateType  
HasComponent Object Complete   StateType  
           
HasComponent Object ResettingToIdle   TransitionType  
HasComponent Object IdleToStarting   TransitionType  
HasComponent Object StartingToExecute   TransitionType  
HasComponent Object ExecuteToSuspending   TransitionType  
HasComponent Object SuspendingToSupended   TransitionType  
HasComponent Object SuspendedToUnsuspending   TransitionType  
HasComponent Object UnsuspendingToExecute   TransitionType  
HasComponent Object ExecuteToHolding   TransitionType  
HasComponent Object HoldingToHeld   TransitionType  
HasComponent Object HeldToUnholding   TransitionType  
HasComponent Object UnholdingToExecute   TransitionType  
HasComponent Object ExecuteToCompleting   TransitionType  
HasComponent Object CompletingToComplete   TransitionType  
HasComponent Object CompleteToResetting   TransitionType  
HasComponent Object StartingToHolding   TransitionType  
HasComponent Object UnsuspendingToHolding   TransitionType  
HasComponent Object SuspendedToHolding   TransitionType  
HasComponent Object SuspendingToHolding   TransitionType  
HasComponent Object UnholdingToHolding   TransitionType  
           
HasComponent Method Reset Defined in Clause 6.7.8 Optional  
HasComponent Method ToComplete Defined in Clause 6.7.9 Optional  
HasComponent Method Start Defined in Clause 6.7.10 Optional  
HasComponent Method Unhold Defined in Clause 6.7.11 Optional  
HasComponent Method Suspend Defined in Clause 6.7.12 Optional  
HasComponent Method Hold Defined in Clause 6.7.14 Optional  
HasComponent Method Unsuspend Defined in Clause Optional  
           

This FiniteStateMachine supports multiple Active states. It also supports 19 Transitions and a Method for transition between states. The transitions are described in Table 11.

Resetting: In response to a Reset command, the unit/machine will transition to Resetting from either Stopped or Complete. In this state the unit/machine attempts to clear any standing errors or stop causes. If successful, the unit/machine transitions to Idle. No hazardous motion should happen in this state. The value of this StateType is 15

Idle: The unit/machine is in an error-free state, waiting to start. The unit/machine transitions automatically to Idle after all steps necessary for Resetting have been completed. All conditions achieved during Resetting are maintained. A Start command will transition the unit/machine from Idle to Starting. The value of this StateType is 4.

Starting: The unit/machine completes all steps necessary to begin execution of the active machine mode. A Start command will cause the unit/machine to transition from Idle to Starting. The unit/machine will transition automatically from Starting to Execute once all required steps have been completed. The value of this StateType is 3.

Suspending: The unit/machine will transition from Execute to Suspending if conditions external to the unit/machine require a pause in production. Such conditions include faults to upstream or downstream equipment. The decision to Suspend may be made be a supervisory system monitoring the production line conditions or by unit/machine sensors detecting downstream blockages or upstream product scarcity. (In the former case, the unit/machine is ‘blocked”; in the latter case, the unit/machine is “starved”.) After all steps required to suspend the machine have been completed, the unit/machine will automatically transition to Suspended state. The value of this StateType is 13.

Suspended: The unit/machine is paused, waiting for external process conditions to clear. In this state, the unit/machine shall not produce product, but may, if required, dry-cycle. Once external conditions have returned to normal, the unit/machine will transition to Unsuspending, typically without operator intervention. The value of this StateType is 5.

Unsuspending: After all external process conditions that caused the unit/machine to suspend have cleared, the unit/machine completes all steps required to resume execution of the active machine mode. Once all required actions to unsuspend the unit/machine have been completed, the unit/machine will automatically transition to Execute state. The value of this StateType is 14.

Holding: The unit/machine will transition from Execute to Holding if conditions internal to the unit/machine require a pause in production. Such conditions would include low levels on materials required for production or other minor issues requiring operator service, for example. The decision to hold may be made automatically by the unit/machine itself or by an operator. After all steps required to hold the machine have been completed, the unit/machine will transition automatically to Held state. The value of this StateType is 10.

Held: The unit/machine is paused, waiting for internal process conditions to clear. In this state, the unit/machine shall not produce product, though it may, if required, dry-cycle. A transition to Unholding will occur once internal machine conditions have cleared or if the Unhold command is initiated by an operator. The value of this StateType is 11.

Unholding: After all internal process conditions that caused the unit/machine to hold have cleared, the unit/machine completes all steps required to resume execution of the active machine mode. Once all required actions to unhold the machine have been completed, the unit/machine will transition automatically to Execute state. The value of this StateType is 12.

Execute: If the unit/machine is actively carrying out the behaviour or activity defined by the selected mode, then the machine is in Execute state. If the unit/machine is in production mode, for example, this means that the machine is producing product. The value of this StateType is 6.

Completing: Once the process associated with the current mode has reached a defined threshold (e.g. the required number of products for the current job have been produced), the unit/machine transitions from Execute to Completing. In this state all steps necessary to shut down the current process are carried out. The machine then transitions automatically to Complete state. The value of this StateType is 16.

Complete: Complete indicates the process associated with the active mode has come to its defined end. The unit/machine will wait in this state until a Reset command is issued (in which case it will transition to Resetting), or until the unit/machine is Stopped or Aborted. The value of this StateType is 17.

The Transitions are described in Table 11. This FiniteStateMachine also supports six Methods, for transitioning between states. This StateMachine includes transition to Holding from Unholding, Starting, Unsuspending, Suspended, Suspending, all of which are extension to the ISA-TR88.00.02-2015 specification.

Table 11 – PackMLExecuteStateMachineType transitions

BrowseName References BrowseName TypeDefinition
       
Transitions      
ResettingToIdle FromState Resetting StateType
  ToState Idle StateType
IdleToStarting FromState Idle StateType
  ToState Starting StateType
  HasCause Start Method
StartingToExecute FromState Starting StateType
  ToState Execute StateType
ExecuteToSuspending FromState Execute StateType
  ToState Suspending StateType
  HasCause Suspend Method
SuspendingToSuspended FromState Suspending StateType
  ToState Suspended StateType
SuspendedToUnsuspending FromState Suspended StateType
  ToState Unsuspending StateType
  HasCause Unsuspend Method
UnspendingToExecute FromState Unsuspending StateType
  ToState Execute StateType
ExecuteToHolding FromState Execute StateType
  ToState Holding StateType
  HasCause Hold Method
StartingToHolding FromState Starting StateType
  ToState Holding StateType
  HasCause Hold Method
SuspendingToHolding FromState Suspending StateType
  ToState Holding StateType
  HasCause Hold Method
SuspendedToHolding FromState Suspended StateType
  ToState Holding StateType
  HasCause Hold Method
UnsuspendingToHolding FromState Unsuspending StateType
  ToState Holding StateType
  HasCause Hold Method
UnholdingToHolding FromState Unholding StateType
  ToState Holding StateType
  HasCause Hold Method
HoldingToHeld FromState Holding StateType
  ToState Held StateType
HeldToUnholding FromState Held StateType
  ToState Unholding StateType
  HasCause Unhold Method
UnholdingToExecute FromState Unholding StateType
  ToState Execute StateType
ExecuteToCompleting FromState Execute StateType
  ToState Completing StateType
  HasCause Complete Method
CompletingToComplete FromState Completing StateType
  ToState Complete StateType
CompleteToResetting FromState Complete StateType
  ToState Resetting StateType
  HasCause Reset Method
       

Previous Next