First Technology Transfer

Standard and Advanced Technical Training, Consultancy and Mentoring

OPC UA (Unified Architecture) - Theory and Practice

Duration: 5 Days

Intended Audience

The course is aimed at embedded systems programmers who need to become acquainted with practical IoT Programming and application Development


OPC UA is the successor to OPC (Open Platform Communications, originally OLE for Process Control). The original version of OPC was based on Microsoft's COM/DCOM technology, OLE was a Microsoft Technology, which was C++ based and oriented toward Windows OS based systems. From its orignal release in 2006 the OPC UA architecture has been more and more widely adopted in industry. The current version (1.04) has added publish/subscribe to the client/server communications infrastructure. OPC UA is an important part of the emerging Industrie 4.0 standard which is concerned with automation and data exchange in manufacturing technologies, and include cyber-physical systems, the Internet of things, cloud computing and cognitive computing.

Course Objectives

The aim of this course is to provide a sound introduction to the OPC UA protocol stack and to cover the necessary elements that go into implementing OPC UA Client and OPC UA Server applications. This course used C++ as its programming language, however it is possible to run variants of this course based on C# and .Net technology.

Course Outline

  • Overview of IoT and IIoT concepts and technologies
  • Overview of the IIoT Connectivity Stack Model
    • Physical, and Link Layers
      • TSN Ethernet (802.1 and 802.3)
      • Wireless PAN (802.15)
      • Wireless LAN (802.11, WiFi)
    • Connectivity Transport Layer Protocols
      • DDSI-RTPS
      • CoAP, MQTT
      • HTTP
      • OPC UA Binary Protocol
      • TCP and UDP
    • Connectivity Framework Layer
      • DDS
      • oneM2M
      • Web Services
      • OPC UA
  • Distributed Data Interoperability and Management
  • DDS - a Distributed Data Bus
    • Concept of OPC UA as a "Universal Device Driver"
    • An overview of the use of SCADA tools in DDS Systems
    • An overview of the data-centric publish-subscribe paradigm
    • DDS Domains
    • Data Centric Communications
    • Quality of Service Policies
    • RTPS and IIOT
    • Data and Data Service Definitions
    • DDS Security
  • Understanding the OPC UA Specification and Technologies it Relies On
    • An overview of the OPC UA Standard and its Key Concepts
    • The OPC UA Client - Server Model
    • Overview of the OPC UA Object Oriented Meta Model
    • Overview of OPC UA Services
    • Nodes and References between nodes
  • Visualization clients
  • OPC UA Object Model
    • Nodes
    • Node References
    • Node Types - Objects, Variables, Methods, Events
  • Classic OPC UA Communications Model
    • Data access
    • Alarms and Conditions
    • Historical Data Access
    • OPC UA Subscriptions
    • OPC UA Subscriptions vs. DDS Subscriptions
    • OPC UA - DDS Gateways
    • Overview of mapping from OPC UA to DDS and from DDS to OPC UA
  • Practical OPC UA Protocol Exploration
    • Bringing up an OPC UA Client and an OPC UA Server
    • Dissecting OPC UA Communications using Wireshark
  • Server Development
    • Introduction to Server implementation
    • Interface I/O points
    • Security: Encryption and Authentication
    • Managing Subscriptions
    • Implementing Method calls
    • Working with Alarms and Events
    • Information Models and Nodeset integration
    • Testing with a Compliance Test Tool
  • Client Development
    • Session security setup
    • Reading and Writing to tags
    • Subscribing to tags
    • Invoking Methods
    • Working with Information Models on the client-side
    • Working with Alarms and Events
    • Dynamic discovery and invocation
    • Interacting with Alarms and Events
  • Discovery Services and Cloud Integration
    • Find Servers on a network using Discovery Services
    • ntroduction to Pub-Sub and OPC UA
    • Connecting to the cloud
      • Azure IoT Edge
      • AWS IoT