ISA-95 (legacy)
| Document | - |
|---|---|
| Version | 1.00 |
| Published | 2013-11-06 |
| Namespace | http://www.OPCFoundation.org/UA/2013/01/ISA95 |
| Sector | MES interface |
The original OPC UA ISA-95 nodeset is version 1.00, published 2013-11-06, and it has not moved since. It is documented here so you can recognise it and stop using it: new MES integration should target ISA-95 Job Control V2, published 2024-01-31, which is where the live work went.
Where it sits in the stack
This model predates the entire Machinery building-block stack, the DI revisions it would now be layered on, and the DataTypeDefinition mechanism that modern clients use to decode structures. Its namespace URI is the giveaway, because it carries a 2013 date and an unusual capitalised host form, http://www.OPCFoundation.org/UA/2013/01/ISA95, unlike the http://opcfoundation.org/UA/ pattern every later model uses. The successor work is ISA-95 Job Control V2 plus a separately published common object model. If you find this namespace on a plant server, you are almost always looking at a long-lived gateway or historian configuration rather than a current product.
Using it on a real machine
- Identify it from NamespaceArray, not from documentationRead NamespaceArray and look for the literal string http://www.OPCFoundation.org/UA/2013/01/ISA95. Vendor documentation frequently says only ISA-95 support, which tells you nothing about which of the two models is present.
- Check whether anything actually depends on itOn many servers the namespace is loaded because a vendor ships it by default and no instances are typed on it. Browse for instances before treating it as an interface you have to support.
- Design against Job Control V2 insteadFor any new MES handshake, use the ISA95-JOBCONTROL_V2 namespace. The job order and job response structures there are current, maintained and what MES products released since 2024 target.
- Bridge rather than extendWhere an existing installation genuinely uses the 2013 model, map it in a gateway to your internal order schema and leave it frozen. Adding vendor extensions to a model that has not changed in over a decade guarantees you own the result forever.
- Expect legacy structure encodingA model of this age is typically accompanied by legacy type dictionaries rather than DataTypeDefinition. Confirm your client can decode structures from the older mechanism, or read the fields as opaque and parse them yourself.
What it gives you for OEE
Nothing directly, and nothing worth building on. Like the newer Job Control model, this is an order-and-recipe interface rather than a measurement model: it has no state machine, no counters and no stop reasons. Availability, counts and reasons come from Machinery, MachineTool, PackML or the machine's own tags. The one practical OEE-relevant use is archaeological, in that finding this namespace on a server tells you the installation's data model is old and the rest of what you are about to integrate probably is too.
Gotchas
- The namespace URI does not follow the modern pattern. It has a www prefix, mixed-case OPCFoundation and a 2013/01 date segment, which trips string matching written against http://opcfoundation.org/UA/ prefixes.
- Both ISA-95 namespaces can be present on the same server. Matching on the substring ISA95 will find the wrong one, so match on the full URI.
- The S95 server capability code does not tell you which model is implemented. It indicates ISA-95 support in general, so you still have to read NamespaceArray.
- Structures from a model this old may rely on legacy type dictionaries, which some modern clients no longer read by default.
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.