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.
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> |
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 |
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.
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> |
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> |
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 |
|
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.
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.
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.
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.
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. |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|