The MachineryItemState_StateMachineType is a subtype of FiniteStateMachineType defined in OPC 10000-16. The semantic of this AddIn is to provide the state of a MachineryItem. It is formally defined in Table 29.

Table 29 – MachineryItemState_StateMachineType Definition

Attribute

Value

BrowseName

MachineryItemState_StateMachineType

IsAbstract

False

Description

State machine representing the state of a machinery item

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:FiniteStateMachineType defined in OPC 10000-16, i.e. inheriting the InstanceDeclarations of that Node.

0:HasProperty

Variable

0:DefaultInstanceBrowseName

0:QualifiedName

0:PropertyType

-

0:HasComponent

Object

NotAvailable

-

0:StateType

-

0:HasComponent

Object

OutOfService

-

0:StateType

-

0:HasComponent

Object

Executing

-

0:StateType

-

0:HasComponent

Object

NotExecuting

-

0:StateType

-

0:HasComponent

Object

FromNotAvailableToOutOfService

-

0:TransitionType

-

0:HasComponent

Object

FromNotAvailableToNotExecuting

-

0:TransitionType

-

0:HasComponent

Object

FromNotAvailableToExecuting

-

0:TransitionType

-

0:HasComponent

Object

FromNotAvailableToNotAvailable

-

0:TransitionType

-

0:HasComponent

Object

FromOutOfServiceToNotAvailable

-

0:TransitionType

-

0:HasComponent

Object

FromOutOfServiceToNotExecuting

-

0:TransitionType

-

0:HasComponent

Object

FromOutOfServiceToExecuting

-

0:TransitionType

-

0:HasComponent

Object

FromOutOfServiceToOutOfService

-

0:TransitionType

-

0:HasComponent

Object

FromNotExecutingToNotAvailable

-

0:TransitionType

-

0:HasComponent

Object

FromNotExecutingToOutOfService

-

0:TransitionType

-

0:HasComponent

Object

FromNotExecutingToExecuting

-

0:TransitionType

-

0:HasComponent

Object

FromNotExecutingToNotExecuting

-

0:TransitionType

-

0:HasComponent

Object

FromExecutingToNotAvailable

-

0:TransitionType

-

0:HasComponent

Object

FromExecutingToOutOfService

-

0:TransitionType

-

0:HasComponent

Object

FromExecutingToNotExecuting

-

0:TransitionType

-

0:HasComponent

Object

FromExecutingToExecuting

-

0:TransitionType

-

Conformance Units

Machinery MachineryItem State

The States and Transitions define a StateMachine as shown in Figure 13. It does not define an initial State, i.e., the initial State is vendor-specific.

Note: None of the States or Transitions have a ModellingRule, i.e., they are only provided in the TypeDefinition, not on the instance. The CurrentState Variable (inherited from StateMachineType) contains the information of the current State of the instance.

The NotAvailable State represents that the MachineryItem is not available and does not perform any activity. Examples for this State are that the Machine is switched off or is in energy saving mode.

Note: Activity can be part of the production, preparation or maintenance process.

Note: The NotAvailable State should only be used, when the State of the Machine is known. If the OPC UA Server is for example deployed outside the Machine and just lost the connection to the Machine, it should rather use a Bad StatusCode for the CurrentState than the NotAvailable State.

Note: Depending on the deployment of the OPC UA Server, the NotAvailable State might never be provided by the OPC UA Server, since the Server might not be available when the Machine is not available, e.g., if the OPC UA Server is deployed on a PLC of the Machine.

The OutOfService State represents that the MachineryItem is not functional and does not perform any activity. Examples for this State are that the Machine is in an error or blocked.

The NotExecuting State represents that the MachineryItem is available & functional and does not perform any activity. It waits for an action from outside to start or restart an activity. Examples for this State are that the Machine is waiting for a new order to be produced, a piece put into the Machine or an automatic or manual activation to be executed.

The Executing State represents that the Machine is available & functional and is actively performing an activity (pursues a purpose). Examples for this State are that the Machine is producing, transporting or processing something or executing a maintenance process.

The meaning of the Transitions is defined in the Description of Table 30.

The InstanceDeclarations of the MachineryItemState_StateMachineType have additional Attribute values defined in Table 30.

Table 30 – MachineryItemState_StateMachineType Attribute Values for Child Nodes

SourceBrowsePath

Value

Description

0:DefaultInstanceBrowseName

MachineryItemState

The default BrowseName for instances of the type

NotAvailable

-

The machine is not available and does not perform any activity (e.g., switched off, in energy saving mode)

OutOfService

-

The machine is not functional and does not perform any activity (e.g., error, blocked)

NotExecuting

-

The machine is available & functional and does not perform any activity. It waits for an action from outside to start or restart an activity

Executing

-

