This ObjectType defines the representation of a Ctrl Configuration of a programmable Controller system in an OPC UA Address Space. It introduces Objects to group Ctrl Resources and different types of Ctrl Variables. The CtrlConfigurationType is derived from the TopologyElementType defined in OPC 10000-100. Figure 15 shows the CtrlConfigurationType. It is formally defined in Table 8. The dark grey nodes in the figure are examples and are not part of the ObjectType definition.

image019.png

Figure 15 CtrlConfigurationType Overview

The Ctrl Configuration type is formally defined in Table 8.

Table 8 CtrlConfigurationType Definition

Attribute

Value

BrowseName

CtrlConfigurationType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the TopologyElementType defined in OPC 10000-100, i.e. inheriting the InstanceDeclarations of that Node.

HasComponent

Object

2:MethodSet

BaseObjectType

Optional

HasComponent

Object

Resources

ConfigurableObjectType

Mandatory

HasComponent

Object

GlobalVars

FunctionalGroupType

Optional

HasComponent

Object

AccessVars

FunctionalGroupType

Optional

HasComponent

Object

ConfigVars

FunctionalGroupType

Optional

HasComponent

Object

Configuration

FunctionalGroupType

Optional

HasComponent

Object

Status

FunctionalGroupType

Optional

The CtrlConfigurationType ObjectType is a concrete type and can be used directly. It is recommended to create subtypes for vendor or user specific configurations.

A concrete Ctrl Configuration type or instance may have ParameterSet, Parameters and FunctionalGroups as defined for the TopologyElementType in OPC 10000-100.

The MethodSet Object is defined by the TopologyElementType and is overwritten in the CtrlConfigurationType to add the HasComponent References to the Methods defined for the CtrlConfigurationType.

The Object Resources is used to group Ctrl Resources that are part of the Ctrl Configuration. It uses the concept of configurable Objects defined OPC 10000-100. It contains Objects of the type CtrlResourceType representing a Ctrl Resource and a Folder with possible Ctrl Resource types that can be instantiated in the Ctrl Configuration. For a complete configuration at least one resource is necessary from an IEC 61131-3 point of view but not necessary from an OPC UA point of view. Temporary, incomplete configurations are allowed, e.g. during a configuration process.

The FunctionalGroup GlobalVars contains the corresponding list of Ctrl Variables declared by the key word VAR_GLOBAL.

The FunctionalGroup AccessVars contains the corresponding list of Ctrl Variables declared by the key word VAR_ACCESS.

The FunctionalGroup ConfigVars contains the corresponding list of Ctrl Variables declared by the key word VAR_CONFIG.

The FunctionalGroup Configuration contains configuration Variables and Methods like start and stop.

The FunctionalGroup Status contains diagnostic and status information like system variables, status variables or diagnostic codes.

Starting a Ctrl Configuration causes the initialization of global Ctrl Variables and the start of all Ctrl Resources. Stopping a Ctrl Configuration stops all Ctrl Resources.

The configurable Object Resources of the CtrlConfigurationType is formally defined in Table 9.

Table 9 – Components of the Resources Object

Attribute

Value

BrowseName

Resources

References

NodeClass

BrowseName

TypeDefinition

ModellingRule

HasComponent

Object

<ResourceName>

CtrlResourceType

OptionalPlaceholder

The Methods available as parts of the CtrlConfigurationType are formally defined in Table 10.

Table 10 – Components of the CtrlConfigurationType MethodSet

Attribute

Value

BrowseName

MethodSet

References

NodeClass

BrowseName

Description

ModellingRule

Configuration FunctionalGroup

The following components are also referenced from the FunctionalGroup Configuration using Organizes References.

HasComponent

Method

Start

This Met hod is used to start a Ctrl Configuration. Only the browse name is defined for this Method. The Method parameters are vendor specific.

Optional

HasComponent

Method

Stop

This Met hod is used to stop a Ctrl Configuration. Only the browse name is defined for this Method. The Method parameters are vendor specific.

