Skip to content

Step 4: OPC UA ModelDesign Explained – An Overview on the Concepts

Last updated on September 15, 2020


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:

Note

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:

ModelSpecification
CoreOPC 10000-1 – Part 1: Overview and Concepts
CoreOPC 10000-2 – Part 2: Security Model
CoreOPC 10000-3 – Part 3: Address Space Model
CoreOPC 10000-4 – Part 4: Services
CoreOPC 10000-5 – Part 5: Information Model
CoreOPC 10000-6 – Part 6: Mappings
CoreOPC 10000-7 – Part 7: Profiles
CoreOPC 10000-8 – Part 8: Data Access
CoreOPC 10000-9 – Part 9: Alarms and Conditions
CoreOPC 10000-10 – Part 10: Programs
CoreOPC 10000-11 – Part 11: Historical Access
GDSOPC 10000-12 – Part 12: Discovery and Global Services
CoreOPC 10000-13 – Part 13: Aggregates
CoreOPC 10000-14 – Part 14: PubSub
SafetyOPC 10000-15 – Part 15: Safety
CoreOPC 10000-17 – Part 17: Alias Names
CoreOPC 10000-19 – Part 19: Dictionary Reference
CoreOPC 10001-1 – Amendment 1: AnalogItem Types
CoreOPC 10001-2 – Amendment 2: ChoiceStates and Guards
CoreOPC 10001-3 – Amendment 3: Method Metadata
CoreOPC 10001-5 – Amendment 5: Dictionary Reference
CoreOPC 10001-6 – Amendment 6: UADP Header Layouts
CoreOPC 10001-7 – Amendment 7: Interfaces ad AddIns
CoreOPC 10001-10 – Amendment 10: Currency
CoreOPC 10001-11 – Amendment 11: Spatial Types
CoreOPC 10001-13 – Amendment 13: Ordered List
DIOPC 10000-100 – Part 100: Device Information Model
OPC UA Companion Specification Parts

Recommended reading

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:

General overview

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:

https://reference.opcfoundation.org/v104/

Notice Title

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:
https://github.com/OPCFoundation/UA-ModelCompiler/issues/6

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:

https://opcfoundation.org/developer-tools/specifications-unified-architecture/opc-ua-companion-specification-template/

Modeling Best Practices

The OPC Foundation released a Whitepaper describing best practices for information modelling. It includes naming conventions and other helpful tips:

https://opcfoundation.org/wp-content/uploads/2020/09/OPC-11030-Whitepaper-UA-Modeling-Best-Practices-1.00.00.pdf

Published inInformation Modeling

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.