A UANode is an abstract base type for all Nodes. It defines the base set of Attributes and the References. There are subtypes for each NodeClass defined in OPC 10000-4. Each of these subtypes defines XML elements and attributes for the OPC UA Attributes specific to the NodeClass. The fields in the UANode type are defined in Table F.2.
Element |
Type |
Description |
NodeId |
NodeId |
|
BrowseName |
QualifiedName |
A QualifiedName serialized as a String with the form: <namespace index>:<name> Where the NamespaceIndex refers to the NamespaceUris table. |
SymbolicName |
String |
A symbolic name for the Node that can be used as a class/field name in auto generated code. It should only be specified if the BrowseName cannot be used for this purpose. This field does not appear in the AddressSpace and is intended for use by design tools. Only letters, digits or the underscore (‘_’) are permitted and the first character shall be a letter. |
WriteMask |
WriteMask |
The value of the WriteMask Attribute. |
UserWriteMask |
WriteMask |
Not used. Kept in schema for backward compatibility. |
AccessRestrictions |
AccessRestriction |
The AccessRestrictions that apply to the Node. This attribute is optional. If not specified the AccessRestrictions for the Model are applied. |
DisplayName |
LocalizedText [] |
A list of DisplayNames for the Node in different locales. There shall be only one entry per locale. |
Description |
LocalizedText [] |
The list of the Descriptions for the Node in different locales. There shall be only one entry per locale. |
Category |
String [] |
A list of ConformanceUnits associated with the Node. The ConformanceUnits are specified by the authors of the UANodeSet. This list allows users of the UANodeSet to exclude Nodes based on a selection of ConformanceUnits. When a UAInstance has the ParentNodeId specified, the UAInstance inherits the ConformanceUnits from its parent in addition to any ConformanceUnits explicitly specified on the instance. |
Documentation |
String |
Additional non-localized documentation for use by tools that create/edit UANodeSet files. |
ReleaseStatus |
ReleaseStatus |
An enumeration specifying the release status for the UANode. Valid values are: Released: The type is released. Changes require errata; Draft: The type is draft and subject to change; Deprecated: The type should not be used; This field is for use on UATypes and static UAInstances. The field shall not be specified for UAInstances that are InstanceDeclarations. |
References |
Reference [] |
The list of References for the Node. |
RolePermissions |
RolePermission [] |
The list of RolePermissions for the Node. If the list is not specified or has zero length the default RolePermissions from the Model are used unless HasNoPermissions is TRUE. |
HasNoPermissions |
Boolean |
If TRUE, the UANode has no RolePermissions and the contents of the RolePermissions array and the default RolePermissions for the model are ignored. The default value is FALSE. |
Extensions |
xs:any [] |
An element containing a list of vendor defined extensions to the UANode. |
The Extensions are free form XML data that can be used to attach vendor defined data to the UANode.
Array values are denoted with [], however, in the XML Schema arrays are mapped to a complex type starting with the ‘ListOf’ prefix.
A UANodeSet is expected to contain many UANodes which reference each other. Tools that create UANodeSets should not add Reference elements for both directions in order to minimize the size of the XML file. Tools that read the UANodeSets shall automatically add reverse references unless reverse references are not appropriate given the ReferenceType semantics. HasTypeDefinition and HasModellingRule are two examples where it is not appropriate to add reverse references.
When a UANodeSet is the normative definition for the Nodes defined by a specification then the RolePermissions are the minimum requirements. Implementors may add additional Roles that have privileges equivalent to the Roles specified, however, they may not make the Node more accessible. For example, Anonymous or AuthenticatedUser Roles shall not be granted more access to the Node than is specified in this field.
Similarly, the AccessRestrictions are the minimum required. For example, a Node that has the EncryptionRequired AccessRestriction specified shall not have that restriction removed, however, additional restrictions may be added by the implementor.
Note that a UANodeSet represents a collection of Nodes in an address space. This implies that any instances shall include the fully inherited InstanceDeclarationHierarchy as defined in OPC 10000-3.