The MachineIdentificationType is defined in OPC UA for Machinery (OPC 40001-1) and provides basic information on a machine/device.

For the InstanceDeclaration the ModellingRules of the Properties Model and DeviceClass are overridden to mandatory and the Property ControllerName is added.

The Object MachineryBuildingBlocks contains building blocks from OPC UA for Machinery as defined in OPC 40001-1. For this version of OPC 40084-1, the Object uses the two AddIns MachineryItemState and MachineryOperationMode, where for the first a sub-state machine with substates for Executing is added.

Table 2 – ExtrusionDeviceType Additional Subcomponents

BrowsePath

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

2:Identification

0:HasProperty

Variable

2:Model

0:LocalizedText

0:PropertyType

M, RO

2:Identification

0:HasProperty

Variable

2:DeviceClass

0:String

0:PropertyType

M, RO

2:Identification

0:HasProperty

Variable

ControllerName

0:String

0:PropertyType

M, RO

4:MachineryBuildingBlocks

0:HasAddIn

Object

2:Identification

4:MachineIdentificationType

M

4:MachineryBuildingBlocks

0:HasAddIn

Object

4:MachineryItemState

ExtrusionMachineryItemState_StateMachineType

M

4:MachineryBuildingBlocks

0:HasAddIn

Object

4:MachineryOperationMode

4:MachineryOperationModeStateMachineType

M

The ControllerName Property represents the name of the machine controller (e.g. “CP22xx”).

For this specification the MachineryItemState defined in OPC UA for Machinery is extended by a SubStateMachine for the State Executing.

image009.png

Figure 4 – Extended MachineryItemState

For this, the ExtrusionMachineryItemState_StateMachineType is defined in Table 3.

Table 3 – ExtrusionMachineryItemState_StateMachineType definition

Attribute

Value

BrowseName

ExtrusionMachineryItemState_StateMachineType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of 4:MachineryItemState_StateMachineType defined in OPC UA for Machinery

0:HasProperty

Variable

0:DefaultInstanceBrowseName

0:QualifiedName

0:PropertyType

0:HasComponent

Object

4:NotAvailable

0:StateType

0:HasComponent

Object

4:OutOfService

0:StateType

0:HasComponent

Object

4:Executing

0:StateType

0:HasComponent

Object

4:NotExecuting

0:StateType

0:HasComponent

Object

4:FromNotAvailableToOutOfService

0:TransitionType

0:HasComponent

Object

4:FromNotAvailableToNotExecuting

0:TransitionType

0:HasComponent

Object

4:FromNotAvailableToExecuting

0:TransitionType

0:HasComponent

Object

4:FromNotAvailableToNotAvailable

0:TransitionType

0:HasComponent

Object

4:FromOutOfServiceToNotAvailable

0:TransitionType

0:HasComponent

Object

4:FromOutOfServiceToNotExecuting

0:TransitionType

0:HasComponent

Object

4:FromOutOfServiceToExecuting

0:TransitionType

0:HasComponent

Object

4:FromOutOfServiceToOutOfService

0:TransitionType

0:HasComponent

Object

4:FromNotExecutingToNotAvailable

0:TransitionType

0:HasComponent

Object

4:FromNotExecutingToOutOfService

0:TransitionType

0:HasComponent

Object

4:FromNotExecutingToExecuting

0:TransitionType

0:HasComponent

Object

4:FromNotExecutingToNotExecuting

0:TransitionType

0:HasComponent

Object

4:FromExecutingToNotAvailable

0:TransitionType

0:HasComponent

Object

4:FromExecutingToOutOfService

0:TransitionType

0:HasComponent

Object

4:FromExecutingToNotExecuting

0:TransitionType

0:HasComponent

Object

4:FromExecutingToExecuting

0:TransitionType

0:HasComponent

Object

4:ExtrusionExecutingSubState

ExtrusionExecutingSubState_StateMachineType

M

The InstanceDeclarations of the ExtrusionMachineryItemState_StateMachineType have additional Attribute values defined in Table 4

Table 4 – ExtrusionMachineryItemState_StateMachineType Attribute Values for Child Nodes

BrowsePath

Value Attribute

Description Attribute

0:DefaultInstanceBrowseName

MachineryItemState

The default BrowseName for instances of the type

4:NotAvailable

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

4:OutOfService

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

4: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

4:Executing

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

4:FromNotAvailableToOutOfService

Transition from state NotAvailable to state OutOfService

4:FromNotAvailableToNotExecuting

