Course C1 · Industrial

Companion specifications

A companion specification is what turns integration from a per-machine project into something portable. This course works up the real stack (DI, Machinery, MachineTool, PackML, Weihenstephan) and shows how to tell in thirty seconds what a machine actually implements.

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

What you will be able to do

  • You can read a server's capability codes and know which companion specs it claims.
  • You can check a machine's types against MachineToolType or PackMLMachineStateMachineType.
  • You can map a machine onto the Machinery building blocks.
  • You can tell a semantic integration from tag-scraping before you quote the work.

Syllabus

  1. 1
    Understand what a companion spec buys you

    The same integration written against a type and against a raw tag address, and what happens to each when the next machine arrives from a different vendor.

    Asset Two integrations of the same OEE calculation, one portable and one not

    8 min
  2. 2
    Read a server's capability codes in thirty seconds

    The ServerCapabilities short codes: DA, HD, AC, HE, DI, PACKML, S95, MTC and the rest. The fastest possible read on what a plant's server claims.

    Asset Capability codes from four real servers, decoded, with what each implies for the project

    8 min
  3. 3
    Start at DI, the base of everything

    Part 100: DeviceType, the identification nameplate, and the lock service. Every device model builds on this.

    Asset A DI-compliant device browsed, with every nameplate field read

    8 min
  4. 4
    Use the Machinery building blocks

    MachineIdentificationType, MachineryItemState, OperationMode, and the operation and lifetime counters. The single most important layer for machine data.

    Asset The Machines folder on the umati server with the building blocks browsed on a real machine

    9 min
  5. 5
    Separate item state from operation mode

    The distinction that decides whether your OEE can tell planned downtime from a breakdown, and the most common modelling error in the whole field.

    Asset A state and mode timeline for one shift, with the OEE computed correctly and incorrectly

    9 min
  6. 6
    Go deep on MachineTool

    ProductionStatisticsType, the production state machines, tool life, and the monitoring types.

    Asset A MachineTool instance on opc.tcp://opcua.umati.app:4840 with its statistics and state machines read

    9 min
  7. 7
    Use MachineTool condition classes as reason codes

    ToolBreakage, PartMissing, Clamping, ProcessIrregularity and the rest, a standardised downtime taxonomy that arrives as timestamped events.

    Asset Condition class events captured from a machine, mapped to a downtime reason report

    8 min
  8. 8
    Read the MachineTool prognosis family

    Prognoses tell you why the machine is about to stop, before it does. Almost no OEE system consumes this today.

    Asset Prognosis nodes read from a MachineTool instance, with what each predicts

    7 min
  9. 9
    Work with PackML

    The ISA-88 seventeen-state machine, PackMLCountDataType, and the Admin object that is effectively a pre-built OEE dataset, which is why PackML lines are the easiest wins.

    Asset The seventeen states with the transitions, plus an Admin object dump mapped to OEE terms

    9 min
  10. 10
    Work with Weihenstephan

    The food and beverage equivalent, its PackML lineage, and what transfers between them.

    Asset A side-by-side mapping of Weihenstephan and PackML state machines

    7 min
  11. 11
    Use umati as your test bench

    Not a specification but the adoption vehicle: a free public server implementing several machinery specs, plus a dashboard client that republishes as MQTT.

    Asset The umati sample server and dashboard client running locally, with the MQTT output

    7 min
  12. 12
    Audit a vendor's claim

    What to do when a supplier says 'we support OPC UA': the browse, the type check, the optional-node check, and the four questions to put in writing.

    Asset An audit checklist applied to a real machine, with the gaps it found

    7 min

Lab

Free account required

On opc.tcp://opcua.umati.app:4840, find a MachineTool instance, confirm its type definition, and extract everything you would need for availability and part counts. List what is missing.

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 Machine Data → OEE Mapping Kit
Which nodes to subscribe to, how they become Availability, Performance and Quality, and which companion specification already gives you the answer, so you stop inventing tags.
Get the free mapping kit →
Free, no course, no login