Last updated on April 10, 2022
Get an overview of the material available for designing OPC UA models. A summary of the most important aspects is provided at the linked cheat sheat.
This Post is part of the OPC UA Information Model Tutorial.
OPC UA Information Modeling – Overview (1 hour presentation video)
Costantino Pipero from Beeond gives a well structured, comprehensive, one hour presentation on information modeling and the underlying toolchain. Viewing this talk is strogly recommended:
Beeond’s open source model editor mentioned in the video is discontinued by now. They still offer a commercial version though, that works on UANodeSet files indestead of ModelDesign files.
OPC UA Standard
The OPC UA standard is available in two formats, PDF and online and separated into multiple parts. I prefer to use the PDF files as they provide a better overview and are easier to search. The web format is more convenient to reference specific section of the standard, each section is contained on its own page which breaks the reading flow and limits the search scope. It’s more convenient to read the standard in its PDF format (especially with Adobe’s multi-PDF search) in an early stage.
After free registration, the PDF files can be downloaded here: https://opcfoundation.org/developer-tools/specifications-unified-architecture
The online documentation is available on https://reference.opcfoundation.org/v104/ and the main parts are directly linked here:
Terms, definitions and abbreviations
All parts of the OPC UA standard have a chapter called “Terms, definitions and abbreviations”. Review those chapters of the following parts to familiarize yourself with common terms:
- OPC 10000-1 – Part 1: Overview and Concepts
- OPC 10000-3 – Part 3: Address Space Model
- OPC 10000-5 – Part 5: Information Model
Part 1 provides a good overview on the whole OPC UA world.
General recommendations on modeling
Part 3 offers a comprehensive overview on NodeClasses and Types defined by the standard.
Especially Part 3 – Annex A How to use the Address Space Model is of interest. It holds actionable advice on model design. Among other things, it discusses available approaches to structuring data in the model and their trade-offs.
Part 5 offers a comprehensive overview on ObjectTypes, VariableTypes and Methods among other things.
Part 5 – Annex A Design decisions when modelling the server information gives an example of what should be considered when modelling data.
OPC UA Companion Specifications
The OPC Foundation publishes companion specifications in cooperation with 3rd party entities. They can be accessed with a free account at: https://opcfoundation.org/developer-tools/specifications-opc-ua-information-models or online at:
Most companion specifications are published as PDF and should normally be accompanied by a NodeSet2 file.
Unfortunately the more intuitive and usable ModelDesign format is not always included or only available by directly contacting the corresponding authors.
I did not yet find a suitable tool to get ModelDesign from NodeSet files. Here is also an open issue:
Please leave a comment here if you found a suitable tool.
If you know C#, you could extend the UA-ModelCompiler to also load NodeSet files and convert them to ModelDesign. Push the code to Github and I’m happy to test!
OPC UA Companion Specification Template
The OPC Foundation offers a companion specification template. Cross-check your model with the template to make sure your model is complete:
The OPC Foundation released a Whitepaper describing best practices for information modelling. It includes naming conventions and other helpful tips:
Continue with Step 5