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. All NodeIds of Nodes not defined in this specification shall not use the standard namespaces.
Table 95 provides a list of mandatory and optional namespaces used in an <title> OPC UA Server.
Table 95 – Namespaces used in a <title> Server
NamespaceURI |
Description |
Use |
Namespace for NodeIds and BrowseNames defined in the OPC UA specification. This namespace shall have namespace index 0. |
Mandatory |
|
Local Server URI |
Namespace for nodes defined in the local server. This may include types and instances used in an AutoID Device represented by the Server. This namespace shall have namespace index 1. |
Mandatory |
Namespace for NodeIds and BrowseNames defined in This specification. The namespace index is Server specific. |
Mandatory |
|
Vendor specific types |
A Server may provide vendor-specific types like types derived from ObjectTypes defined in this specification in a vendor-specific namespace. |
Optional |
Vendor specific instances |
A Server provides vendor-specific instances of the standard types or vendor-specific instances of vendor-specific types in a vendor-specific namespace. It is recommended to separate vendor specific types and vendor specific instances into two or more namespaces. |
Mandatory |
Table 96 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 96 – Namespaces used in this specification
NamespaceURI |
Namespace Index |
Example |
0 |
0:EngineeringUnits |
|
|
|
|
This section defines the numeric identifiers for all of the numeric NodeIds defined by the MDIS OPC UA Specification. The identifiers are specified in a CSV file with the following syntax:
<SymbolName>, <Identifier>, <NodeClass>
Where the SymbolName is either the BrowseName of a Type Node or the BrowsePath for an Instance Node that appears in the specification and the Identifier is numeric value for the NodeId.
The BrowsePath for an instance Node is constructed by appending the BrowseName of the instance Node to BrowseName for the containing instance or type. A ‘_’ character is used to separate each BrowseName in the path. For example, OPC UA Part 5 defines the ServerType ObjectType Node which has the NamespaceArray Property. The SymbolName for the NamespaceArray InstanceDeclaration within the ServerType declaration is: ServerType_NamespaceArray. OPC UA Part 5 also defines a standard instance of the ServerType ObjectType with the BrowseName ‘Server’. The BrowseName for the NamespaceArray Property of the standard Server Object is: Server_NamespaceArray.
The CSV associated with this version of the standard can be found here:
http://www.opcfoundation.org/UA/schemas/MDIS/1.2/MDIS.csv
The XML UANodeSet file that is a definition of the InformationModel generated by this specification. The UANodeSet description is available from the OPC Foundation web site (http://www.opcfoundation.org/UA/schemas/MDIS/1.2/OPC.MDIS.NodeSet2.xml) as an XML file. It uses the import/export format defined in OPC UA Part 5. This file can be directly used by a Server that wishes to expose the InformationModel (types) defined in this specification.