12 Profiles and Namespaces

12.1 Namespace Metadata

Table 37 defines the namespace metadata for this specification. The Object is used to provide version information for the namespace and an indication about static Nodes. Static Nodes are identical for all Attributes in all Servers, including the Value Attribute. See Part5 for more details.

The information is provided as Object of type NamespaceMetadataType. This Object is a component of the Namespaces Object that is part of the Server Object. The NamespaceMetadataType ObjectType and its Properties are defined in OPC 10000-5.

The version information is also provided as part of the ModelTableEntry in the UANodeSet XML file. The UANodeSet XML schema is defined in OPC 10000-6.

Table 37 – NamespaceMetadata Object for this Specification
Attribute Value
BrowseNamehttp://PLCopen.org/OpcUa/IEC61131-3/
References BrowseName DataType Value
HasPropertyNamespaceUriStringhttp://PLCopen.org/OpcUa/IEC61131-3/
HasPropertyNamespaceVersionString1.02
HasPropertyNamespacePublicationDateDateTime2020-11-25
HasPropertyIsNamespaceSubsetBooleanVendor-specific
HasPropertyStaticNodeIdTypesIdType[]{Numeric}
HasPropertyStaticNumericNodeIdRangeNumericRange[]
HasPropertyStaticStringNodeIdPatternString

12.2 Conformance Units and Profiles

This chapter defines the corresponding Profiles and Conformance Units for the OPC UA Information Model for IEC61131-3. Profiles are named groupings of Conformance Units. Facets are Profiles that will be combined with other Profiles to define the complete functionality of an OPC UA Server or Client.

12.3 Server Facets

The following tables specify the Facets available for Servers that implement the IEC 61131-3 Information Model companion specification.

Table 38 defines Conformance Units included in the minimum needed facet. It requires the support for profile BaseDevice Server Facet defined in OPC 10000-100. It is used together with the Embedded 2017 UA Server profile or the Standard 2017 UA Server profile defined in OPC 10000-7.

A server supporting all data types including complex data types must support the ComplexType Server Facet defined in OPC 10000-7.

Table 38 – Controller Operation Server Facet Definition
Conformance Unit Description

Optional/

Mandatory

Ctrl DeviceSetSupport the full component hirarchy with Ctrl Configuration, Ctrl Resource, Ctrl Program and Ctrl FunctionBlock below the DeviceSet Object defined in OPC 10000-100.M
Ctrl ConfigurationSupport vendor defined Ctrl Configuration object types and object instances.M
Ctrl ResourceSupport vendor defined Ctrl Resource object types and object instancesM
Ctrl ProgramSupport user defined Ctrl Program object types and object instances.M
Ctrl FunctionBlockSupport user defined Ctrl FunctionBlock object types and object instances.M
Ctrl TaskSupport of Ctrl Task objects.O
Ctrl ReferencesSupport of reference types specified in the IEC 61131-3 Information Model companion standard.O
Profile
BaseDevice_Server_Facet (defined in OPC 10000-100)M

Table 39 defines a facet for the support of the engineering information defined in the IEC 61131-3 Information Model. The Controller Engineering Server Facet requires the Controller Operation Server Facet.

Table 39 – Controller Engineering Server Facet Definition
Conformance Unit Description

Optional/

Mandatory

Ctrl Engineering DataSupport to provide all engineering data defined in this specification like properties describing data types.M
Ctrl Engineering ChangeSupport of engineering data changes through OPC UAO
Ctrl Type CreationSupport of type node creation through NodeManagement Services to create Ctrl Program Organization Unit declarations.O
Profile
Controller Operation Server FacetM

12.4 Client Facets

The following tables specify the Facets available for Clients that implement the IEC61131-3 Information Model companion specification.

Table 40 defines a facet available for Clients that implement the IEC 61131-3 Information Model standard. Servers implementing the Controller Engineering Server Facet may use this facet to restrict the engineering features to clients supporting this Client facet.

Table 40 – Controller Engineering Client Facet Definition
Conformance Unit Description

Optional/

Mandatory

Ctrl Client Information ModelConsume objects that conform to the types specified in the IEC 61131-3 Information Model companion standard. M
Ctrl Client Engineering DataConsume engineering data defined in the IEC 61131-3 Information Model companion standard like properties describing data types.M
Ctrl Client Engineering ChangeUse engineering data changes through OPC UAO
Ctrl Type CreationUse type node creation through NodeManagement Services to create Ctrl Program Organization Unit declarations.O
Profile

12.5 Handling of OPC UA Namespaces

Namespaces are used by OPC UA to create unique identifiers across different naming authorities. The Attributes NodeId and BrowseName are identifiers. A Node in the UA AddressSpace is unambiguously identified using a NodeId. Unlike NodeIds, the BrowseName cannot be used to unambiguously identify a Node. Different Nodes may have the same BrowseName. They are used to build a browse path between two Nodes or to define a standard Property.

Servers may often choose to use the same namespace for the NodeId and the BrowseName. However, if they want to provide a standard Property, its BrowseName shall have the namespace of the standards body although the namespace of the NodeId reflects something else, for example the EngineeringUnits Property. Another example shown in Figure 30 is the ParameterSet and the GlobalVars object components of a Ctrl Resource instance. The ParameterSet node BrowseName shall use the OPC DI namespace and the GlobalVars node BrowseName shall use the namespace defined by this specification. All NodeIds of Nodes not defined in this specification shall not use the standard namespaces and are typically using the same namespace like the Ctrl Resource object instance, for example local server.

Table 41 provides a list of mandatory and optional namespaces used in a Controller Server.

Table 41 – Namespaces used in a Controller Server
NamespaceURI Description Use
http://opcfoundation.org/UA/Namespace for NodeIds and BrowseNames defined in the OPC UA specification. This namespace shall have namespace index 0.Mandatory
Local Server URINamespace for nodes defined in the local server. This may include types and instances used in a Ctrl Resource represented by the server. This namespace shall have namespace index 1.Mandatory
http://opcfoundation.org/UA/DI/Namespace for NodeIds and BrowseNames defined in OPC 10000-100. The namespace index is server specific.Mandatory
http://PLCopen.org/OpcUa/IEC61131-3/Namespace for NodeIds and BrowseNames defined in this specification. The namespace index is server specific.Mandatory
http://PLCopen.org/OpcUa/IEC61131-3/FB/A server may provide IEC or PLCopen defined Ctrl Function Block libraries.Optional
User defined types and instances in a Ctrl ResourceA server that provides access to different Ctrl Resources may provide a separate namespace for each Ctrl Resources if it is required to create unique identifiers across Ctrl Resources.Optional
Vendor specific typesA server may provide vendor specific types like types derived from Ctrl Configuration or Ctrl Resource in a vendor specific namespace.Optional
Global user defined libraryA server may provide global user defined Ctrl Function Block libraries in a user specific namespace.Optional

Figure 30 shows an example for the use of namespaces in NodeIds and BrowseNames.

Figure 30 – Example for the use of namespaces in NodeIds and BrowseNames

Table 42 provides a list of namespaces and their index used for BrowseNames in this specification. The default namespace of this specification is not listed since all BrowseNames without prefix use this default namespace.

Table 42 – Namespaces used in this specification
NamespaceURI Namespace Index Example
http://opcfoundation.org/UA/00:EngineeringUnits
http://opcfoundation.org/UA/DI/22:DeviceRevision