8 OPC UA ObjectTypes ToC Previous Next

8.4 Production ToC Previous Next

8.4.10 ProductionProgramStateMachineType ToC Previous Next index

The ProductionProgramStateMachineType shows the states a program can be in and the possible transitions between those states. Their representation in the OPC UA address space is given in Table 51. The name of each transition consists of the names of the states it connects: [FromState]To[ToState].

The ProductionProgramStateMachineType is formally defined in. Table 49.

Table 49 – ProductionProgramStateMachineType Definition

Attribute Value        
BrowseName ProductionProgramStateMachineType        
IsAbstract False        
References Node Class BrowseName DataType TypeDefinition Other
Subtype of the ProductionStateMachineType defined in 8.4.8 i.e. inheriting the InstanceDeclarations of that Node.          
0:HasComponent Object Aborted   0:StateType None
0:HasComponent Object AbortedToInitializing   0:TransitionType None
0:HasComponent Object Ended   0:StateType None
0:HasComponent Object EndedToInitializing   0:TransitionType None
0:HasComponent Object Initializing   0:InitialStateType None
0:HasComponent Object InitializingToAborted   0:TransitionType None
0:HasComponent Object InitializingToRunning   0:TransitionType None
0:HasComponent Object Interrupted   0:StateType None
0:HasComponent Object InterruptedToAborted   0:TransitionType None
0:HasComponent Object InterruptedToRunning   0:TransitionType None
0:HasComponent Object Running   0:StateType None
0:HasComponent Object RunningToAborted   0:TransitionType None
0:HasComponent Object RunningToEnded   0:TransitionType None
0:HasComponent Object RunningToInterrupted   0:TransitionType None
0:HasComponent Object RunningToRunning   0:TransitionType None
Conformance Units          
MachineTool Production ProductionProgramStateMachineType          

The ProductionProgramStateMachineType allows to send Events of ProductionProgramTransitionEventType with every transition, as indicated in Table 51. This makes it possible to send all relevant information of the ProductionProgramType the state machine instance belongs to with the TransitionEvent.

Initializing is the state in which the program is not yet started.

Interrupted indicates that the execution of the program has been paused and can be continued. This might be due to waiting for the execution of a subprogram or until a certain condition is met, e.g. the doors of the machine are closed.

EndedToInitializing is only used if the nodes in the ProductionPlan are never added or deleted, but remain static in the address space. The Transition is triggered when a new program is loaded. In this case, all values of the ProductionProgramType instance the state machine belongs to are changed to represent a different program. The values of this new job are sent with the ProductionProgramTransitionEventType.

The states and transitions shall have the numbers indicated in Table 50. The Number property of CurrentState and LastTransition shall use those same numbers for the respective state/transition.

Table 50 - ProductionProgramStateMachineType Attribute values for child Nodes

BrowsePath Value Attribute
   Initializing
   0:StateNumber
0
   Running
   0:StateNumber
1
   Ended
   0:StateNumber
2
   Interrupted
   0:StateNumber
3
   Aborted
   0:StateNumber
4
   InitializingToRunning
   0:TransitionNumber
0
   RunningToEnded
   0:TransitionNumber
1
   EndedToInitializing
   0:TransitionNumber
2
   RunningToRunning
   0:TransitionNumber
3
   RunningToInterrupted
   0:TransitionNumber
4
   InterruptedToRunning
   0:TransitionNumber
5
   RunningToAborted
   0:TransitionNumber
6
   InterruptedToAborted
   0:TransitionNumber
7
   AbortedToInitializing
   0:TransitionNumber
8
   InitializingToAborted
   0:TransitionNumber
9

Fields may be empty which means this Attribute is not defined.

Table 51 – ProductionProgramStateMachineType Additional References

SourceBrowsePath ReferenceType Is Forward TargetBrowsePath
AbortedToInitializing 0:FromState True Aborted
  0:ToState True Initializing
  0:HasEffect True ProductionProgramTransitionEventType
EndedToInitializing 0:FromState True Ended
  0:ToState True Initializing
  0:HasEffect True ProductionProgramTransitionEventType
InitializingToAborted 0:FromState True Initializing
  0:ToState True Aborted
  0:HasEffect True ProductionProgramTransitionEventType
InitializingToRunning 0:FromState True Initializing
  0:ToState True Running
  0:HasEffect True ProductionProgramTransitionEventType
InterruptedToAborted 0:FromState True Interrupted
  0:ToState True Aborted
  0:HasEffect True ProductionProgramTransitionEventType
InterruptedToRunning 0:FromState True Interrupted
  0:ToState True Running
  0:HasEffect True ProductionProgramTransitionEventType
RunningToAborted 0:FromState True Running
  0:ToState True Aborted
  0:HasEffect True ProductionProgramTransitionEventType
RunningToEnded 0:FromState True Running
  0:ToState True Ended
  0:HasEffect True ProductionProgramTransitionEventType
RunningToInterrupted 0:FromState True Running
  0:ToState True Interrupted
  0:HasEffect True ProductionProgramTransitionEventType
RunningToRunning 0:FromState True Running
  0:ToState True Running
  0:HasEffect True ProductionProgramTransitionEventType

Previous Next