Optional

This ObjectType defines the representation of a Crtl Resources of a programmable Controller system in an OPC UA Address Space. It introduces Objects to group Configuration and Diagnostic capabilities, GlobalVars and Ctrl Programs executed under the control of Tasks. The CtrlResourceType is derived from the DeviceType defined in OPC 10000-100. Figure 16 shows the CtrlResourceType. It is formally defined in Table 11. The dark grey node in the figure is an example and is not part of the ObjectType definition.

image020.png

Figure 16 CtrlResourceType Overview

The Ctrl Resource ObjectType is formally defined in Table 11.

Table 11 CtrlResourceType Definition

Attribute

Value

BrowseName

CtrlResourceType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the DeviceType defined in OPC 10000-100, i.e. inheriting the InstanceDeclarations of that Node.

HasComponent

Object

2:MethodSet

BaseObjectType

Optional

HasComponent

Object

Tasks

ConfigurableObjectType

Mandatory

HasComponent

Object

Programs

ConfigurableObjectType

Mandatory

HasComponent

Object

GlobalVars

FunctionalGroupType

Optional

HasComponent

Object

Configuration

FunctionalGroupType

Optional

HasComponent

Object

Status

FunctionalGroupType

Optional

The CtrlResourceType ObjectType is a concrete type and can be used directly. It is recommended to create subtypes for vendor or user specific resources.

A concrete Ctrl Resource type or instance may have ParameterSet, Parameters and FunctionalGroups as defined for the TopologyElementType in OPC 10000-100.

The MethodSet Object is defined by the TopologyElementType and is overwritten in the CtrlResourceType to add the HasComponent References to the Methods defined for the CtrlResourceType.

The Object Tasks is used to group Ctrl Tasks that are part of the Ctrl Resource. It uses the concept of configurable Objects defined OPC 10000-100. It contains Objects of the type CtrlTaskType representing a Ctrl Resource and a Folder with possible Ctrl Task types that can be instantiated in the Ctrl Resource.

The configurable Object Programms is used to group Ctrl Programs that are part of the Ctrl Resource. It contains Objects of the type CtrlTaskType representing a Ctrl Resource and a Folder with possible Ctrl Program types that can be instantiated in the Ctrl Resource.

The FunctionalGroup GlobalVars contains the corresponding list of GlobalVars that may be accessed in the programmable Controller system within the scope of the Ctrl Resource.

The FunctionalGroup Configuration contains configuration Variables and Methods like start and stop.

The FunctionalGroup Status contains diagnostic and status information like system variables, system events or diagnostic codes.

The configurable Object Tasks of the CtrlResourceType is formally defined in Table 12.

Table 12 – Components of the Tasks Object

Attribute

Value

BrowseName

Tasks

References

NodeClass

BrowseName

TypeDefinition

ModellingRule

HasComponent

Object

<TaskName>

CtrlTaskType

OptionalPlaceholder

The configurable Object Programs of the CtrlResourceType is formally defined in Table 13.

Table 13 – Components of the Programs Object

Attribute

Value

BrowseName

Programs

References

NodeClass

BrowseName

TypeDefinition

ModellingRule

HasComponent

Object

<ProgramName>

CtrlProgramType

OptionalPlaceholder

The Methods available as parts of the CtrlResourceType are formally defined in Table 14.

Table 14 – Components of the CtrlResourceType MethodSet

Attribute

Value

BrowseName

MethodSet

References

NodeClass

BrowseName

Description

ModellingRule

Configuration FunctionalGroup

The following components are also referenced from the FunctionalGroup Configuration using Organizes References.

HasComponent

Method

Start

This Met hod is used to start a Ctrl Resource. Only the browse name is defined for this Method. The Method parameters are vendor specific.

Optional

HasComponent

Method

Stop

This Met hod is used to stop a Ctrl Resource. Only the browse name is defined for this Method. The Method parameters are vendor specific.

Optional

