Not so long ago, the protocol used on your industrial Ethernet network was determined, largely, by whose control systems you used. If you used Rockwell Automation products, your network was based on EtherNet/IP; if you used Siemens, your network was Profinet; if you used Mitsubishi, your network was CC-Link IE. Since few, if any, manufacturing or processing facilities have ever been the domain of just one automation technology supplier, industry has long expressed a desire for open industrial communication technologies that could easily communicate with any controller, HMI, drive or other device on the network.
Today, that desire has largely been realized with the development of OPC UA, MQTT and AMQP — and is being pushed even further by the work of groups like the Open Process Automation Forum. But the existence of these options has also created some confusion. Though Automation World has published several articles to help give a better understanding of these communication technologies (see list at bottom of this article), it never hurts to bring as much light as possible to a topic of such import.
That’s why I was happy to run across a post on the OPC Foundation site titled: “Should I Use OPC UA or MQTT or AMQP?” written by Darek Kominek, senior global consulting manager at Matrikon. Kominek’s post addresses the question raised in its title and also helps clarify the differences between traditional client/server communications and pub/sub—a key aspect of high frequency, low-bandwidth communication required in most Internet of Things (IoT) or Industry 4.0 applications.
Having interviewed Kominek at the IoT Solutions World Congress in 2016, I knew his thoughts on these topics would be clear, concise and helpful to Automation World readers. Here’s what he had to say on the issue of OPC UA vs. MQTT vs. AMQP:
The issue is not in picking which one to use for your application, but in understanding the differences about the type of transport to be used, said Kominek. For lateral connectivity, such as on subnets and LANs, user datagram protocol (UDP) is preferred. This is the current realm of OPC UA. For vertical connectivity, such as in cloud environments or WANs, MQTT or AMQP are options. “In other words: It is not a question of OPC UA vs. MQTT vs. AMQP; it is a question of OPC UA over what transport is best. MQTT and AMQP are the options,” Kominek explained.
These options are becoming more clear with the pending addition of OPC UA Pub/Sub. Kominek explained that OPC Pub/Sub is planned for release at the end of 2017 with UDP transport being specified in the initial version. However, “transport via AMQP and MQTT is on the roadmap for 2018,” Kominek said, noting that the OPC UA Pub/Sub working group currently has more than 85 members “working diligently to develop these technologies.”
When looking at your network from a data speed perspective, Komineck pointed out that there are different reasons for using one data connectivity method over another. “Client/Server is great for working with low-frequency data (for example, in the 10 ms range and above, such as in SCADA applications); whereas Pub/Sub is great for working with high-frequency data (the 1-10 ms range, such as in streaming real-time data).
“The key here is with the OPC UA Pub/Sub specification (Part 14), you can choose whichever method works best for you without giving up the power of what OPC UA delivers,” said Kominek.
For more information about OPC UA and its relation to MQTT and AQMP, as well as how it handles end-to-end security, data context and IIoT/Industrie 4.0 readiness, visit Kominek’s OPC Foundation post.
Additional Automation World articles on IIoT communications:
- Is MQTT Winning the Industrial IoT Race?
- Will SCADA Remain Relevant as Industry Advances?
- MQTT: A Tool for IT Avoidance?
- Communication: Choosing the Right Tool for the Job
- Behind the Industrial Technology Integration Scenes
- Taking on the Interoperability Challenge
- Will Messaging Eliminate Proprietary Protocols?