Course B2 · Build

Information modelling

Anyone can expose tags. Modelling is what makes a server understandable to a client that has never seen it. This course covers modelling rules, interfaces, custom structures, authoring NodeSet2 XML, compiling it, and publishing it.

Lessons12
Timeabout 96 minutes
PrerequisitesA3
CostFree: written lessons open, video and labs need a free account

What you will be able to do

  • You can design a type hierarchy instead of a folder of tags.
  • You can author and compile a NodeSet2 file of your own.
  • You can expose a custom structure that a generic client can decode.
  • You can export a live server's address space and work against it offline.

Syllabus

  1. 1
    Model types, not instances

    Why an ObjectType with three instances beats three folders of tags, and what a client can do with the type that it cannot do with the folder.

    Asset The same three pumps modelled both ways, browsed side by side

    8 min
  2. 2
    Apply modelling rules

    Mandatory, Optional and the placeholder rules. What a client may assume, and the failure when it assumes an optional node exists.

    Asset A type with mandatory and optional members, and two instances that differ

    8 min
  3. 3
    Use interfaces

    Multiple inheritance for capabilities. How the Machinery building blocks use interfaces, and why that is what makes them composable.

    Asset A node implementing two interfaces, with both sets of members browsed

    8 min
  4. 4
    Define a custom structure

    DataTypeDefinition, field order, and the encoding a client needs to decode it.

    Asset A custom struct exposed by a server and decoded by a generic client, with the raw ExtensionObject

    9 min
  5. 5
    Survive the legacy type dictionary

    Servers that offer only a binary type dictionary, clients that support only DataTypeDefinition, and the undecoded ExtensionObject that results.

    Asset The same struct read by two clients, one of which fails to decode it

    8 min
  6. 6
    Handle unions and optional fields

    Where custom-struct decoding actually breaks, and how to model so it does not.

    Asset A union and an optional-field struct with the wire encoding of each written out

    7 min
  7. 7
    Author a NodeSet2 file

    The XML that every companion specification ships as. Structure, namespaces, aliases and references.

    Asset A complete, valid NodeSet2 file for a small machine type, from scratch

    10 min
  8. 8
    Compile a model

    UA-ModelCompiler as a dotnet global tool, its inputs and outputs, and the errors it gives you.

    Asset A model compiled with UA-ModelCompiler, including one deliberate error and its message

    8 min
  9. 9
    Load a model at runtime

    Importing a nodeset into a running server, and what happens to namespace indexes when you do.

    Asset A nodeset imported at runtime, with NamespaceArray before and after

    8 min
  10. 10
    Export a live address space

    NodeSet export from a running server so you can work offline and diff between firmware versions.

    Asset Two exports of the same machine after a firmware change, with the diff

    7 min
  11. 11
    Publish to the UA Cloud Library

    What the library is for, its REST and Swagger surface, and when to publish rather than keep local.

    Asset A model uploaded and retrieved through the UA Cloud Library API

    7 min
  12. 12
    Model for the consumer, not the PLC

    The habits that make a model useful downstream: stable identifiers, real units, honest ranges, and states as state machines rather than integers.

    Asset A review checklist applied to a real vendor model, with the eight problems it finds

    8 min

Lab

Free account required

Author a NodeSet2 file for a two-station machine with identification, a state machine and a counter, compile it, load it into a local server, and browse it with UaExpert.

Unlock the lab →
Specification background

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