The machine is available & functional and is actively performing an activity (pursues a purpose)

FromNotAvailableToOutOfService

-

Transition from state NotAvailable to state OutOfService

FromNotAvailableToNotExecuting

-

Transition from state NotAvailable to state NotExecuting

FromNotAvailableToExecuting

-

Transition from state NotAvailable to state Executing

FromNotAvailableToNotAvailable

-

Transition from state NotAvailable to state NotAvailable

FromOutOfServiceToNotAvailable

-

Transition from state OutOfService to state NotAvailable

FromOutOfServiceToNotExecuting

-

Transition from state OutOfService to state NotExecuting

FromOutOfServiceToExecuting

-

Transition from state OutOfService to state Executing

FromOutOfServiceToOutOfService

-

Transition from state OutOfService to state OutOfService

FromNotExecutingToNotAvailable

-

Transition from state NotExecuting to state NotAvailable

FromNotExecutingToOutOfService

-

Transition from state NotExecuting to state OutOfService

FromNotExecutingToExecuting

-

Transition from state NotExecuting to state Executing

FromNotExecutingToNotExecuting

-

Transition from state NotExecuting to state NotExecuting

FromExecutingToNotAvailable

-

Transition from state Executing to state NotAvailable

FromExecutingToOutOfService

-

Transition from state Executing to state OutOfService

FromExecutingToNotExecuting

-

Transition from state Executing to state NotExecuting

FromExecutingToExecuting

-

Transition from state Executing to state Executing

NotAvailable

0:StateNumber

0

-

OutOfService

0:StateNumber

1

-

NotExecuting

0:StateNumber

2

-

Executing

0:StateNumber

3

-

FromNotAvailableToOutOfService

0:TransitionNumber

0

-

FromNotAvailableToExecuting

0:TransitionNumber

1

-

FromNotAvailableToNotExecuting

0:TransitionNumber

2

-

FromOutOfServiceToNotAvailable

0:TransitionNumber

3

-

FromOutOfServiceToExecuting

0:TransitionNumber

4

-

FromOutOfServiceToNotExecuting

0:TransitionNumber

5

-

FromExecutingToNotAvailable

0:TransitionNumber

6

-

FromExecutingToOutOfService

0:TransitionNumber

7

-

FromExecutingToNotExecuting

0:TransitionNumber

8

-

FromNotExecutingToNotAvailable

0:TransitionNumber

9

-

FromNotExecutingToOutOfService

0:TransitionNumber

10

-

FromNotExecutingToExecuting

0:TransitionNumber

11

-

FromNotAvailableToNotAvailable

0:TransitionNumber

12

-

FromOutOfServiceToOutOfService

0:TransitionNumber

13

-

FromExecutingToExecuting

0:TransitionNumber

14

-

FromNotExecutingToNotExecuting

0:TransitionNumber

15

-

The components of the MachineryItemState_StateMachineType have additional References which are defined in Table 31.

Table 31 – MachineryItemState_StateMachineType Additional References

SourceBrowsePath

Reference Type

Is Forward

TargetBrowsePath

FromNotAvailableToOutOfService

0:FromState

True

NotAvailable

0:ToState

True

OutOfService

FromNotAvailableToExecuting

0:FromState

True

NotAvailable

0:ToState

True

Executing

FromNotAvailableToNotExecuting

0:FromState

True

NotAvailable

0:ToState

True

NotExecuting

FromOutOfServiceToNotAvailable

0:FromState

True

OutOfService

0:ToState

True

NotAvailable

FromOutOfServiceToExecuting

0:FromState

True

OutOfService

0:ToState

True

Executing

FromOutOfServiceToNotExecuting

0:FromState

True

OutOfService

0:ToState

True

NotExecuting

FromExecutingToNotAvailable

0:FromState

True

Executing

0:ToState

True

NotAvailable

FromExecutingToOutOfService

0:FromState

True

Executing

0:ToState

True

OutOfService

FromExecutingToNotExecuting

0:FromState

True

Executing

0:ToState

True

NotExecuting

FromNotExecutingToNotAvailable

0:FromState

True

NotExecuting

0:ToState

True

NotAvailable

FromNotExecutingToOutOfService

0:FromState

True

NotExecuting

0:ToState

True

OutOfService

FromNotExecutingToExecuting

0:FromState

True

NotExecuting

0:ToState

True

Executing

FromNotAvailableToNotAvailable

0:FromState

True

NotAvailable

0:ToState

True

NotAvailable

FromOutOfServiceToOutOfService

0:FromState

True

OutOfService

0:ToState

True

OutOfService

FromExecutingToExecuting

0:FromState

True

Executing

0:ToState

True

Executing

FromNotExecutingToNotExecuting

0:FromState

True

NotExecuting

0:ToState

True

NotExecuting