This essay is third in a series on moving data on the Industrial Internet of Things. We’ll take a look at OPC UA.
First we looked at Opto 22’s new product that provides for RESTful APIs as a way to open up information to move from platform to platform. This is relatively simple and understood by almost all recent college graduates. This method does not model data, but it can move vast amounts of data.
MQTT is a transport technology providing a low bandwidth middleware. However, developers have recently added a data model, MQTT Sparkplug. MQTT is agnostic as to the message. You can move data from all manner of sources—including OPC—using this transport. People began thinking there should be a way to describe the message within this ecosystem.
The Grandfather of them all
I reached out to Tom Burke, president of the OPC Foundation, for more information about how OPC UA fits into this picture.
So what is OPC UA? “OPC UA is about multivendor secure reliable interoperability for data and information integration from the embedded world to the cloud.”
The key to OPC is interoperability. It allows clients from one supplier to import data from another. Many years ago, for example, I was in the Wonderware labs. They had PLCs from almost all known suppliers. In order for its HMI/SCADA software application to work, developers had to write drivers from every one of those PLCs. With OPC, they could communicate with every OPC-enabled PLC. And so could every other supplier. It opened competition, the very thing that customers want.
That was more than 20 years ago. Today there are over 4,200 vendors who have OPC products in the marketplace. Or, as Burke puts it, “The days are over where the end users are willing to pay for multivendor interoperability by developing custom Software Solutions to integrate products from multiple vendors together.”
The OPC UA working group has already developed a simple https interface for UA that will meet and exceed the needs of many applications.
The biggest value is the data modeling/semantics OPC UA provides, followed by the security mechanisms.
I received this from the OPC Foundation:
So for any IoT application, one should ask:
- How do you model/describe your data?
- How do you store your data?
- How do you authenticate?
- How do you encrypt?
- Where do you store your secrets?
- What do you use for transport?
- Who/what can you connect to?
OPC UA can answer all these questions.
So, you can see that there are several options. It really depends upon your data needs. OPC UA guarantees interoperability. REST and MQTT are standards in themselves, but as a user you’d have to ask your supplier if they using them in an open manner. It’s possible that they are using an open standard in a proprietary way that promotes additional system integration business.
It all sounds confusing on the surface. Like any project you’re beginning, be clear about expectations and specifications up front. And, of course, maybe a blend is just right for you.