Skip to main content

OPC UA Frequently Asked Questions

What is OPC UA?

OPC UA stands for OPC Unified Architecture. It is an extensible, platform-independent standard that enables the secure exchange of information in industrial systems. OPC UA was released in 2008, by the Open Platform Communications (OPC) Foundation, which regulates and maintains the interoperability standard, protocols, and specifications for data communication, in industrial automation operations.

Why is OPC UA suddenly becoming more popular?

Industrial interoperability is a challenge. Many protocols and technologies are being in use in the industry. Everybody is wasting a lot of time and money doing the same thing in 200 different ways. Like TCP/IP is the single way to communicate over the internet, we needed a single way of communicating between Industrial equipment.

The Reference Architecture Model for Industrie 4.0 (RAMI 4.0) recommended only the IEC standard 62541 OPC Unified Architecture (OPC UA) for implementing the communication layer.

OPC UA was traditionally used to communicate between PLCs and HMI/SCADA/MES systems, why is it suddenly becoming more popular? Are there any new features?

  • The Reference Architecture Model for Industrie 4.0 (RAMI 4.0) recommended only IEC standard 62541 OPC Unified Architecture (OPC UA) for implementing the communication layer
  • FLC initiative – The OPC Foundation launched the Field Level Communications (FLC) initiative responsible for the prioritization work to develop extensions to the OPC UA framework for Field eXchange (OPC UA FX)
  • UA_Cloud Library – The joint working group of the OPC Foundation developed a specification for an Internet-hosted database containing OPC UA information models. This cloud library can be made available to manufacturers who are looking to leverage industrial assets containing non-standardized information models for their SCADA or analytics systems with leading cloud vendors such as Amazon Web Services (AWS), Google Cloud, and Microsoft.
  • Companion specification – The OPC UA Companion Specifications aim to provide a solution by describing the interfaces, services, and data that should be exposed by the devices to enable easier configuration and interpretation in legacy protocols. VDMA (the largest network organization and an important voice for the mechanical engineering industry in Germany and Europe) is hosting over 30 domain-specific OPC UA companion specifications working groups enabling cross-vendor interoperability.

How does OPC UA work?

Using models, OPC UA specifies basic rules for exposing data to any application or device that wants to consume it. OPC UA itself is an information-centric data model. It comprises a generic object model with an extensible type of system with built-in models for data access. These built-in models specify functions such as alarms and events information, information about historic data, data access details, device descriptions, and to execute programs. Data can also be accessed through custom models, which are referred to as companion models. Some industry specific companion specification examples are oil and gas (MDIS), pharmaceutical (Open SCS), plastic and rubber machinery (EUROMAP).

Where is OPC UA used?

OPC UA is used in industrial systems, for example, oil and gas, agriculture, medical and pharmaceutical, critical services like electricity grids and sewerage treatment plants, and IoT systems like smart city applications. Common OPC UA applications include device diagnostics, asset management, production management, quality control, data acquisition, enterprise reporting, data security, data integration for GUI interfaces, remote worker support, and event monitoring. OPC UA also supports the industrial internet of things (IIoT). For example, OPC UA may be used to push data from embedded devices like temperature sensors to the cloud to analyse usage and equipment efficiency.

Operating systems supported by OPC UA?

  • OPC UA is a platform-independent technology, its simplicity makes it not confined to a single operating system.
  • We at Kalycito work on open62541 that can run on bare-metal with very limited resources. It also runs on Linux and Windows operating systems. We also work on NodeOPCUA, which can run on all platforms that can run NodeJS.
  • For a realistic implementation, our recommendation is to use Realtime Linux + open62541 for Embedded applications and NodeOPCUA for cloud-centric or engineering tool-centric use cases.

At which OSI layer does OPC UA operate?

OPC UA will be at the application, presentation, and session layers in the OSI model and will leverage TCP, UDP transport over a variety of wired and wireless networks.

My machine uses equipment from only one vendor, and I use the communication technology provided by that vendor, should I still learn OPC UA?

You don’t have to deal with OPC UA as long as you don’t have to interoperate with other equipment. If you do have to interoperate with other equipment on the factory floor, you may as well want to use the same technology basics to communicate with the cloud. Unfortunately, all existing cloud technologies cannot deliver on horizontal deterministic use cases. OPC UA lets you model all your information in one place and send data horizontally or vertically. In our opinion, the benefits far outweigh the complex argument that is generally placed against OPC UA.

What are the design objectives of OPC UA?

OPC UA is designed to support a wide range of systems from PLCs in production to enterprise servers. These systems are characterized by their diversity in terms of size, performance, platforms, and functional capabilities. To meet these objectives, OPC UA specifies the following basic functionalities:

  • Information Model (Metamodel)
  • Information Model Access
  • Client-Server, PubSub use case specific protocol mappings

What is unique about information modeling in OPC UA?

