8.2 Objects used to organise the AddressSpace structure

8.2.1 Overview

To promote interoperability of clients and Servers, the OPC UA AddressSpace is structured as a hierarchy, with the top levels standardised for all Servers. Figure 1 illustrates the structure of the AddressSpace. All Objects in this figure are organised using Organizes References and have the ObjectType FolderType as type definition.

Figure 1 – Standard AddressSpace structure

The remainder of this provides descriptions of these standard Nodes and the organization of Nodes beneath them. Servers typically implement a subset of these standard Nodes, depending on their capabilities.

8.2.2 Root

This standard Object is the browse entry point for the AddressSpace. It contains a set of Organizes References that point to the other standard Objects. The "Root" Object shall not reference any other NodeClasses. It is formally defined in Table 100.

Table 100 – Root definition
Attribute Value
BrowseNameRoot
References NodeClass BrowseName Comment
HasTypeDefinitionObjectTypeFolderTypeDefined in 6.6
OrganizesObjectViewsDefined in 8.2.3
OrganizesObjectObjectsDefined in 8.2.4
OrganizesObjectTypesDefined in 8.2.5
Conformance Units
Base Info Core Structure 2

8.2.3 Views

This standard Object is the browse entry point for Views. Only Organizes References are used to relate View Nodes to the "Views" standard Object. All View Nodes in the AddressSpace shall be referenced by this Node, either directly or indirectly. That is, the "Views" Object may reference other Objects using Organizes References. Those Objects may reference additional Views. Figure 2 illustrates the Views organization. The "Views" standard Object directly references the Views "View1" and "View2" and indirectly "View3" by referencing another Object called "Engineering".

Figure 2 – Views organization

The "Views" Object shall not reference any other NodeClasses. The "Views" Object is formally defined in Table 101.

Table 101 – Views definition
Attribute Value
BrowseNameViews
References NodeClass BrowseName Comment
HasTypeDefinitionObjectTypeFolderTypeDefined in 6.6
Conformance Units
Base Info Core Views Folder

8.2.4 Objects

This standard Object is the browse entry point for Object Nodes. Figure 3 illustrates the structure beneath this Node. Only Organizes References are used to relate Objects to the "Objects" standard Object. A View Node can be used as entry point into a subset of the AddressSpace containing Objects and Variables and thus the "Objects" Object can also reference View Nodes using Organizes References. The intent of the "Objects" Object is that all Objects and Variables that are not used for type definitions or other organizational purposes (e.g. organizing the Views) are accessible through hierarchical References starting from this Node. However, this is not a requirement, because not all Servers may be able to support this. This Object references the standard Server Object defined in 8.3.2.

Figure 3 – Objects organization

The "Objects" Object is formally defined in Table 102.

Table 102 – Objects definition
Attribute Value
BrowseNameObjects
References NodeClass BrowseName Comment
HasTypeDefinitionObjectTypeFolderTypeDefined in 6.6
OrganizesObjectServerDefined in 8.3.2
OrganizesObjectLocationsDefined in 8.2.12.
Conformance Units
Base Info Core Structure 2

8.2.5 Types

This standard Object Node is the browse entry point for type Nodes. Figure 1 illustrates the structure beneath this Node. Only Organizes References are used to relate Objects to the "Types" standard Object. The "Types" Object shall not reference any other NodeClasses. It is formally defined in Table 103.

Table 103 – Types definition
Attribute Value
BrowseNameTypes
References NodeClass BrowseName Comment
HasTypeDefinitionObjectTypeFolderTypeDefined in 6.6
OrganizesObjectObjectTypesDefined in 8.2.6
OrganizesObjectVariableTypesDefined in 8.2.7
OrganizesObjectReferenceTypesDefined in 8.2.8
OrganizesObjectDataTypesDefined in 8.2.9
OrganizesObjectEventTypesDefined in 8.2.10
OrganizesObjectInterfaceTypesDefined in 8.2.11
Conformance Units
Base Info Core Types Folders

8.2.6 ObjectTypes

This standard Object Node is the browse entry point for ObjectType Nodes. Figure 4 illustrates the structure beneath this Node showing some of the standard ObjectTypes defined in Clause 6. Only Organizes References are used to relate Objects and ObjectTypes to the "ObjectTypes" standard Object. The "ObjectTypes" Object shall not reference any other NodeClasses.

Figure 4 – ObjectTypes organization

The intention of the "ObjectTypes" Object is that all ObjectTypes of the Server are either directly or indirectly accessible browsing HierarchicalReferences starting from this Node. However, this is not required and Servers might not provide some of their ObjectTypes because they may be well-known in the industry, such as the ServerType defined in 6.3.1.

This Object also indirectly references the BaseEventType defined in 6.4.2, which is the base type of all EventTypes. Thereby it is the entry point for all EventTypes provided by the Server. It is required that the Server expose all its EventTypes, so a client can usefully subscribe to Events.

The "ObjectTypes" Object is formally defined in Table 104.

Table 104 – ObjectTypes definition
Attribute Value
BrowseNameObjectTypes
References NodeClass BrowseName Comment
HasTypeDefinitionObjectTypeFolderTypeDefined in 6.6
OrganizesObjectTypeBaseObjectTypeDefined in 6.2
Conformance Units
Base Info Core Types Folders

8.2.7 VariableTypes

