Interoperability enables growth of an industry, innovation, and great benefits for users. We see it broadly in the Web and more specifically in industry with OPC. It is topic to which I return frequently. We can talk about all the components of the “Industrial Internet of Things” whether it be devices, databases, big data analytics, visualization, but without interoperability the IoT will be severely hampered.
Dave Winer developed outlining applications to help writers of prose and code organize their thoughts. He also developed RSS and knows something about interoperability and the politics of standards.
Data is like air
This all reminded me of some previous blog posts about data wants to be free. Moira Gunn, host of TechNation, an NPR show and also a podcast, discussed this topic in her opening “Take Five” essay in that podcast. She said, “Like air, data just flows. The power of data lies in its being replicated over and over.” She was thinking about Google and the attempt to have your past eradicated. But the concept also works for us.
I was thinking about my thoughts voiced yesterday about the use of open technology. Arlen Nipper, co-developer of MQTT, likes to tout that his middleware powers the Internet of Things. He says this because MQTT is the backbone of Facebook Messenger.
Ah, there is my point about the use of open technologies. Messenger is a closed silo. Try to move your data. Try to use your data in another application. Try to text someone from another app to an address in Messenger. Nope. Can’t do anything. Facebook wants you captured completely within its silo.
What’s that old phrase? Buyer Beware?
Programming the Industrial Internet of Things is getting interesting. After the Opto 22 news on REST and Node_RED along with the Inductive Automation conversation on using MQTT middleware and Sparkplug for data description, I’ve dived into these technologies.
These things are all standards and widely used. Some have been around for a little while. I’ve got to say that Node_RED is really cool. And as open source, it has a fantastic library of functions.
So, my next question is, “How are these used?”
And mainly I am comparing to OPC UA.
I have been in conversation with several people from the OPC Foundation. They told me, “OPC UA is about multivendor secure reliable interoperability for data and information integration from the embedded world to the cloud. It’s more than just a communication protocol for moving data between points a and b.”
Granted, OPC UA is based upon XML technology, not JSON. It is XMPP. There were probably many good reasons for using this at the time the specification for OPC UA was being designed. For one thing, it is secure. Build in. And security is a major point of discussion when you talk with OPC people.
But, let’s talk about the multivendor and interoperability issues. When data is described in OPC UA, any other OPC UA device knows what is in the information packet. That is a power that many vendors–but especially end users–were searching for. Interoperability is the method that many industries have used for growth and innovation. Think railroads or cargo containers, for example.
So, even though REST, Node_RED, JSON, MQTT, and Sparkplug are all in themselves open, I throw the ball back into their court.
Is the principal use of these technologies for tying proprietary applications and devices together so as to lock out competition? To what degree is there an industry movement to describe devices and information in an industry-wide manner such that an interoperability of devices may be obtained?
I suppose there is a side note that I hear from some quarters about using open technologies, but using them in such a way that a customer is locked into one system integrator. Although this does not look so complex as to lock a customer in, it’s a question I need to ask.
I guess as the ad says, “Inquiring minds want to know.”
I’ve been writing about standards used in applications for Industrial Internet of Things and parts of the IoT ecosystem such as Big Data lately—REST, MQTT, and OPC.
Dennis Nash, president of Control Station noticed the series and called about a big data and IoT application using Control Station software as part of a system for helping engineers optimize control loops in a process plant.
Even if a plant has installed and uses an APC or MPC application, things happen that loops eventually slip out of tune. These loops can cost a plant a lot of money even though the process does not generate alarms or does not appear to be generating problems.
The system builds from historical loop change data recorded in an OSI PI historian. The data flows into a model of a tuned loop. Says Nash, “The basis for our innovation starts with a unique ability to model highly variable process data (i.e. noisy, oscillatory data). We use a proprietary method that no one has successfully emulated.”
He continues, “With the ability to accurately model highly variable data, control loop performance monitoring (CLPM) tools like ours can capitalize on the 100s/1000s of output changes that happen everyday. By aggregating the model date and comparing results with existing tuning parameters, CLPM tools are now getting into the Big Data game.”
Checking loop performance, especially when there are hundreds or thousands, rarely hits an engineer’s to-do list. This system will send a notification of worst actor loops where action can actually improve plant efficiency and profits.
This system works in a one-off application. What if there are more applications in a plant? That is where interoperability and standards come to play. Not so much a standard within Control Station, but where an application such as Control Station can use standards and data interoperability to grab data from a variety of sources. The extensive use of these standards and data interoperability enable the continual push of innovation and process improvement.
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.
I have been discussing the importance of industrial protocols to successful use of the Industrial Internet of Things. Among three news releases from the OPC Foundation is news about collaborative work between the Object Management Group (OMG) and OPC Foundation to let DDS and OPC UA play nicely in the same sandbox. This is key because the Industrial Internet Consortium has adopted DDS as a standard, while much of the industrial automation community uses OPC.
Other news includes the announcement of support for publish/subscribe for OPC UA and an OPC UA open source initiative.
Industrial Protocol Collaboration
Specifically, the OPC Foundation and OMG have developed a technical positioning and FAQ document for usage of both the OPC Unified Architecture (OPC UA) and the OMG Data Distribution Service (DDS) standard. The positioning document explains that the OPC UA and DDS standards are largely complementary and compatible. Both are important to the future of the IIoT. The document is a joint recommendation; it helps companies quickly implement an IIoT strategy.
OPC UA and DDS Explained
OPC UA is an industrial communication architecture for platform independent, high performance, secure, reliable, and semantic interoperability between sensors, field devices, controllers, and applications at the shop-floor level in real-time as well as between the shop floor and the enterprise IT cloud. OPC UA allows SoA based easy “plug and produce” scenarios. The information about the system, its configuration, topology, and data context (the meta data) are exposed in the collective “address space” of the individual OPC UA servers.
This data can be accessed by authorized OPC UA clients that can see what is available, and choose what to access. OPC UA truly supports timeless durability as new networking technology is developed it can be plugged into OPC UA seamlessly. Client/Server, Pub/Sub and cloud protocols are integrated into OPC UA.
DDS provides location transparent, interoperable, secure, platform independent, real-time data sharing across any kind of network. DDS lets applications define and share user data with controlled “Quality of Service” (QoS) such as performance, scalability, reliability, durability and security. DDS hides network topology and connectivity details from the application, providing a simple yet powerful data-sharing abstraction that scales from local area networks to fog and cloud computing. It can support even large fan out and sub-millisecond latency. DDS defines a “common data-centric information model” so that applications can run “plug & play” with very little or no deployment configuration. System configuration details are deemphasized to ease redundancy and interoperability.
Today, there is little overlap between OPC UA and DDS in applications. Even when used in the same market (e.g. energy) the use cases are quite different. Today OPC UA provides client-server interaction between components such as devices or applications. DDS is a data-centric “bus” for integration and peer-to-peer data distribution. Because the focal applications and approaches for DDS and OPC UA are different, most applications clearly fit better with one or the other.
The OPC Foundation and OMG are working together on integration and have developed two ways for the technologies to work together. First, an “OPC UA/DDS gateway” will permit independent implementations to work together. Second, “OPC UA DDS Profile” will enable integrated use cases. Initial work to define both approaches is underway at the two standards organizations.
Customers must choose a standard path now to implement a successful IIoT strategy. By working together, the OPC UA and DDS communities will provide a non-proprietary path to interoperability, regardless of the customer’s choice of starting technology.
Open Source OPC UA
The open source repository of OPC UA is now available on the open source GitHub web site. Open source is a very important strategy to eliminate roadblocks to adoption of the technology. By open sourcing the OPC UA technology the OPC Foundation is now enabling easy access to the technology by academia and research organizations, as well as many suppliers and end-users that would like to assess the OPC UA technology as part of early adopter and feasibility analysis.
Open sourcing isn’t just the wave of the future. Open source strategy is now. The OPC Foundation is proud to make the OPC technology available to everyone via the open source repositories.
There are a number of OPC open-source initiatives already available from suppliers, research institutes and academia for OPC UA. The open source repository from the OPC Foundation is intended to supplement these other open-source initiatives, providing additional value. The OPC Foundation has committed resources to moderate/maintain and extend the technology to keep pace with technology changes in the industry as well as the extensions to the OPC UA architecture and corresponding companion specification.
The OPC Foundation addition of publish/subscribe communication functionality to OPC UA provides the necessary infrastructure to achieve seamless interoperability for IIoT, IoT, and industrie 4.0 applications and devices. OPC has been based on a client/server architecture, and is now enhancing the architecture with the inclusion of publish/subscribe to provide a solid infrastructure that allows information integration from embedded devices to the cloud.
The OPC Foundation is working currently with 42 international (and many more to be added) suppliers that are developing products and solutions for the IIoT and needed to provide publish/subscribe to the technology portfolio to facilitate high-performance high reliable device application connectivity for this important market. Support for publish/subscribe as well as the client/server architecture provides a complete solution for any device or application. Existing applications already using OPC UA client/server communications can add the publish/subscribe features with minimal effort.
A demonstration of the OPC UA publish/subscribe functionality will be held at Hanover Fair the week of April 25 in the OPC Foundation Booth hall 9 – A11. This demonstration will consist of multiple vendors showing OPC UA enhanced with publish/subscribe, truly demonstrating how easy it is to have connectivity and information integration in IoT devices and applications. The demonstration will show both semantic and syntactic data interoperability.