OPC UA defines base building blocks and consistent rules to build object-oriented models with them. In OPC UA it is possible to expose and discover information models in a consistent and universal way between all OPC UA entities. OPC UA defines a few industry agnostic information models that other organizations use as a common starting point to define their own OPC UA based information models. OPC UA also facilitates dynamic discovery and access to OPC UA information models.

My requirement is simple, I do not need OPC UA’s information model, and I can use simple MQTT exchanges. Do I still need to support OPC UA?

It may be true, maybe not. You are the best judge. You can look at our online courses and take an informed decision. We have 3 different courses for software programmers, embedded system engineers, and control engineers.

How is OPC UA client-server communication different from classic web services?

OPC UA Client-Server communication is based on the service-oriented architecture (SOA) paradigm. Classic web services describe their services using XML-based Web Services Design Language (WSDL), thereby allowing each service provider’s implementation to be different. OPC UA predefines generic, standardized services to ensure all OPC UA implementations are compatible, and thus interoperable.

What are the differences between OPC UA and OPC Classic?

OPC Classic, the predecessor of OPC UA, relies on Microsoft technologies, while OPC UA is platform-independent. OPC Classic does not have built-in security for access control, authentication, and encryption. OPC UA enables data encryption at the data source, ensuring secure transmission without relying on network firewalls at the system’s core. OPC UA implements cross-platform security based on the public key infrastructure (PKI) using industry-standard x.509 digital certificates. In contrast to OPC UA, OPC Classic does not support dynamic information modeling, which allows manufacturers to define custom data models depending on the requirements of their industry.

What standards and protocols are included in OPC UA?

OPC UA is based on several standards and protocols carefully chosen based on their ability to meet the needs of specific OPC UA use cases. For example:

  • For OPC UA Client-Server communications, OPC UA uses an optimized TCP-based binary protocol for data exchange over the IANA registered port 4840
  • For Cloud-based communications, OPC UA uses MQTT and AMQP
  • For communication in the field OPC UA uses UDP and specialized protocols like TSN
  • Web Sockets may also be used to support browser-based OPC UA Clients.

What specifications are included in the OPC UA standard?

OPC UA standard is a collection of specifications (OPC UA protocols) that define guidelines for communication between servers and clients, including rules for different functions and data structures. It includes the following specifications:

  • Overview and concepts
  • Security model
  • Address space model
  • Services
  • Information model mappings
  • Profiles
  • Data access
  • Alarms and Conditions
  • Historical access
  • Discovery and Global Services
  • Aggregates
  • PubSub
  • Safety
  • Alias Names

Each specification is intended to address a common problem in industrial systems’ communication networks.

What are the elements of security designed within OPC UA?

Security is built into the OPC UA architecture from the ground up and aligns with the security infrastructure provided by most web-enabled platforms. User-level security mechanisms are engaged when a session gets established. An OPC UA client transmits an encrypted security token that identifies the user to the OPC UA server, which then authenticates and authorizes access to appropriate objects. Application-level security includes the exchange of digitally signed certificates, Instance certificates that identify the concrete installation, and Software certificates that identify the client and server software and the OPC UA profiles. Transport level security provides integrity via message signing and confidentiality via message encryption.

Security modes supported by OPC UA server?

Security modes supported by OPC UA server are ‘None’, ‘Signed’, ‘Signed and encrypted’.

What are the benefits of discovery service in OPC UA server?

Enabling discovery service in OPC UA server lets the OPC UA client find OPC UA Servers with their supported protocols and security policies along with the other capabilities supported by the OPC UA server.

How can I get notified if there is a value change in particular node in OPC UA?

You can create a subscription for data change of a node in the OPC UA client. This will notify the client if there is a value change in the node of the OPC UA server.

How is OPC UA different from other protocols such as DDS, AMQP or MQTT?

OPC UA is more than just a protocol. Protocols such as DDS, AMQP, or MQTT are concerned with the transfer of data between applications, devices, and systems. They do not implicitly provide any context for the data being transferred. Instead, it is up to the user to define the content of the data. As a result, it does not guarantee that the transferred data can be interpreted by a receiving system. OPC UA addresses this by including definitions not only of data and information types but also of the device or application which generated the data using a common object definition library (OPC UA refers to these as ‘companion specifications’). Because of this, any system implementing the OPC UA architecture is guaranteed to be able to natively connect to and interpret data from any device which supports the same companion specs.

OPC UA vs MQTT which is better?

  • MQTT does not have anything comparable to OPC UA’s information model.
  • Also, OPC UA does not have anything comparable to MQTT’s transport layer capabilities.
  • Our prediction is OPC UA over MQTT will become the standard.

Sparkplug vs OPC UA which is better?

Sparkplug is an implementation that relies on MQTT. OPC UA PubSub can use MQTT as a transport layer. OPC UA PubSub can also achieve deterministic use-cases which Sparkplug cannot. If we have a world where interoperability has to become simpler, every piece of equipment must digest the complexity of Linux + OpenSSL + OPC UA just as the way mobile phones at some point came to terms with the complexity of Android OS over competitors like Symbian or Blackberry OS.

