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.

image004.png

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.

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 “RootObject shall not reference any other NodeClasses. It is formally defined in Table 79.

Table 79 – Root Definition

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 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 “ViewsObject 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”.

image005.png

Figure 2 – Views Organization

The “ViewsObject shall not reference any other NodeClasses. The “ViewsObject is formally defined in Table 80.

Table 80 – Views Definition

Attribute

Value

BrowseName

Views

References

NodeClass

BrowseName

Comment

HasTypeDefinition

ObjectType

FolderType

Defined in 6.6

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 “ObjectsObject can also reference View Nodes using Organizes References. The intent of the “ObjectsObject 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.

image006.png

Figure 3 – Objects Organization

The “ObjectsObject shall not reference any other NodeClasses. The “ObjectsObject is formally defined in Table 81.

Table 81 – Objects Definition

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 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 “TypesObject shall not reference any other NodeClasses. It is formally defined in Table 82.

Table 82 – Types Definition

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 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 6. Only Organizes References are used to relate Objects and ObjectTypes to the “ObjectTypes” standard Object. The “ObjectTypesObject shall not reference any other NodeClasses.

image007.png

Figure 4 – ObjectTypes Organization

The intention of the “ObjectTypesObject 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 “ObjectTypesObject is 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 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 “VariableTypesObject shall not reference any other NodeClasses.

image008.png

Figure 5 – VariableTypes Organization

The intent of the “VariableTypesObject 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 “VariableTypesObject is 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 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 “ReferenceTypesObject. The “ReferenceTypesObject shall not reference any other NodeClasses. See Clause 11 for a discussion of the standard ReferenceTypes that appear beneath the “ReferenceTypesObject.

image009.png

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 “ReferenceTypesObject. 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 “ReferenceTypesObject is 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 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 “DataTypesObject is 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 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 “EventTypesObject shall not reference any other NodeClasses.

image010.png

Figure 7 – EventTypes Organization

The intention of the “EventTypesObject 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 “EventTypesObject is 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