This standard Object is the browse entry point for VariableType Nodes. Figure 5 illustrates the structure beneath this Node. Only Organizes References are used to relate Objects and VariableTypes to the "VariableTypes" standard Object. The "VariableTypes" Object shall not reference any other NodeClasses.

Figure 5 – VariableTypes organization

The intent of the "VariableTypes" Object is that all VariableTypes of the Server are either directly or indirectly accessible browsing HierarchicalReferences starting from this Node. However, this is not required and Servers might 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" Object is formally defined in Table 105.

Table 105 – VariableTypes definition
Attribute Value
BrowseNameVariableTypes
References NodeClass BrowseName Comment
HasTypeDefinitionObjectTypeFolderTypeDefined in 6.6
OrganizesVariableTypeBaseVariableTypeDefined in 7.2
Conformance Units
Base Info Core Types Folders

8.2.8 ReferenceTypes

This standard Object is the browse entry point for ReferenceType Nodes. Figure 6 illustrates the organization of ReferenceTypes. Organizes References are used to define ReferenceTypes and Objects referenced by the "ReferenceTypes" Object. The "ReferenceTypes" Object shall not reference any other NodeClasses. See Clause 11 for a discussion of the standard ReferenceTypes that appear beneath the "ReferenceTypes" Object.

Figure 6 – ReferenceType definitions

Since ReferenceTypes will be used as filters in the browse Service and in queries, the Server shall provide all its ReferenceTypes, directly or indirectly following hierarchical References starting from the "ReferenceTypes" Object. This means that, whenever the client follows a Reference, the Server shall expose the type of this Reference in the ReferenceType hierarchy. It shall provide all ReferenceTypes so 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 Server shall expose the ReferenceTypes that the client has not used any Reference of.

The "ReferenceTypes" Object is formally defined in Table 106.

Table 106 – ReferenceTypes definition
Attribute Value
BrowseNameReferenceTypes
References NodeClass BrowseName Comment
HasTypeDefinitionObjectTypeFolderTypeDefined in 6.6
OrganizesReferenceTypeReferencesDefined in 11.1
Conformance Units
Base Info Core Types Folders

8.2.9 DataTypes

This standard Object is the browse entry point for DataTypes that the Server wishes to expose in the AddressSpace.

DataType Nodes should be made available using Organizes References pointing either directly from the "DataTypes" Object to the DataType Nodes or using additional Folder Objects for grouping purposes. The intent is that all DataTypes of the Server exposed in the AddressSpace are accessible following hierarchical References starting from the "DataTypes" Object. However, this is not required.

The "DataTypes" Object is formally defined in Table 107.

Table 107 – DataTypes definition
Attribute Value
BrowseNameDataTypes
References NodeClass BrowseName Comment
HasTypeDefinitionObjectTypeFolderTypeDefined in 6.6
OrganizesDataTypeBaseDataTypeDefined in 12.2
Conformance Units
Base Info Core Types Folders

8.2.10 EventTypes

This standard Object Node is the browse entry point for EventType Nodes. Figure 7 illustrates the structure beneath this Node showing some of the standard EventTypes defined in Clause 6. Only Organizes References are used to relate Objects and ObjectTypes to the "EventTypes" standard Object. The "EventTypes" Object shall not reference any other NodeClasses.

Figure 7 – EventTypes organization

The intention of the "EventTypes" Object is that all EventTypes of the Server are either directly or indirectly accessible browsing HierarchicalReferences starting from this Node. It is required that the Server expose all its EventTypes, so a client can usefully subscribe to Events.

The "EventTypes" Object is formally defined in Table 108.

Table 108 – EventTypes definition
Attribute Value
BrowseNameEventTypes
References NodeClass BrowseName Comment
HasTypeDefinitionObjectTypeFolderTypeDefined in 6.6
OrganizesObjectTypeBaseEventTypeDefined in 6.4.2
Conformance Units
Address Space Events 2

8.2.11 InterfaceTypes

This standard Object Node is the browse entry point for ObjectType Nodes that represent Interfaces. Figure 8 illustrates the structure beneath this Node showing some of the standard ObjectTypes defined in clause 6. Only Organizes References are used to relate Objects and Interfaces to the “InterfaceTypes” standard Object. The “InterfaceTypesObject shall not reference any other NodeClasses.

Figure 8 – InterfaceTypes Organization

The intention of the “InterfaceTypesObject is that all Interfaces of the Server are either directly or indirectly accessible browsing HierarchicalReferences starting from this Node. However, this is not required and Servers might not provide some of their Interfaces because they may be well-known in the industry.

The “InterfaceTypesObject is formally defined in Table 109.

Table 109 – InterfaceTypes definition
Attribute Value
BrowseNameInterfaceTypes
References NodeClass BrowseName Comment
HasTypeDefinitionObjectTypeFolderTypeDefined in 6.6
OrganizesObjectTypeBaseInterfaceTypeDefined in 6.9
Conformance Units
Address Space Interfaces

8.2.12 Locations

This standard Object is the browse entry point for Object Nodes which represent different types of locations. Figure 9 illustrates the structure beneath this Node. Only Organizes References are used to relate Objects.

Figure 9 – Locations organization

The intent of the "Locations" Object is an entry point for different types of locations. The types of locations organize locations.

The "Locations" Object is formally defined in Table 110.

Table 110 – Locations definition
Attribute Value
BrowseNameLocations
References NodeClass BrowseName Comment
HasTypeDefinitionObjectTypeFolderTypeDefined in 6.6
Conformance Units
Base Info Locations Object