8.4.10 ProductionProgramStateMachineType

[DEPRECATED in version 1.02] The ProductionProgramStateMachineType will be replaced by the job management defined in OPC 40001-3 in future versions of this specification. Hence the 0:IsDeprecated Reference was added.

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

The ProductionProgramStateMachineType is formally defined in Table 52.

Table 52 – ProductionProgramStateMachineType Definition
Attribute Value
BrowseNameProductionProgramStateMachineType
IsAbstractFalse
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:HasComponentObjectAborted0:StateTypeNone
0:HasComponentObjectAbortedToInitializing0:TransitionTypeNone
0:HasComponentObjectEnded0:StateTypeNone
0:HasComponentObjectEndedToInitializing0:TransitionTypeNone
0:HasComponentObjectInitializing0:InitialStateTypeNone
0:HasComponentObjectInitializingToAborted0:TransitionTypeNone
0:HasComponentObjectInitializingToRunning0:TransitionTypeNone
0:HasComponentObjectInterrupted0:StateTypeNone
0:HasComponentObjectInterruptedToAborted0:TransitionTypeNone
0:HasComponentObjectInterruptedToRunning0:TransitionTypeNone
0:HasComponentObjectRunning0:StateTypeNone
0:HasComponentObjectRunningToAborted0:TransitionTypeNone
0:HasComponentObjectRunningToEnded0:TransitionTypeNone
0:HasComponentObjectRunningToInterrupted0:TransitionTypeNone
0:HasComponentObjectRunningToRunning0:TransitionTypeNone
0:IsDeprecatedObjectMachineTool_v1020:BaseObjectType
Conformance Units
MachineTool Production ProductionProgramStateMachineType

The ProductionProgramStateMachineType allows to send Events of ProductionProgramTransitionEventType with every transition, as indicated in Table 54. 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 53. The 0:Number property of 0:CurrentState and 0:LastTransition shall use those same numbers for the respective state/transition.

Table 53 – ProductionProgramStateMachineType Attribute values for child Nodes
BrowsePath Value Attribute
0
1
2
3
4
0
1
2
3
4
5
6
7
8
9
Table 54 – ProductionProgramStateMachineType Additional References
SourceBrowsePath ReferenceType Is Forward TargetBrowsePath
AbortedToInitializing0:FromStateTrueAborted
0:ToStateTrueInitializing
0:HasEffectTrueProductionProgramTransitionEventType
EndedToInitializing0:FromStateTrueEnded
0:ToStateTrueInitializing
0:HasEffectTrueProductionProgramTransitionEventType
InitializingToAborted0:FromStateTrueInitializing
0:ToStateTrueAborted
0:HasEffectTrueProductionProgramTransitionEventType
InitializingToRunning0:FromStateTrueInitializing
0:ToStateTrueRunning
0:HasEffectTrueProductionProgramTransitionEventType
InterruptedToAborted0:FromStateTrueInterrupted
0:ToStateTrueAborted
0:HasEffectTrueProductionProgramTransitionEventType
InterruptedToRunning0:FromStateTrueInterrupted
0:ToStateTrueRunning
0:HasEffectTrueProductionProgramTransitionEventType
RunningToAborted0:FromStateTrueRunning
0:ToStateTrueAborted
0:HasEffectTrueProductionProgramTransitionEventType
RunningToEnded0:FromStateTrueRunning
0:ToStateTrueEnded
0:HasEffectTrueProductionProgramTransitionEventType
RunningToInterrupted0:FromStateTrueRunning
0:ToStateTrueInterrupted
0:HasEffectTrueProductionProgramTransitionEventType
RunningToRunning0:FromStateTrueRunning
0:ToStateTrueRunning
0:HasEffectTrueProductionProgramTransitionEventType