IA (Industrial Automation)
| Document | OPC 40001-1 / OPC 10000-200 |
|---|---|
| Version | 1.01.4 |
| Published | 2025-05-23 |
| Namespace | http://opcfoundation.org/UA/IA/ |
| Sector | Cross-industry |
IA is the thin shared layer between DI and the machine-level companion specifications. It is not a model you implement on its own: it exists so that models such as Robotics and the machinery family can reuse common industrial-automation constructs instead of each defining their own. The nodeset is at 1.01.4.
Where it sits in the stack
The stack is DI at the bottom, IA above it, and the domain models above that. Robotics 1.02 is the clearest released consumer of IA, and a Robotics server therefore always loads three nodesets. The practical consequence for an integrator is dependency management: if your client or your server loads a domain model without IA and DI, inherited types cannot be resolved. The model carries a dual identity in the official documentation, which is covered in the note at the end of this page.
The types that matter
| Type | What it carries |
|---|---|
DeviceType | Not an IA type. It is the DI base object type that the IA layer sits above, and the reason a server loading IA also loads Opc.Ua.Di.NodeSet2.xml. |
TopologyElementType | Also from DI. It introduces the ParameterSet, MethodSet and functional-group structure that the layers above IA inherit rather than redefine. |
MotionDeviceSystemType | Not an IA type either: it is the Robotics root object type, listed here because Robotics is the main released model built on IA, so its type hierarchy is where the IA layer becomes visible in practice. |
MachineIdentificationType | From the Machinery namespace. Machine-level identity is provided by Machinery, not by IA, which is a common point of confusion when reading the OPC 40001 numbering. |
Using it on a real machine
- Treat IA as a dependency, not a targetYou do not integrate against IA. You make sure it is loaded, at the version the domain model expects, so the domain model's types resolve.
- Check the namespace listRead NamespaceArray and confirm http://opcfoundation.org/UA/IA/ appears alongside the DI URI and the domain model URI. A missing IA entry with a domain model present is a server configuration bug.
- Load nodesets in dependency orderWhen importing nodesets into a client, a server or a modelling tool, load core, then DI, then IA, then the domain model. Out-of-order loading fails with unresolved references rather than a helpful message.
- Read the type inventory from the nodesetBecause IA is a shared layer with no independent product story, the reliable source for what it defines is Opc.Ua.IA.NodeSet2.xml itself, plus the documentation CSV shipped beside it, which maps every standard NodeId to its spec section and conformance unit.
What it gives you for OEE
Nothing directly. IA carries no state, no counters, no reasons and no order context, and no OEE integration reads from it as a source. Its contribution is indirect but real: it is part of why an OEE client written against MachineToolType and MachineryItemState ports to another vendor's machine, because the shared layer means the domain models are composed from common constructs rather than parallel inventions. Take availability from Machinery or MachineTool, counts from ProductionStatisticsType or PackMLCountDataType, and quality from Machinery Result.
Gotchas
- The dual identity is a documentation trap, not a technical one. The same model is cited as OPC 40001-1 in one official document and as OPC 10000-200 in another, and the reference site versions it differently from the nodeset.
- IA is invisible until it breaks. Symptoms of a missing or wrong-version IA nodeset are unresolved types and undecodable structures on the domain model, which look like problems with the domain model.
- Do not confuse the OPC 40001 number with Machinery. The machinery building blocks and the IA layer are different namespaces with different content, and the numbering does not make that obvious.
- Version 1.01.4 (2025-05-23) followed 1.01.2 in early 2024. Match the IA version to what the domain model was built against rather than always taking the newest.
Once the machine speaks a companion spec, the OEE mapping is portable across vendors, which is the point at which analytics stops being a per-machine project.
See Jemba →Last verified 7 September 2026 against OPC UA 1.05.07. Version and publication date read from the released nodeset. OPC UA Connect is an educational resource and is not affiliated with the OPC Foundation.