Base Node Class |
This topic contains the following sections:
The OPC Unified ArchitectureAddress Space model defines a Base node class from which all other node classes are derived. The derived node classes represent the various components of the OPC Unified Architecture Object Model. There are no references specified for the Base node class.
This section contains the following subsections:
Nodes are unambiguously identified using a constructed identifier called the NodeId. Some servers may accept alternative node identifiers in addition to the canonical NodeId represented in this attribute.
The NodeClass attribute identifies the node class of a node.
Nodes have a BrowseName attribute that is used as a non-localised human-readable name when browsing the Address Space to create paths out of browse names. The TranslateBrowsePathsToNodeIds service described in section Services can be used to follow a path constructed of BrowseName values.
Note |
---|
A BrowseName should never be used to display the name of a node. The DisplayName attribute should be used instead for this purpose. |
Unlike NodeIds, the BrowseName cannot be used to unambiguously identify a node. Different nodes may have the same value of the BrowseName attribute.
Section Standard Data Types describes the structure of the BrowseName. It contains a namespace and a string. The namespace is provided to make the BrowseName unique in some cases in the context of a node (e.g. properties of a node) although not unique in the context of the server. If different organizations define browse names for properties, the namespace of the BrowseName attribute provided by the organization makes the BrowseName value unique, although different organizations may use the same string having a slightly different meaning.
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 local server.
Note |
---|
It is recommended that standard bodies defining standard type definitions use their namespace for the NodeId of the type definition node as well as for the BrowseName of the type definition node. |
The DisplayName attribute contains the localised name of the node. Clients should use this attribute if they want to display the name of the node to the user. They should not use the BrowseName attribute for this purpose. The server may maintain one or more localised representations for each DisplayName. Clients negotiate the locale to be returned when they open a session with the server. Refer to section Services for a description of session establishment and locales.
Note |
---|
The string part of the DisplayName is restricted to 512 characters. |
The optional Description attribute shall explain the meaning of the node in a localised text using the same mechanisms for localisation as described for the DisplayName
The optional WriteMask attribute exposes the possibilities of a client to write the attributes of the node. The WriteMask attribute does not take any user access rights into account, i.e. although an attribute is writeable this may be restricted to a certain user / user group.
If the OPC Unified Architecture server does not have the ability to get the WriteMask information for a specific attribute from the underlying system, it should state that it is writable. If a write operation is called on the attribute, the server should transfer this request and return the corresponding StatusCode if such a request is rejected. StatusCodes are described in section Services.
The WriteMask attribute is a 32-bit unsigned integer. If the bit is set to 0, it means the attribute is not writeable, if it is set to 1 it means it is writable. If a node does not support a specific attribute, the corresponding bit has to be set to 0.
The value attribute is not provided in the bit mask since this is handled in the AccessLevel and UserAccessLevel attributes.
The optional UserWriteMask attribute exposes the possibilities of a client to write the attributes of the node taking user access rights into account. It uses the same bit mask as used in the WriteMask attribute.
The UserWriteMask attribute can only further restrict the WriteMask attribute, when it is set to not writeable in the general case that applies for every user.