Transition from state NotAvailable to state NotExecuting

4:FromNotAvailableToExecuting

Transition from state NotAvailable to state Executing

4:FromNotAvailableToNotAvailable

Transition from state NotAvailable to state NotAvailable

4:FromOutOfServiceToNotAvailable

Transition from state OutOfService to state NotAvailable

4:FromOutOfServiceToNotExecuting

Transition from state OutOfService to state NotExecuting

4:FromOutOfServiceToExecuting

Transition from state OutOfService to state Executing

4:FromOutOfServiceToOutOfService

Transition from state OutOfService to state OutOfService

4:FromNotExecutingToNotAvailable

Transition from state NotExecuting to state NotAvailable

4:FromNotExecutingToOutOfService

Transition from state NotExecuting to state OutOfService

4:FromNotExecutingToExecuting

Transition from state NotExecuting to state Executing

4:FromNotExecutingToNotExecuting

Transition from state NotExecuting to state NotExecuting

4:FromExecutingToNotAvailable

Transition from state Executing to state NotAvailable

4:FromExecutingToOutOfService

Transition from state Executing to state OutOfService

4:FromExecutingToNotExecuting

Transition from state Executing to state NotExecuting

4:FromExecutingToExecuting

Transition from state Executing to state Executing

4:NotAvailable

0:StateNumber

0

4:OutOfService

0:StateNumber

1

4:NotExecuting

0:StateNumber

2

4:Executing

0:StateNumber

3

4:FromNotAvailableToOutOfService

0:TransitionNumber

0

4:FromNotAvailableToExecuting

0:TransitionNumber

1

4:FromNotAvailableToNotExecuting

0:TransitionNumber

2

4:FromOutOfServiceToNotAvailable

0:TransitionNumber

3

4:FromOutOfServiceToExecuting

0:TransitionNumber

4

4:FromOutOfServiceToNotExecuting

0:TransitionNumber

5

4:FromExecutingToNotAvailable

0:TransitionNumber

6

4:FromExecutingToOutOfService

0:TransitionNumber

7

4:FromExecutingToNotExecuting

0:TransitionNumber

8

4:FromNotExecutingToNotAvailable

0:TransitionNumber

9

4:FromNotExecutingToOutOfService

0:TransitionNumber

10

4:FromNotExecutingToExecuting

0:TransitionNumber

11

4:FromNotAvailableToNotAvailable

0:TransitionNumber

12

4:FromOutOfServiceToOutOfService

0:TransitionNumber

13

4:FromExecutingToExecuting

0:TransitionNumber

14

4:FromNotExecutingToNotExecuting

0:TransitionNumber

15

The components of the ExtrusionMachineryItemState_StateMachineType have additional References which are defined in Table 5. As extension to the MachineryItemState_StateMachineType the State Executing gets an additional reference to the ExtrusionExecutingSubState.

Table 5 – ExtrusionMachineryItemState_StateMachineType Additional Reference

SourceBrowsePath

Reference Type

Is Forward

TargetBrowsePath

4:FromNotAvailableToOutOfService

0:FromState

True

4:NotAvailable

0:ToState

True

4:OutOfService

4:FromNotAvailableToExecuting

0:FromState

True

4:NotAvailable

0:ToState

True

4:Executing

4:FromNotAvailableToNotExecuting

0:FromState

True

4:NotAvailable

0:ToState

True

4:NotExecuting

4:FromOutOfServiceToNotAvailable

0:FromState

True

4:OutOfService

0:ToState

True

4:NotAvailable

4:FromOutOfServiceToExecuting

0:FromState

True

4:OutOfService

0:ToState

True

4:Executing

4:FromOutOfServiceToNotExecuting

0:FromState

True

4:OutOfService

0:ToState

True

4:NotExecuting

4:FromExecutingToNotAvailable

0:FromState

True

4:Executing

0:ToState

True

4:NotAvailable

4:FromExecutingToOutOfService

0:FromState

True

4:Executing

0:ToState

True

4:OutOfService

4:FromExecutingToNotExecuting

0:FromState

True

4:Executing

0:ToState

True

4:NotExecuting

4:FromNotExecutingToNotAvailable

0:FromState

True

4:NotExecuting

0:ToState

True

4:NotAvailable

4:FromNotExecutingToOutOfService

0:FromState

True

4:NotExecuting

0:ToState

True

4:OutOfService

4:FromNotExecutingToExecuting

0:FromState

True

4:NotExecuting

