Inherits IComparable, IFormattable, and ICloneable.
|
| NodeId (uint id) |
| Creates a node id. More...
|
|
| NodeId (uint id, ushort namespaceIndex) |
| Creates a node id. More...
|
|
| NodeId (string id, ushort namespaceIndex) |
| Creates a node id. More...
|
|
| NodeId (Guid id, ushort namespaceIndex) |
| Creates a node id. More...
|
|
| NodeId (byte[] id, ushort namespaceIndex) |
| Creates a node id. More...
|
|
| NodeId (IdType idType, object id, ushort namespaceIndex) |
| Creates a node id. More...
|
|
object | Clone () |
| Creates a deep copy of the object. More...
|
|
override bool | Equals (object obj) |
| Returns true if the object is equal to the instance. More...
|
|
override int | GetHashCode () |
| Returns a hash code for the instance. More...
|
|
int | CompareTo (object obj) |
| Compares the instance to another object. More...
|
|
override string | ToString () |
| Formats the object as a string. More...
|
|
string | ToString (string format, IFormatProvider formatProvider) |
| Formats the object as a string. More...
|
|
string | Format () |
| Formats a node id as a string. More...
|
|
void | Format (StringBuilder buffer) |
| Formats the node ids as string and adds it to the buffer. More...
|
|
|
static new bool | Equals (object value1, object value2) |
| Determines whether the specified System.Object, is equal to this instance. More...
|
|
static void | Format (StringBuilder buffer, object identifier, IdType identifierType, ushort namespaceIndex) |
| Formats the node ids as string and adds it to the buffer. More...
|
|
static NodeId | Parse (string text) |
| Parses the specified text and returns a node id. More...
|
|
static NodeId | Parse (string text, NamespaceTable currentNamespaces, NamespaceTable targetNamespaces) |
| Parses a node id string, translates any namespace indexes and returns the result. More...
|
|
static | operator NodeId (uint id) |
| Converts a uint to a Nodeid. More...
|
|
static implicit | operator ExpandedNodeId (NodeId id) |
| Converts a node id to an expanded node id. More...
|
|
static | operator NodeId (ExpandedNodeId id) |
| Converts an expanded node id to a node id. More...
|
|
static bool | IsNull (NodeId nodeId) |
| Returns true if the node id is a NULL node id. More...
|
|
static bool | IsNull (ExpandedNodeId nodeId) |
| Returns true if the node id is a NULL node id. More...
|
|
static ExpandedNodeId | ToAbsoluteNodeId (NodeId nodeId, StringTable namespaceUris) |
| Converts the NodeId to an absolute node id. More...
|
|
static bool | operator== (NodeId node1, NodeId node2) |
| Implements the operator ==. More...
|
|
static bool | operator!= (NodeId node1, NodeId node2) |
| Implements the operator !=. More...
|
|
Represents a node id.
The NodeId data type is a structure with the following elements:
Name | Type | Description |
namespaceIndex | UInt16 | The index for a namespace URI used in an OPC UA server |
identifierType | enum | The format and data type of the identifier |
identifier | * | The identifier for a node in the address space of an OPC UA server |
The namespace is a URI that identifies the naming authority responsible for assigning the identifier element of the NodeId. Naming authorities include the local server, the underlying system, standards bodies, and consortia. It is expected that most nodes will use the URI of the server or of the underlying system.
Using a namespace URI allows multiple OPC UA servers attached to the same underlying system to use the same identifier to identify the same object. This enables clients that connect to those Servers to recognise Objects that they have in common. The namespace URI is case sensitive. Namespace URIs are identified by numeric values in OPC UA services to permit more efficient transfer and processing (e.g. table lookups). The numeric values used to identify namespaces correspond to the index into the NamespaceArray. The NamespaceArray is a variable that is part of the Server object in the address space.
The URI for the OPC UA namespace is “http://opcfoundation.org/UA/”. Its corresponding index in the namespace table is 0.
The following IdentifierTypes are available:
Value | Description |
OpcUa_IdentifierType_Numeric | Numeric value |
OpcUa_IdentifierType_String | String value |
OpcUa_IdentifierType_Guid | Globally Unique Identifier |
OpcUa_IdentifierType_Opaque | Namespace specific format in a ByteString |
Normally the scope of NodeIds is the server in which they are defined. For certain types of NodeIds, NodeIds can uniquely identify a Node within a system, or across systems (e.g. GUIDs). System-wide and globally-unique identifiers allow clients to track Nodes, such as work orders, as they move between OPC UA servers as they progress through the system.
String identifiers are case sensitive. That is, clients shall consider them case sensitive. Servers are allowed to provide alternative NodeIds and using this mechanism severs can handle NodeIds as case insensitive.
The identifier value element is used within the context of the first two elements to identify a node. Its data type and format is defined by the identifierType.
Identifier values of IdentifierType STRING are restricted to 4096 characters. Identifier values of IdentifierType OPAQUE are restricted to 4096 bytes.
A null NodeId has special meaning. For example, many services define special behaviour if a null NodeId is passed as a parameter. A node in the address space cannot have a null NodeId.