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.
| Lessons | 12 |
|---|---|
| Time | about 96 minutes |
| Prerequisites | A2 |
| Cost | Free: 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
Understand what a companion spec buys you8 min
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
-
2
Read a server's capability codes in thirty seconds8 min
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
-
3
Start at DI, the base of everything8 min
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
-
4
Use the Machinery building blocks9 min
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
-
5
Separate item state from operation mode9 min
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
-
6
Go deep on MachineTool9 min
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
-
7
Use MachineTool condition classes as reason codes8 min
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
Read the MachineTool prognosis family7 min
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
-
9
Work with PackML9 min
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
-
10
Work with Weihenstephan7 min
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
-
11
Use umati as your test bench7 min
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
-
12
Audit a vendor's claim7 min
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
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 →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.