This ObjectType defines the representation of a Ctrl Program Organization Unit of a programmable Controller system in an OPC UA Address Space. It defines how components of the Ctrl Program Organization Unit like Variables and Ctrl Function Blocks are represented. The CtrlProgramOrganizationUnitType is derived from the BlockType defined in OPC 10000-100. Figure 17 shows the CtrlProgramOrganizationUnitType. It is formally defined in Table 15.

image021.png

Figure 17 CtrlProgramOrganizationUnitType Overview

The Ctrl Program Organization Unit ObjectType is formally defined in Table 15.

Table 15 CtrlProgramOrganizationUnitType Definition

Attribute

Value

BrowseName

CtrlProgramOrganizationUnitType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BlockType defined in OPC 10000-100, i.e. inheriting the InstanceDeclarations of that Node.

HasSubtype

ObjectType

CtrlProgramType

Defined in Clause 7.4

HasSubtype

ObjectType

CtrlFunctionBlock Type

Defined in Clause 7.5

With

Object

<TaskName>

CtrlTaskType

OptionalPlaceholder

HasInputVar

Variable

<VarInputName>

BaseDataType

BaseDataVariableType

OptionalPlaceholder

HasOutputVar

Variable

<VarOutputName>

BaseDataType

BaseDataVariableType

OptionalPlaceholder

HasInOutVar

Variable

<VarInOutName>

BaseDataType

BaseDataVariableType

OptionalPlaceholder

HasLocalVar

Variable

<VarLocalName>

BaseDataType

BaseDataVariableType

OptionalPlaceholder

HasExternalVar

Variable

<VarExternalName>

BaseDataType

BaseDataVariableType

OptionalPlaceholder

HasLocalVar

Object

<BlockName>

CtrlFunctionBlockType

OptionalPlaceholder

HasComponent

Variable

Body

XmlElement

BaseDataVariableType

Optional

HasComponent

Object

<SFCName>

SFCType

OptionalPlaceholder

The CtrlProgramOrganizationUnitType ObjectType is abstract. It is the common base type for all Ctrl Program Organization Unit specific types.

The With Reference defined in 8.7 is used to reference the Ctrl Task that is used to execute the Ctrl Program Organization Unit.

Variables declared for a Ctrl Program Organization Unit type are referenced with different subtypes of the HasComponent Reference. The used Reference type depends on the IEC 61131-3 variable declaration keywords. The characteristics of the Variables like data type and access rights and their mapping from IEC 61131-3 information and key words is defined in chapter 9. The name of the Variable depends on the Variable name in the Ctrl Program Organization Unit.

Variables declared with the key word VAR_INPUT are referenced with HasInputVar defined in 8.2.

Variables declared with the key word VAR_OUTPUT are referenced with HasOutputVar defined in 8.3.

Variables declared with the key word VAR_IN_OUT are referenced with HasInOutVar defined in 8.4.

Variables declared with the key word VAR are referenced with HasLocalVar defined in 8.5.

Variables declared with the key word VAR_EXTERNAL are referenced with HasExternalVar defined in 8.6.

Ctrl Function Blocks declared with the key word VAR are referenced with HasLocalVar defined in 8.5. The name of the Object depends on the name of the block in the Ctrl Program Organization Unit.

The Variable Body contains the body of the Ctrl Program Organisation Unit as XmlElement.

Sequential function charts (SFC) declared in the Ctrl Program Organisation Unit are represented as Objects of the type SFCType defined in chapter 7.7.

This ObjectType defines the representation of a Ctrl Program of a programmable Controller system in an OPC UA Address Space. It is derived from CtrlProgramOrganizationUnitType and introduces additional Variables in addition to the components of the base type. Figure 18 shows the CtrlProgramType. It is formally defined in Table 16.

image022.png

Figure 18 CtrlProgramType Overview

The Ctrl Program ObjectType is formally defined in Table 16.

Table 16 CtrlProgramType Definition

Attribute

Value

BrowseName

CtrlProgramType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the CtrlProgramOrganizationUnitType defined in 7.3, i.e. inheriting the InstanceDeclarations of that Node.