0:ToState

True

4:Executing

4:FromNotAvailableToNotAvailable

0:FromState

True

4:NotAvailable

0:ToState

True

4:NotAvailable

4:FromOutOfServiceToOutOfService

0:FromState

True

4:OutOfService

0:ToState

True

4:OutOfService

4:FromExecutingToExecuting

0:FromState

True

4:Executing

0:ToState

True

4:Executing

4:FromNotExecutingToNotExecuting

0:FromState

True

4:NotExecuting

0:ToState

True

4:NotExecuting

4:Executing

0:HasSubStateMachine

True

ExtrusionExecutingSubState

The ExtrusionExecutingSubState_StateMachineType is used for a SubStateMachine which divides the Executing State into ReadyToRun, ManualRun and ControlledRun. This SubStateMachine is not active if the parent State Executing is not active. In this case the CurrentState and LastTransition Variables of the ExtrusionExecutingSubState state machine shall have a status equal to Bad_StateNotActive.

Table 6 – ExtrusionExecutingSubState_StateMachineType

Attribute

Value

BrowseName

ExtrusionExecutingSubState_StateMachineType

IsAbstract

False

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:HasComponent

Object

ReadyToRun

0:StateType

0:HasComponent

Object

ManualRun

0:StateType

0:HasComponent

Object

ControlledRun

0:StateType

0:HasComponent

Object

FromReadyToRunToManualRun

0:TransitionType

0:HasComponent

Object

FromManualRunToReadyToRun

0:TransitionType

0:HasComponent

Object

FromReadyToRunToControlledRun

0:TransitionType

0:HasComponent

Object

FromControlledRunToReadyToRun

0:TransitionType

0:HasComponent

Object

FromManualRunToControlledRun

0:TransitionType

0:HasComponent

Object

FromControlledRunToManualRun

0:TransitionType

Conformance Units

Extrusion Device

The difference between NotExecuting and ReadyToRun is that in he state NotExecuting also the heating is switched off and in the state ReadyToRun it is switched on (but no movement of the screw).

The InstanceDeclaration of the ExtrusionExecutionSubState_StateMachineType has additional Attribute values defined in Table 7.

Table 7 – ExtrusionExecutingSubState_StateMachineType Attribute Values for Child Nodes

SourceBrowsePath

Value

Description

ReadyToRun

Component is not running but able to start immediately (e.g. heating is switched on, set temperatures have been reached)

ManualRun

Component is running with manually set parameters

ControlledRun

Component is running with controlled parameters

FromReadyToRunToManualRun

Transition from state ReadyToRun to state ManualRun

FromManualRunToReadyToRun

Transition from state ManualRun to state ReadyToRun

FromReadyToRunToControlledRun

Transition from state ReadyToRun to state ControlledRun

FromControlledRunToReadyToRun

Transition from state ControlledRun to state ReadyToRun

FromManualRunToControlledRun

Transition from state ManualRun to state ControlledRun

FromControlledRunToManualRun

Transition from state ControlledRun to state ManualRun

ReadyToRun

0:StateNumber

0

ManualRun

0:StateNumber

1

ControlledRun

0:StateNumber

2

FromReadyToRunToManualRun

0:TransitionNumber

0

FromManualRunToReadyToRun

0:TransitionNumber

1

FromReadyToRunToControlledRun

0:TransitionNumber

2

FromControlledRunToReadyToRun

0:TransitionNumber

3

FromManualRunToControlledRun

0:TransitionNumber

4

FromControlledRunToManualRun

0:TransitionNumber

5

The components of the ExtrusionExecutingSubState_StateMachineType have additional References which are defined in Table 8.

Table 8 – ExtrusionExecutingSubState_StateMachineType Additional References

SourceBrowsePath

Reference Type

Is Forward

TargetBrowsePath

FromReadyToRunToManualRun

0:FromState

True

ReadyToRun

0:ToState

True

ManualRun

FromManualRunToReadyToRun

0:FromState

True

ManualRun

0:ToState

True

ReadyToRun

FromReadyToRunToControlledRun

0:FromState

True

ReadyToRun

0:ToState

True

ControlledRun

FromControlledRunToReadyToRun

0:FromState

True

ControlledRun

0:ToState

True

ReadyToRun

FromManualRunToControlledRun

0:FromState

True

ManualRun

0:ToState

True

ControlledRun

FromControlledRunToManualRun

0:FromState

True

ControlledRun

0:ToState

True

ManualRun