Click or drag to resize

Node Model

Home

This topic contains the following sections:

Before objects making up the Address Space have been created by a server, its Address Space must be designed first. To design the Address Space as a runtime Object Model, we need a language describing it in a unique and standard way. This topic provides description of the concept where the elements are represented as nodes in the Address Space. Each node is assigned to a node class and each node represents a different element of the Object Model (see Node Model).

Objects and their components are represented in the Address Space as a set of nodes described by attributes and interconnected by references. Figure 1 illustrates the model and the remainder of this section discusses the details of the Node Model.

AddressSpace Node Model
Figure 1: OPC UA Object Model

Node classes are defined in terms of the attributes and references that shall be assigned (given values) when a node is created in the runtime Address Space Object Model.

Section Standard Node Classes defines a standard set of node classes for the OPC Unified ArchitectureAddress Space. These node classes are referred to collectively as the metadata for the Address Space. Each object in the Address Space is an instance of one of these standard node classes. No other node classes shall be used to define nodes, and as a result, clients and servers are not allowed to define new node classes or extend the definitions of these existing ones.

Attributes

Attributes are data elements that describe nodes. Clients can access attribute values using Read, Write, Query, and Subscription/MonitoredItem Services.

Attributes are elementary components of node classes. Attribute definitions are included as part of the node class definitions in section Standard Node Classes and, therefore, are not included in the Address Space.

Each attribute definition consists of an attribute id, a name, a description, a data type and a mandatory/optional indicator. The set of attributes defined for each node class shall not be extended by clients or servers.

When a node is instantiated in the Address Space, the values of the attributes are provided. The mandatory/optional indicator for the attribute indicates whether the attribute has to be instantiated.

References

References are used to relate nodes to each other. They can be accessed using the browsing and querying defined by the Services.

Like attributes, they are defined as fundamental components of nodes. Unlike attributes, references are defined as instances of ReferenceType nodes. ReferenceType nodes are visible in the Address Space and are defined using the ReferenceType node class.

The node that contains the reference is referred to as the source node and the node that is referenced is referred to as the target node. The combination of the source node, the ReferenceType and the target node are used in Services to uniquely identify references. Thus, each node can reference another node with the same ReferenceType only once. Any subtypes of concrete ReferenceType are considered to be equal to the base concrete ReferenceType when identifying references. Figure 2 illustrates this model of a reference.

Reference Model
Figure 2: Reference Model

The target node of a reference may be in the same Address Space or in the Address Space of another OPC Unified Architecture server. Target nodes located in other servers are identified in Services using a combination of the remote server name and the identifier assigned to the node by the remote server.

OPC Unified Architecture does not require that the target node exists, thus references may point to a node that does not exist.

See Also