Glossary · Address space

Object

In OPC UA, an Object is the NodeClass that structures the address space: it holds no value of its own but groups Variables, Methods and other Objects, and can act as an event notifier. Every Object has a HasTypeDefinition reference to an ObjectType that says what it is.

What an Object carries

Beyond the attributes every node has, an Object adds only EventNotifier - a bitmask saying whether it produces events, and whether its history of events can be read or written. Its substance is entirely in its references: HasComponent to child Objects, Variables and Methods, HasProperty to metadata Variables, HasTypeDefinition to its type, and Organizes if it also appears in a folder hierarchy.

Folders are Objects too

The ObjectsFolder at i=85, the TypesFolder at i=86 and every folder a vendor creates are Objects of type FolderType, which is why the address space looks like a filesystem in a browse tree and is not one. A folder is distinguished only by its type definition and by using Organizes for its children rather than HasComponent.

Instances of information models

In a companion-specification server the interesting Objects are typed instances: a MachineToolType Object under a Machines folder, with a DI Identification Object beneath it and a MachineryItemState state machine alongside. A client that browses for Objects with a specific HasTypeDefinition target - the pattern the umati dashboard client uses - finds every machine on a server without knowing any plant-specific naming.

Example

A small typed instance tree as a browse tree would show it

Objects                       (i=85, Object, FolderType)
 +- Machines                  (Object, FolderType)          Organizes
     +- Mixer_01              (Object, MixerType)           Organizes
         +- Identification    (Object, MachineIdentificationType)   HasComponent
         |   +- SerialNumber   (Variable, String)                   HasProperty
         |   +- Manufacturer   (Variable, LocalizedText)            HasProperty
         +- Temperature       (Variable, AnalogItemType)     HasComponent
         +- Start             (Method)                       HasComponent
         +- MachineryItemState (Object, state machine)        HasComponent

Mixer_01 -> HasTypeDefinition -> MixerType   (ObjectType, in the TypesFolder)
The mistake people make: Assuming an Object has a value because a client shows it in a data-oriented tree. Objects have no Value attribute, so a Read of AttributeId Value returns BadAttributeIdInvalid and a MonitoredItem on it never reports. If you want the state of a machine represented by an Object, subscribe to a Variable beneath it, or to its events.

Defined in: Part 3 - Address Space Model, Object NodeClass and the EventNotifier attribute.

Last verified 7 September 2026 against OPC UA 1.05.07. OPC UA Connect is an educational resource and is not affiliated with the OPC Foundation.

Free download
OPC UA Server Acceptance Test Pack
A 40-check acceptance test you run against a vendor's server before commissioning sign-off. Weighted scoring, three hard gates, and a one-page verdict for the supplier meeting.
Get the free test pack →
Free, no course, no login