An OPC UA Server may contain many Nodes, organized in vendor-specific ways. The OPC UA specification already defines entry points to start browsing instances or types. However, finding specific Nodes might be challenging since they may be managed somewhere inside the hierarchies of Nodes of the OPC UA Server.

This building block provides the capability to easily find all Machines managed in a Server. Figure 8 gives an overview. There is a well-defined Object in the AddressSpace as entry point to browse to Objects representing a Machine.


Figure 8 – Building Block for Finding all Machines in Server

In many cases, Servers will only manage one Machine. For example, if the Server runs on the PLC of a particular Machine. However, Servers can also manage several Machines, for example, in a cell or production line, or a robot system consisting of a controller and a robot, or when aggregating Machines of a factory floor, a factory, or company-wide.

The Machines Object is a standardized entry point to access all Machines managed in the Server and formally defined in Table 22. All Objects representing Machines, that are managed in the Server, shall be referenced directly from this Object with a Reference of ReferenceType Organizes or a subtype of Organizes.

Table 22 – Machines Definition






This object is the entry point to machines managed in the server. All machines are directly referenced by this object.






OrganizedBy by the 0:Objects defined in OPC 10000-5




Defined in OPC 10000-5

In order to identify the referenced Objects as representations of Machines, each of those Objects shall provide the MachineIdentificationType AddIn using the 0:DefaultInstanceBrowseName as a direct sub-component of the Object (referenced with a Reference of ReferenceType 0:HasAddIn or a subtype of it).

The Machines Object shall be referenced from the 0:Objects Object defined in OPC 10000-5 with an Organizes Reference.

Since later versions of this specification might change the parent of this Object, Clients aware of this standardized Object shall not access it via its parent but directly via its standardized NodeId.