![]() |
High Performance OPC UA Server SDK
1.1.1.177
|
Description of OPC UA node classes.
The base node class can not be used directly. It specifies the attributes available in all node classes.
The following attributes are available for each node class.
Attribute | Use | DataType | Description |
---|---|---|---|
NodeId | Mandatory | NodeId | Uniquely identifies a Node in an OPC UA server and is used to address the Node in the OPC UA Services |
NodeClass | Mandatory | NodeClass | An enumeration identifying the NodeClass of a Node such as Object, Variable or Method |
BrowseName | Mandatory | QualifiedName | Identifies the Node when browsing the OPC UA server. It is not localized |
DisplayName | Mandatory | LocalizedText | Contains the Name of the Node that should be used to display the name in a user interface. Therefore, it is localized |
Description | Optional | LocalizedText | This optional Attribute contains a localized textual description of the Node |
WriteMask | Optional | UInt32 | Is optional and specifies which Attributes of the Node are writable, i.e., can be modified by an OPC UA client |
UserWriteMask | Optional | UInt32 | Is optional and specifies which Attributes of the Node can be modified by the user currently connected to the server |
The Object node class is used to represent systems, system components, real-world objects and software objects.
The following attribute is specific for the Object node class:
Attribute | Use | DataType | Description |
---|---|---|---|
Contains all attributes of the Base Node Class | |||
EventNotifier | Mandatory | Byte | This Attribute represents a bit mask that identifies whether the Object can be used to subscribe to Events and whether the history of Events is accessible and changeable |
The Variable node class is used to represent the content of an Object. Variables provide real data and thus the number of attributes is higher.
The following attributes are specific for the Variable node class:
Attribute | Use | DataType | Description |
---|---|---|---|
Contains all attributes of the Base Node Class | |||
Value | Mandatory | Base Data Type | The actual value of the Variable. The data type of the value is specified by the DataType, ValueRank, and ArrayDimensions Attributes |
DataType | Mandatory | NodeId | DataTypes are represented as Nodes in the Address Space. This Attribute contains a NodeId of such a Node and thus defines the DataType of the Value Attribute |
ValueRank | Mandatory | Int32 | Identifies if the value is an array and when it is an array it allows specifying the dimensions of the array |
ArrayDimensions | Optional | UInt32[] | This optional Attribute allows specifying the size of an array and can only be used if the value is an array. For each dimension of the array a corresponding entry defines the length of the dimension |
AccessLevel | Mandatory | Byte | A bit mask indicating whether the current value of the Value Attribute is readable and writable as well as whether the history of the value is readable and changeable |
UserAccessLevel | Mandatory | Byte | Contains the same information as the AccessLevel but takes user access rights into account |
MinimumSamplingInterval | Optional | Double | This optional Attribute provides the information how fast the OPC UA server can detect changes of the Value Attribute. For Values not directly managed by the server, e.g., the temperature of a temperature sensor, the server may need to scan the device for changes (polling) and thus is not able to detect changes faster than this minimum interval |
Historizing | Mandatory | Boolean | Indicates whether the server currently collects history for the Value. The AccessLevel Attribute does not provide that information, it only specifies whether some history is available |
The Method node class is used to represent a Method in the server address space.
The following attributes are specific for the Method node class.
Attribute | Use | DataType | Description |
---|---|---|---|
Contains all attributes of the Base Node Class | |||
Executable | Mandatory | Boolean | A flag indicating if the Method can be invoked at the moment |
UserExecutable | Mandatory | Boolean | Same as the Executable Attribute taking user access rights into account |
The ReferenceType node class is used to represent the type of references used by the server.
The following attributes are specific for the ReferenceType node class:
Attribute | Use | DataType | Description |
---|---|---|---|
Contains all attributes of the Base Node Class | |||
IsAbstract | Mandatory | Boolean | Specifies if the ReferenceType can be used for References or is only used for organizational purposes in the ReferenceType hierarchy |
Symmetric | Mandatory | Boolean | Indicates whether the Reference is symmetric, i.e., whether the meaning is the same in forward and inverse direction |
InverseName | Optional | LocalizedText | This optional Attribute specifies the semantic of the Reference in inverse direction. It can only be applied for nonsymmetric References and must be provided if such a ReferenceType is not abstract |
The ObjectType node class is used represents a type node for objects in the server address space. ObjectTypes are similar to a classes in object oriented languages.
The following attribute is specific for the ObjectType node class.
Attribute | Use | DataType | Description |
---|---|---|---|
Contains all attributes of the Base Node Class | |||
IsAbstract | Mandatory | Boolean | This Attribute indicates whether the ObjectType is concrete or abstract and therefore cannot directly be used as type definition |
The VariableType node class is used represents a type node for variables in the server address space. VariableType are typically used to define which properties are available on the Variable instance.
The following attributes are specific for the VariableType node class:
Attribute | Use | DataType | Description |
---|---|---|---|
Contains all attributes of the Base Node Class | |||
Value | Optional | Base Data Type | This optional Attribute defines a default value for instances of this VariableType. The data type of the value is specified by the DataType, ValueRank, and ArrayDimensions Attributes |
DataType | Mandatory | NodeId | Defines the DataType of the Value Attribute for instances of this type as well as for the Value Attribute of the VariableType if provided |
ValueRank | Mandatory | Int32 | Identifies if the value is an array and when it is an array it allows specifying the dimensions of the array |
ArrayDimensions | Optional | UInt32[] | This optional Attribute allows specifying the size of an array and can only be used if the value is an array. For each dimension of the array a corresponding entry defines the length of the dimension |
IsAbstract | Mandatory | Boolean | This Attribute indicates if the VariableType is abstract and therefore cannot directly be used as type definition |
All DataTypes are represented as Nodes of the NodeClass DataType in the Address Space.
The following attribute is specific for the DataType node class:
Attribute | Use | DataType | Description |
---|---|---|---|
Contains all attributes of the Base Node Class | |||
IsAbstract | Mandatory | Boolean | Indicates whether the DataType is abstract. An abstract DataType can be used in the DataType Attribute. However, concrete values must be of a concrete DataType |
A View is used to restrict the number of visible Nodes and References in a large Address Space. By using Views servers can organize their Address Space and provide views on it tailored to specific tasks or use cases.
The following attributes are specific for the View node class:
Attribute | Use | DataType | Description |
---|---|---|---|
Contains all attributes of the Base Node Class | |||
ContainsNoLoops | Mandatory | Boolean | This Attributes indicates whether the Nodes contained in the View do span a nonlooping hierarchy when following hierarchical References |
EventNotifier | Mandatory | Byte | This Attribute represents a bit mask that identifies whether the View can be used to subscribe to Events and whether the history of Events is accessible and changeable |
The next chapter describes the OPC UA NodeId Concepts.