Continuing with our discussion on OPC Unified Architecture (OPC-UA) , we can dive into the intricacies of OPC Unified Architecture (OPC-UA) and its information model. As we have seen, OPC-UA is a powerful, flexible, and secure communication protocol that has become a cornerstone of industrial automation and IoT (Internet of Things) systems. In this comprehensive article, we'll explore the fundamental concepts, services, and models that make up the OPC-UA ecosystem, empowering the reading to better understand and leverage this versatile technology.

Introduction to OPC-UA

OPC-UA, or Open Platform Communications Unified Architecture, is a machine-to-machine (M2M) communication protocol that enables seamless data exchange between various industrial devices, systems, and applications. It was developed by the OPC Foundation, a non-profit organization dedicated to the advancement of open connectivity solutions for industrial automation.

OPC-UA is designed to overcome the limitations of its predecessor, the classic OPC (OLE for Process Control) technology, by providing a more robust, scalable, and platform-independent solution. It offers a standardized way to access, exchange, and manage real-time data, historical data, and alarms and events across a wide range of industrial and IoT applications.

Key Concepts of the OPC-UA Information Model

The OPC-UA information model is a comprehensive framework that defines the structure and semantics of the data exchanged within an OPC-UA system.

OPC-UA Information Model​

OPC-UA Information Model​

This model consists of several key concepts:

Nodes and Node Types: The building blocks of the information model, representing the various entities and their relationships.

Namespaces and Address Spaces: Unique identifiers that distinguish between different information models and their associated data.

Base Models: Foundational models that define the core types, objects, and relationships used throughout the OPC-UA ecosystem.

Base Services: Properties and actions associated with each node, defining its behaviour and capabilities.

Companion Specifications: Domain-specific extensions to the Base Models, tailored for various industries and applications.

Understanding these concepts is crucial for designing, implementing, and integrating OPC-UA-based solutions. Let us take a deeper look into each fo these.

Understanding the OPC-UA Data Model

At the heart of OPC-UA lies its data model, which is responsible for structuring and organizing the information exchanged between different components. This data model is based on a hierarchical, object-oriented approach, where data is represented as a series of interconnected nodes and their associated properties, methods, and events.

Nodes are the fundamental building blocks that represent various entities, such as devices, sensors, etc. They are the most basic addressable items and are essentially a collection of attributes. Attributes, in turn are, properties associated with each node, providing information about its state, configuration, and behaviour.

OPC-UA also defines References -the relationships that connect nodes, allowing for the navigation and exploration of the data model.

Predefined data types, such as integers, floats, strings, and arrays, that define the structure and format of the information in a node.

There are different classes of nodes such as

View: Defines a subset of nodes in the Address Space.

ObjectType: Provides definition for objects.

Object: Represent systems, system components, real-world objects and software objects.

ReferenceType: Defines the meaning of the nodes relationship.

DataType: Define simple and complex data types of the Variable values.

VariableType: Provides type definition for variables.

Variable: Provides the value information.

Method: Represents lightweight function, whose scope is bounded by an owning object.

Exploring the OPC-UA Base Services

Being a service-oriented architecture, OPC-UA defines a set of base services that enable communication and interaction between clients and servers. These services provide a standardized way to perform various operations, such as discovery, browsing, reading, writing, and subscribing to data.

While the Services are organized into Service Sets, each Service Set defines a set of related Services organized as a logical grouping. Some of the major service sets are described below:

Discovery Service Set: Allow a Client to discover the Endpoints implemented by a Server and to read the security configuration for each of those Endpoints.

SecureChannel Service Set: Allow a Client to establish a communication channel to ensure the Confidentiality and Integrity of Messages exchanged with the Server.

Session Service Set: Allow the Client to authenticate the user on whose behalf it is acting and to manage Sessions.

NodeManagement Service Set: Enables the Client to add, modify and delete Nodes in the AddressSpace.

View Service Set: Allow Clients to browse through the AddressSpace or subsets of the AddressSpace called Views.

Query Service Set: Allows Clients to get a subset of data from the AddressSpace or the View.

Attribute Service Set: Provides mechanisms for Clients to read and write Attributes of Nodes, including their historical values.

Method Service Set: Allow Clients to call methods that run to completion when called. They may be called with method-specific input parameters and may return method-specific output parameters.

Subscription Service Set: Allow Clients to create, modify and delete Subscriptions. Subscriptions send Notifications generated by MonitoredItems to the Client.

Navigating the OPC-UA Address Space

The OPC-UA address space is a hierarchical structure that organizes the various nodes and their relationships within an OPC-UA server. This address space can be thought of as a virtual representation of the underlying industrial assets, devices, and data sources. The address space is divided into namespaces. Nodes are mapped inside the names spaces with Node IDs.

Clients can navigate and explore the address space using the OPC-UA View Services, which provide mechanisms for browsing, querying, and retrieving information about the available nodes and their properties. This address space can be customized and extended through the use of Companion Specifications, which we'll discuss later in the article.

An Overview of the OPC-UA Base Model

Inspired by the Object-oriented architecture, OPC-UA defines Object based information model that defines the structure and semantics for representing real-time data, such as sensor readings, process variables, and control signals.

Few Base Models are defined on top of which custom implementation and extension can be done up on. Each of these models has associated Variables, Variable Types (Definitions of the various data types and their properties) and Access Services (standardized methods for reading, writing, and subscribing data)

DataAccess (DA) Base Model: The DataAccess (DA) Base Model defines the structure and semantics for representing real-time data, such as sensor readings, process variables, and control signals.

Alarm & Conditions (AC) Base Model: The Alarm & Conditions (AC) Base defines the structure and semantics for representing alarms, events, and other conditional states within an OPC-UA system.

Historical Access (HA) Base Model: The Historical Access (HA) Base Model provides a standardized way to access and manage historical data within an OPC-UA system.

Programs (Prog) Base Model: The Programs (Prog) Base Model defines the structure and semantics for representing and executing programs, scripts, and other executable logic within an OPC-UA system.

OPC-UA Companion Specifications: Enhancing Functionality

While the Base Models provide a solid foundation for OPC-UA, the true power of the technology lies in its ability to be extended and customized through the use of Companion Specifications. These specifications are developed by various industry groups and organizations to address the unique needs and requirements of specific domains, such as building automation, energy management, and process control.

Companion Specifications define additional node types, data models, and services that can be seamlessly integrated into the OPC-UA ecosystem. This allows for the creation of highly specialized and tailored OPC-UA-based solutions that can effectively address the challenges and requirements of diverse industrial and IoT applications. Some examples include OPC UA for Devices (DI), OPC UA for Robotics (ROB), OPC UA for PLCopen etc.

Conclusion

In this comprehensive article, we have explored the fundamental concepts, services, and models that make up the OPC-UA information model. From understanding the data model and base services to delving into the various base models and the power of Companion Specifications, we have covered the essential building blocks of this versatile communication protocol.

As you continue your journey into the world of OPC-UA, I encourage you to experiment with OPC-UA-based tools and technologies, explore the available Companion Specifications, and engage with the vibrant OPC-UA community to further enhance your understanding and expertise.

Related Insights

A Guide to Profibus Application Profiles
insight image

Profibus is a fieldbus communication standard that allows devices to exchange data in real-time, enabling seamless communication between various components in an automated system.

Read More


Subscribe to our Insights


15th Year Anniversary