OPC UA Companion Specs for OEE: Machinery, PackML and More
Key takeaways
- A companion specification is a shared OPC UA data model for one kind of machine.
- With one, machines from different builders show their state and counts in the same way.
- For OEE, three matter most: OPC UA for Machinery (40001), PackML on OPC UA (30050) and OPC 30060.
- A spec still leaves gaps: the ideal cycle time and the planned or unplanned split come from the plant.
- Ask machine builders which companion specs they support before you buy.
OPC UA moves values from a machine to a client. A companion specification says what those values mean, the same way for every machine of one kind. For OEE that saves a lot of tag hunting, because state, counts and faults sit in known places.
Fabrico, OEE and light MES software with AI cameras, connects a machine through its PLC, a Fabrico IoT device or an AI camera. Where a machine offers OPC UA, a companion specification makes the connection quicker to agree with Fabrico's technical team.
What is an OPC UA companion specification?
OPC UA, also known as IEC 62541, is a platform-independent standard for secure, reliable data exchange. Its data is an address space of nodes linked by references. Servers publish type definitions, so a client can read what a value means, not only the number.
A companion specification builds on that. An industry group and the OPC Foundation agree one model for a type of machine. It fixes which nodes the machine has, what they are called and what each state means. A filler from one builder and a filler from another then answer the same questions in the same way.
The OPC Foundation lists them, for robotics, weighing and many other machine types. Our OPC UA guide covers the base standard.
Which companion specifications matter for OEE?
| Specification | Number | What it gives OEE |
|---|---|---|
| OPC UA for Machinery | OPC 40001 | A common machine state: NotAvailable, OutOfService, NotExecuting, Executing |
| PackML on OPC UA | OPC 30050 | Packaging machine states and PackTags, a tag set built with OEE in mind |
| OPC 30060 | OPC 30060 | A model that targets OEE, downtime and root causes per machine and per line |
| Machine tools | OPC 40501 | States, job orders and counts for machine tools |
OPC UA for Machinery was published with VDMA, the German machine builders' association. Its four states draw a useful line. OutOfService means a technical reason inside the machine, such as a breakdown. NotExecuting means the machine waits for an outside reason, such as starvation, a changeover or no order.
PackML, published as ANSI/ISA-TR88.00.02, is the state model most packaging lines know. Our guide to the PackML state model lists its states.
What can a companion spec not give you?
A 2024 study by the University of Stuttgart and Fraunhofer IAO tested this. It tried to compute ISO 22400-2 OEE from OPC 40001 and 40501 data alone. Job order state, good quantity and produced quantity could be read directly. But three gaps remained:
- No maintenance indicator in either specification.
- The ideal cycle time could only be estimated.
- The split between setup and production time could not be read reliably, because it is decided later, in the MES.
So the machine tells you it stopped. A person or the MES tells you why, and whether the stop was planned.
Worked example: one line, mixed machines
Sample line (illustrative numbers, not a customer). A packaging line has 8 machines from 5 builders. Three of them support a companion specification; five do not.
| Machines | How they are read | Mapping work |
|---|---|---|
| 3 with a companion spec | Standard nodes for state and counts | One template, then about 1 hour of checks each = 3 hours |
| 5 without | Custom PLC tags, found one by one | 1 to 4 hours each = 5 to 20 hours |
| Line total | 8 to 23 hours, before network work |
The three standard machines take about the same effort as one custom machine. If the plant's next filler purchase includes a companion spec, the next line gets cheaper to connect.
Some data still comes from the plant on every machine: the ideal speed per SKU, the shift calendar and the stop reasons the operator confirms.
What should you ask machine builders?
- Which OPC UA companion specifications does this machine support, and which version?
- Which nodes give the machine state, the counts and the active fault?
- Can we have a read-only user account for the OEE system?
- Which security modes and policies does the OPC UA server offer?
- Is the information model documented, and can our controls team see it before delivery?
Put these questions in the purchase spec for new machines. They cost nothing to ask and save hours on every line. Our guide to OPC UA for OEE shows how the data is used once it arrives.
Where does Fabrico fit?
Fabrico is a computer vision enabled Manufacturing Performance Platform. OEE and light MES come first, read from whatever signal each machine offers.
- Automatic downtime logging from PLC tags, OPC UA, IoT devices or cameras.
- The operator confirms the reason in one tap, filling the gap a companion spec leaves.
- OEE live by line and shift, with every loss priced in money.
- A pilot on one line, so the connection is proven before it is copied.
Connection details for each plant are agreed with Fabrico's technical team. There is no free plan and there are no tiers: each plant gets a quote. See the product on the computer vision OEE page.
Frequently asked questions
What is an OPC UA companion specification?
It is a shared data model for one type of machine, built on OPC UA. It fixes which nodes the machine offers, what they are called and what their values mean. Machines from different builders that support the same spec can then be read in the same way.
Which companion specification fits packaging machines?
PackML on OPC UA, published as OPC 30050, is the usual one for packaging. It carries the PackML states and the PackTags tag set, which was built so OEE can be computed the same way on any builder's machine.
Does OPC UA for Machinery give you OEE directly?
Not on its own. It gives a common machine state with four values, which helps split breakdowns from waiting. OEE also needs counts, an ideal cycle time and a planned production plan. The plant or the MES supplies the last two.
Can you compute OEE from OPC UA data alone?
Not fully. A 2024 study found that state and quantities could be read, but the ideal cycle time could only be estimated. The split between setup and production time also could not be read reliably. Those come from the plant's own data and the MES.
Where can you find the list of companion specifications?
The OPC Foundation publishes them, with their numbers and versions, on its online reference. Search there for your machine type. Then ask the machine builder which version their machine supports, because older machines may support an earlier one or none.
Check your machines' OPC UA support with us
Bring your line's machine list and builders. We will show how each one connects and what its stops cost.
Latest from our blog

Real Fabrico tiles, sample data.





