The ProductionPartStateMachineType shows the states a part 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 ProductionPartStateMachineType is formally defined in Table 52.

Table 52 – ProductionPartStateMachineType Definition

Attribute

Value

BrowseName

ProductionPartStateMachineType

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 ProductionPartStateMachineType

The ProductionPartStateMachineType allows to send Events of ProductionPartTransitionEventType with every transition, as indicated in Table 54. This makes it possible to send all relevant information of the ProductionPartType the state machine instance belongs to with the TransitionEvent.

Ended is reached when the production on the part has finished. The PartQuality may be changed while in this state, implying that the part is measured after the production process. The part does not have to be mounted inside the machine while in this state.

Initializing implies the part is scheduled for production, but the machining process on the part has not yet started. The part does not have to be mounted inside the machine while in this state.

Running indicates that the processing of the part within the machine has been started or re-started and is currently running.

InitializingToRunning is triggered when the processing of the part starts. This Transition requires the part to be mounted within the machine .

RunningToEnded is triggered when the processing of the part finishes. This Transition does not require an update of the PartQuality.

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

Table 53 - ProductionPartStateMachineType 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 54 – ProductionPartStateMachineType Additional References

SourceBrowsePath

ReferenceType

Is Forward

TargetBrowsePath

AbortedToInitializing

0:FromState

True

Aborted

0:ToState

True

Initializing

0:HasEffect

True

ProductionPartTransitionEventType

EndedToInitializing

0:FromState

True

Ended

0:ToState

True

Initializing

0:HasEffect

True

ProductionPartTransitionEventType

InitializingToAborted

0:FromState

True

Initializing

0:ToState

True

Aborted

0:HasEffect

True

ProductionPartTransitionEventType

InitializingToRunning

0:FromState

True

Initializing

0:ToState

True

Running

0:HasEffect

True

ProductionPartTransitionEventType

InterruptedToAborted

0:FromState

True

Interrupted

0:ToState

True

Aborted

0:HasEffect

True

ProductionPartTransitionEventType

InterruptedToRunning

0:FromState

True

Interrupted

0:ToState

True

Running

0:HasEffect

True

ProductionPartTransitionEventType

RunningToAborted

0:FromState

True

Running

0:ToState

True

Aborted

0:HasEffect

True

ProductionPartTransitionEventType

RunningToEnded

0:FromState

True

Running

0:ToState

True

Ended

0:HasEffect

True

ProductionPartTransitionEventType

RunningToInterrupted

0:FromState

True

Running

0:ToState

True

Interrupted

0:HasEffect

True

ProductionPartTransitionEventType

RunningToRunning

0:FromState

True

Running

0:ToState

True

Running

0:HasEffect

True

ProductionPartTransitionEventType