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 42. The name of each transition consists of the names of the states it connects: [FromState]To[ToState].

The ProductionProgramStateMachineType is formally defined in. Table 41.

Table 41 – 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 AbortedToInitializing   0:TransitionType No ModellingRule
0:HasComponent Object EndedToInitializing   0:TransitionType No ModellingRule
0:HasComponent Object InitializingToAborted   0:TransitionType No ModellingRule
0:HasComponent Object InitializingToRunning   0:TransitionType No ModellingRule
0:HasComponent Object InterruptedToAborted   0:TransitionType No ModellingRule
0:HasComponent Object InterruptedToRunning   0:TransitionType No ModellingRule
0:HasComponent Object RunningToAborted   0:TransitionType No ModellingRule
0:HasComponent Object RunningToEnded   0:TransitionType No ModellingRule
0:HasComponent Object RunningToInterrupted   0:TransitionType No ModellingRule
0:HasComponent Object RunningToRunning   0:TransitionType No ModellingRule

The ProductionProgramStateMachineType allows to send Events of ProductionProgramTransitionEventType with every transition, as indicated in Table 42. 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 tool 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.

Table 42 – ProductionProgramStateMachineType Additional References

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

Previous Next