HasComponent

Variable

Program

Structure

BaseDataVariableType

Optional

The CtrlProgramType ObjectType is abstract. There will be no instances of a CtrlProgramType itself, but there will be instances of subtypes of this type like instances of vendor or user specific Ctrl Programs.

The Program Variable component contains the complete Ctrl Program data in a complex Variable.

This ObjectType defines the representation of a Ctrl Function Blocks of a programmable Controller system in an OPC UA Address Space. It is derived from CtrlProgramOrganizationUnitType and introduces Ctrl Function Block specific components in addition to the components of the base type. Figure 19 shows the CtrlFunctionBlockType. It is formally defined in Table 17.

image023.png

Figure 19 CtrlFunctionBlockType Overview

The CtrlFunctionBlock ObjectType is formally defined in Table 17.

Table 17 CtrlFunctionBlockType Definition

Attribute

Value

BrowseName

CtrlFunctionBlockType

IsAbstract

True

References

NodeClass

BrowseName

TypeDefinition

ModellingRule

Inherit the Properties and components of the CtrlProgramOrganizationUnitType

HasInputVar

Object

<FunctionBlockInputName>

CtrlFunctionBlockType

OptionalPlaceholder

HasOutputVar

Object

<FunctionBlockOutputName>

CtrlFunctionBlockType

OptionalPlaceholder

HasInOutVar

Object

<FunctionBlockInOutName>

CtrlFunctionBlockType

OptionalPlaceholder

HasComponent

Variable

FunctionBlock

BaseDataVariableType

Optional

The CtrlFunctionBlockType ObjectType is abstract. There will be no instances of a CtrlFunctionBlockType itself, but there will be instances of subtypes of this type like instances of vendor or user specific Ctrl Function Blocks.

Ctrl Function Block instances declared for a Ctrl Function Block type are referenced with different subtypes of the HasComponent Reference. The used Reference type depends on the IEC 61131-3 declaration keywords. The name of the Object depends on the name of the block in the Ctrl Function Block.

Ctrl Function Block instances declared with the key word VAR_INPUT are referenced with HasInputVar defined in 8.2.

Ctrl Function Block instances declared with the key word VAR_OUTPUT are referenced with HasOutputVar defined in 8.3.

Ctrl Function Block instances declared with the key word VAR_IN_OUT are referenced with HasInOutVar defined in 8.4.

The FunctionBlock Variable component contains the complete Ctrl Function Block data in a complex Variable. The DisplayName for the Variable is FunctionBlock.

This ObjectType defines the representation of a Ctrl Task of a programmable Controller system in an OPC UA Address Space. It introduces Properties providing information about the Ctrl Task. Figure 20 shows the CtrlTaskType. It is formally defined in Table 18.

image024.png

Figure 20 CtrlTaskType Overview

The Ctrl Task ObjectType is formally defined in Table 18.

Table 18 CtrlTaskType Definition

Attribute

Value

BrowseName

CtrlTaskType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseObjectType defined in OPC 10000-5, i.e. inheriting the InstanceDeclarations of that Node.

HasProperty

Variable

Priority

UInt32

PropertyType

Mandatory

HasProperty

Variable

Interval

String

PropertyType

Optional

HasProperty

Variable

Single

String

PropertyType

Optional

The Priority Property indicates the scheduling priority of the associated Ctrl Program Organization Unit.

The Interval Property indicates the periodical scheduling of the associated Ctrl Program Organization Unit at the specified interval.

The Single Property indicates a single scheduling of the associated Ctrl Program Organization Unit at each rising edge.

The SFC ObjectType is formally defined in Table 19. This type is a container for Sequential Function Chart (SFC) related information. The representation of this information is vendor specific. Future versions of this specification may define standard representations.

Table 19 – SFCType Definition

Attribute

Value

BrowseName

SFCType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseObjectType defined in OPC 10000-5, i.e. inheriting the InstanceDeclarations of that Node.