The TMCStateMachineType describes the finite state machine of a complex automation item including a machine module, an equipment module and a control module.

The TMCStateMachineType is modelled and inherits from the PackMLBaseStateMachineType defined in OPC 30050 - UA for PackML (OMAC) v1.01 and provides additional TMCMachineStateMachineType and transition information by means of guards implemented by the BooleanGuardVariableType.

The TMCStateMachineType is formally defined in the following table.

Table 120 – TMCStateMachineType Definition

Attribute

Value

BrowseName

TMCStateMachineType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the PackMLBaseStateMachineType defined in OPC 30050, i.e. inheriting the Instance Declarations of that Node.

0:HasComponent

Method

3:Abort

See OPC 30050, PackMLStateMachineType.

O

0:HasComponent

Object

Aborted

0:StateType

0:HasComponent

Object

AbortedSubstate

StateMachineType

O

0:HasComponent

Object

AbortedToCleared

0:TransitionType

0:HasComponent

Variable

AbortedToClearedGuard

0:LocalizedText

BooleanGuardVariableType

M, RW

0:HasComponent

Object

Aborting

0:StateType

0:HasComponent

Object

AbortingToAborted

0:TransitionType

0:HasComponent

Variable

AbortingToAbortedGuard

0:LocalizedText

BooleanGuardVariableType

M, RW

0:HasComponent

Method

3:Clear

See OPC 30050, PackMLStateMachineType.

O

0:HasComponent

Object

Cleared

0:StateType

0:HasComponent

Object

ClearedToAborting

0:TransitionType

0:HasComponent

Variable

ClearedToAbortingGuard

0:LocalizedText

BooleanGuardVariableType

M, RW

0:HasComponent

Variable

LastTransition

0:LocalizedText

0:FiniteTransitionVariableType

M, RO

0:HasComponent

Object

MachineState

TMCMachineStateMachineType

M

0:GeneratesEvent

ObjectType

TransitionEventType

M

Conformance Units

TMC Advanced Equipment Module and Control Module Status

The components of the TMCStateMachineType are described in OPC 30050 UA for PackML from which the PackMLBaseStateMachineType is subtyped.

Each transition has a guard of type BooleanGuardVariableType which has one or more Condition components. Each Condition component is necessary to trigger the transition. When all the Condition components are True, the transition is triggered (sufficient).

The AbortedSubstate is a state machine that provides the states and transitions specific to the implementation and performed while the main state machine is in the Aborted state. Similarly for Execute.

The component Variables of the TMCStateMachineType have additional Attributes defined in the following table.

Table 121 – TMCStateMachineType Attribute Values for Child Nodes

BrowsePath

Value Attribute

Aborted

0:StateNumber

9

Aborting

0:StateNumber

8

Cleared

0:StateNumber

19

The components of the TMCStateMachineType have additional references which are defined in the following table.

Table 122 – TMCStateMachineType Additional References

SourceBrowsePath

Reference Type

Is Forward

TargetBrowsePath

Aborted

0:HasSubStateMachine

True

AbortedSubstate

AbortedToCleared

0:FromState

True

Aborted

0:HasGuard

True

AbortedToClearedGuard

0:HasCause

True

3:Clear

0:ToState

True

Cleared

0:HasEffect

True

TransitionEventType

AbortingToAborted

0:FromState

True

Aborting

0:HasGuard

True

AbortingToAbortedGuard

0:ToState

True

Aborted

0:HasEffect

True

TransitionEventType

ClearedToAborting

0:FromState

True

Cleared

0:HasGuard

True

ClearedToAbortingGuard

0:HasCause

True

3:Abort

0:ToState

True

Aborting

0:HasEffect

True

TransitionEventType