Technical Implementation OPC UA

Asked by At

I read a lot more about OPC UA which is standard for IIoT. I understand the OPC UA concepts like client-server communication. I install a few OPC nuggets (as I am .net guy) and played with it. Still, I am confused about actual implementation.

Can anyone help me with the start-up guide? Mostly answer the following questions,

  • Is there any device dependency/pre-requisite to implement OPC? If yes, how to run this check?
  • How exactly the end-to-end communication happens? device->client->server?
  • Methods to connect with Azure IoT Hub while using OPC UA?

In summary, I would like to understand a real technical implementation picture.

1 Answers

3
Stefan Profanter On

Your question is quite generic, but I will try to answer your question anyway.


Is there any device dependency/pre-requisite to implement OPC? If yes, how to run this check?

In general there is no specific pre-requisite for the device. The only thing you need is some network connection (LAN, Wifi) and some memory. The rest really depends on your specific use-case. There are examples, where an OPC UA server is started on a small microcontroller, like the ESP32 (see https://github.com/pro/open62541-arduino)


How exactly the end-to-end communication happens? device->client->server?

In OPC UA you have Clients and Servers. A device normally offers its data through an OPC UA server. If it needs data from other devices, it has to instantiate a Client and get this data.

If you look into the OPC UA specification, Part 1 (can be accessed for free after registration, https://opcfoundation.org/developer-tools/specifications-unified-architecture/) it states in chapter 6.1:

The OPC UA systems architecture models Clients and Servers as interacting partners. Each system may contain multiple Clients and Servers. Each Client may interact concurrently with one or more Servers, and each Server may interact concurrently with one or more Clients. An application may combine Server and Client components to allow interaction with other Servers and Clients...


Methods to connect with Azure IoT Hub while using OPC UA?

This is a specific question for the Microsoft Azure cloud. There is the concept of an Azure IOT Edge, more specifically OPC á¹”ublisher and OPC Proxy.

https://github.com/Azure/iot-edge-opc-publisher
The OPC Publisher is basically mirroring local OPC UA servers in the cloud and creating an "OPC Twin".

https://github.com/Azure/iot-edge-opc-proxy
The OPC Proxy allows you to call methods, write variable values and interact with local OPC UA Servers from the cloud.