DDS vs OPC UA PubSub which is better?

OPC UA PubSub can be brokerless or broker-based. OPC UA PubSub in a brokerless fashion can function over TSN networks and provide highly deterministic systems. OPC UA PubSub in a broker-based network (say using MQTT as the transport layer) can help move data from the edge to the cloud securely while remaining lightweight.

I need ROS2, can I use it along with OPC UA?

At this moment, if you are choosing ROS2, then you will bind yourself to DDS. Also, you cannot eliminate OPC UA. This means you will have two islands and you need to build a bridge in between.

How can I enable OPC UA communication in non-OPC UA devices?

  • You can use the OPC UA gateway to enable OPC UA communication in non-OPC UA devices.
  • There are many companies providing gateway devices. We can support you in multiple ways depending on your use case.

Why is industrial interoperability on high demand recently?

People are used to smartphones and just-in-time services. They expect the same from every aspect of their life. Large industrial consortiums are coming together to find a solution to this problem with technology such as OPC UA.

Why should I adopt the OPC UA companion specification?

Creating an industry-specific standard through a companion information model reduces the duplication of effort to integrate the equipment as part of a larger process. As you can see, several companion specifications have already been created for industries such as CNC machine tools, plastics, and rubber processing machinery, packaging machinery, etc.

Basic features supported by OPC UA server?

Representing data through an information model that you can browse, read and write from a client application, support execution of methods, and send notifications for data changes and events.

Can OPC UA client access history data of a node in OPC UA server?

Historical access enables the client to access historical variable values and events. It can be read from the server that stores the data in the database, an archive, provided the OPC UA server supports historical access.

Can OPC UA and DDS coexist?

They will exist as two different networks with a gateway in between.

Can ROS2 and OPC UA coexist?

As of date, there is no active work on ROS2 to enable communication via OPC UA PubSub.

Lean embedded OPC UA implementations available in the market?

Checkout open62541 and also have a look at how PubSub can help you build systems that are lean.

Leanest server profile supported by OPC UA?

Nano embedded server profile – This profile is a full featured profile intended for chip level devices with limited resources. This Profile is functionally equivalent to the Core Server Facet and defines the OPC UA TCP binary protocol as the required transport profile.

What is the need for OPC UA Pub Sub?

In the traditional Client-Server model, a server receives a request from clients and sends the results back. Though this communication model is feature rich and simple, it is not feasible for some scenarios such as high frequency data and event notifications between large number of sending and receiving devices such as sensors, actuators and PLCs. These devices are power, and latency constrained. This led to the OPC foundation releasing the pub-sub extension as part 14.

What is PubSub data event notification mechanism?

PubSub provides an alternative mechanism for data and event notification. It is optimized for many-to-many interactions where multiple clients may receive broadcasted notifications in a fire-and-forget fashion. With brokered PubSub, OPC UA applications do not directly exchange requests and responses. Instead, Publishers send messages to Message Oriented Middleware without any knowledge about the Subscriber(s). OPC UA also supports brokerless PubSub for deterministic machine-to-machine use cases.

Can I have OPC UA Pub Sub without server?

You can use standalone OPC UA Pub Sub defined in the Pub Sub specification part 14 to eliminate the need for server, thereby keep the implementation lean.

Motion applications will use their own protocol like EtherCAT, Profinet, or Ethernet/IP. Can OPC UA Client Server address these requirements?

  • TSN is not a new standard – it is an upgrade to IEEE 802.1 specifications. Once it’s in place, it is the new Ethernet. So, all you need is software packages that can use the new hardware. This is where OPC FLC is trying to standardize the software layers and information models. Some companies are working on making these available in open source. The odds are against legacy protocols to survive this wave.
  • OPC UA PubSub is a new standard developed to provide a framework that is capable of simultaneously supporting multiple protocols while providing a standard architecture for complex information.

Is industrial interoperability such a big issue?

Have a look at the list of FLC members. If all these companies have come together to sit and discuss a problem, it should be something big and it should also mean that all their customers want them to lock heads and solve.

What are the advantages of OPC UA?

A few notable advantages of OPC UA include:

  • Decentralization – decentralizing system components and facilitating the use of more flexible data modelling structures in a mesh network. OPC UA achieves this by defining consistent data structures that all components use.
  • Platform independence – OPC UA is platform agnostic; industrial systems can integrate software from any vendor, using any operating system. OPC UA can be implemented on embedded systems and in the cloud.
  • Scalability – enables organizations to develop scalable SCADA systems so that existing plant equipment can integrate with new software modules without additional configuration.
  • Discovery – When new remote plants are added to an organization or new suppliers are commissioned, OPC UA can automatically discover their networks, configure them, and integrate them into the company network.
  • Interoperability – OPC UA interoperability allows end users to build custom industrial systems using devices and software from different vendors.