To promote interoperability of clients and Servers, the OPC UA AddressSpaceis structured as a hierarchy, with the top levels standardised for all Servers. Figure 1illustrates the structure of the AddressSpace. All Objectsin this figure are organised using Organizes Referencesand have the ObjectType FolderType as type definition.
Figure 1– Standard AddressSpace Structure
The remainder of this provides descriptions of these standard Nodesand the organization of Nodesbeneath them. Serverstypically implement a subset of these standard Nodes, depending on their capabilities.
This standard Objectis the browse entry point for the AddressSpace. It contains a set of Organizes Referencesthat point to the other standard Objects. The “Root” Objectshall not reference any other NodeClasses. It is formally defined in Table 79.
Attribute |
Value |
|||
BrowseName |
Root |
|||
References |
NodeClass |
BrowseName |
Comment |
|
HasTypeDefinition |
ObjectType |
FolderType |
Defined in 6.6 |
|
Organizes |
Object |
Views |
Defined in 8.2.3 |
|
Organizes |
Object |
Objects |
Defined in 8.2.4 |
|
Organizes |
Object |
Types |
Defined in 8.2.5 |
This standard Objectis the browse entry point for Views. Only Organizes Referencesare used to relate View Nodesto the “Views” standard Object. All View Nodesin the AddressSpace shall be referenced by this Node, either directly or indirectly. That is, the “Views” Objectmay reference other Objectsusing Organizes References. Those Objectsmay reference additional Views. Figure 2illustrates the Views Organization. The “Views”standard Objectdirectly references the Views“View1” and “View2” and indirectly “View3” by referencing another Objectcalled “Engineering”.
The “Views” Objectshall not reference any other NodeClasses. The “Views” Objectis formally defined in Table 80.
Attribute |
Value |
|||
BrowseName |
Views |
|||
References |
NodeClass |
BrowseName |
Comment |
|
HasTypeDefinition |
ObjectType |
FolderType |
Defined in 6.6 |
This standard Objectis the browse entry point for Object Nodes. Figure 3illustrates the structure beneath this Node. Only Organizes Referencesare used to relate Objectsto the “Objects” standard Object. A View Nodecan be used as entry point into a subset of the AddressSpacecontaining Objectsand Variablesand thus the “Objects“ Objectcan also reference View Nodes using Organizes References. The intent of the “Objects” Objectis that all Objectsand Variablesthat are not used for type definitions or other organizational purposes (e.g. organizing the Views) are accessible through hierarchical Referencesstarting from this Node. However, this is not a requirement, because not all Serversmay be able to support this. This Objectreferences the standard Server Objectdefined in 8.3.2.
Figure 3– Objects Organization
The “Objects” Objectshall not reference any other NodeClasses. The “Objects” Objectis formally defined in Table 81.
Attribute |
Value |
|||
BrowseName |
Objects |
|||
References |
NodeClass |
BrowseName |
Comment |
|
HasTypeDefinition |
ObjectType |
FolderType |
Defined in 6.6 |
|
Organizes |
Object |
Server |
Defined in 8.3.2 |
This standard Object Nodeis the browse entry point for type Nodes. Figure 1illustrates the structure beneath this Node. Only Organizes Referencesare used to relate Objectsto the “Types” standard Object. The “Types” Objectshall not reference any other NodeClasses. It is formally defined in Table 82.
Attribute |
Value |
|||
BrowseName |
Types |
|||
References |
NodeClass |
BrowseName |
Comment |
|
HasTypeDefinition |
ObjectType |
FolderType |
Defined in 6.6 |
|
Organizes |
Object |
ObjectTypes |
Defined in 8.2.6 |
|
Organizes |
Object |
VariableTypes |
Defined in 8.2.7 |
|
Organizes |
Object |
ReferenceTypes |
Defined in 8.2.8 |
|
Organizes |
Object |
DataTypes |
Defined in 8.2.9 |
|
Organizes |
Object |
EventTypes |
Defined in 8.2.10 |
This standard Object Nodeis the browse entry point for ObjectType Nodes. Figure 4illustrates the structure beneath this Node showing some of the standardObjectTypes defined in 6. Only Organizes Referencesare used to relate Objectsand ObjectTypesto the “ObjectTypes” standard Object. The “ObjectTypes” Objectshall not reference any other NodeClasses.
Figure 4– ObjectTypes Organization
The intention of the “ObjectTypes” Objectis that all ObjectTypesof the Serverare either directly or indirectly accessible browsing HierarchicalReferencesstarting from this Node. However, this is not required and Serversmight not provide some of their ObjectTypesbecause they may be well-known in the industry, such as the ServerType defined in 6.3.1.
This Objectalso indirectly references the BaseEventTypedefined in 6.4.2, which is the base type of all EventTypes. Thereby it is the entry point for all EventTypesprovided by the Server. It is required that the Serverexpose all its EventTypes, so a client can usefully subscribe to Events.
The “ObjectTypes” Objectis formally defined in Table 83.
Table 83– ObjectTypes Definition
Attribute |
Value |
|||
BrowseName |
ObjectTypes |
|||
References |
NodeClass |
BrowseName |
Comment |
|
HasTypeDefinition |
ObjectType |
FolderType |
Defined in 6.6 |
|
Organizes |
ObjectType |
BaseObjectType |
Defined in 6.2 |
This standard Objectis the browse entry point for VariableType Nodes. Figure 5illustrates the structure beneath this Node. Only Organizes Referencesare used to relate Objectsand VariableTypesto the “VariableTypes” standard Object. The “VariableTypes” Objectshall not reference any other NodeClasses.
Figure 5– VariableTypes Organization
The intent of the “VariableTypes” Objectis that all VariableTypesof the Serverare either directly or indirectly accessible browsing HierarchicalReferencesstarting from this Node. However, this is not required and Serversmight not provide some of their VariableTypes, because they may be well-known in the industry, such as the “BaseVariableType” defined in 7.2.
The “VariableTypes” Objectis formally defined in Table 84.
Table 84– VariableTypes Definition
Attribute |
Value |
|||
BrowseName |
VariableTypes |
|||
References |
NodeClass |
BrowseName |
Comment |
|
HasTypeDefinition |
ObjectType |
FolderType |
Defined in 6.6 |
|
Organizes |
VariableType |
BaseVariableType |
Defined in 7.2 |
This standard Objectis the browse entry point for ReferenceType Nodes. Figure 6illustrates the organization of ReferenceTypes. Organizes Referencesare used to define ReferenceTypesand Objectsreferenced by the “ReferenceTypes” Object. The “ReferenceTypes” Objectshall not reference any other NodeClasses. See Clause 11for a discussion of the standard ReferenceTypesthat appear beneath the “ReferenceTypes” Object.
Figure 6– ReferenceType Definitions
Since ReferenceTypeswill be used as filters in the browse Serviceand in queries, the Servershall provide all its ReferenceTypes, directly or indirectly following hierarchical Referencesstarting from the “ReferenceTypes” Object. This means that, whenever the client follows a Reference, the Servershall expose the type of this Reference in the ReferenceTypehierarchy. It shall provide all ReferenceTypesso that the client would be able, following the inverse subtype of References, to come to the base References ReferenceType. It does not mean that the Servershall expose the ReferenceTypesthat the client has not used any Referenceof.
The “ReferenceTypes” Objectis formally defined in Table 85.
Table 85– ReferenceTypes Definition
Attribute |
Value |
|||
BrowseName |
ReferenceTypes |
|||
References |
NodeClass |
BrowseName |
Comment |
|
HasTypeDefinition |
ObjectType |
FolderType |
Defined in 6.6 |
|
Organizes |
ReferenceType |
References |
Defined in 11.1 |
This standard Objectis the browse entry point for DataTypesthat the Serverwishes to expose in the AddressSpace.
DataType Nodesshould be made available using Organizes Referencespointing either directly from the “DataTypes” Objectto the DataType Nodesor using additional Folder Objectsfor grouping purposes. The intent is that all DataTypesof the Serverexposed in the AddressSpaceare accessible following hierarchical Referencesstarting from the “DataTypes” Object. However, this is not required.
The “DataTypes” Objectis formally defined in Table 86.
Table 86– DataTypes Definition
Attribute |
Value |
||||
BrowseName |
DataTypes |
||||
References |
NodeClass |
BrowseName |
Comment |
||
HasTypeDefinition |
ObjectType |
FolderType |
Defined in 6.6 |
||
Organizes |
DataType |
BaseDataType |
Defined in 12.2 |
This standard Object Nodeis the browse entry point for EventType Nodes. Figure 7illustrates the structure beneath this Node showing some of the standardEventTypes defined in Clause 6. Only Organizes Referencesare used to relate Objectsand ObjectTypesto the “EventTypes” standard Object. The “EventTypes” Objectshall not reference any other NodeClasses.
Figure 7– EventTypes Organization
The intention of the “EventTypes” Objectis that all EventTypesof the Serverare either directly or indirectly accessible browsing HierarchicalReferencesstarting from this Node. It is required that the Serverexpose all its EventTypes, so a client can usefully subscribe to Events.
The “EventTypes” Objectis formally defined in Table 87.
Table 87– EventTypes Definition
Attribute |
Value |
|||
BrowseName |
EventTypes |
|||
References |
NodeClass |
BrowseName |
Comment |
|
HasTypeDefinition |
ObjectType |
FolderType |
Defined in 6.6 |
|
Organizes |
ObjectType |
BaseEventType |
Defined in 6.4.2 |