We are always talking about Industry 4.0 and IIOT (Industrial IOT), but we generally don’t care about how it is going to be implemented, and that’s where OPC UA comes into stage. It is the acronym of “Object Linking and Embedding for Process Control – Unified Architecture”. So in plain English, its a vendor independent industrial communication protocol, and also an object oriented information model standard.
That means, you can design and implement an OPC UA server and client on two different vendor device and share information over same object model in a secure way, thanks to OPC UA authentication and authorization mechanisms.
Figure shows where the OPC UA is used in an industrial system. Source : Siemens
OPC UA is an open standard and all the specifications regarding information model, communication protocol, security can be obtained from OPC Foundation, all you need to do is to sign up and download.
So what are the cons of OPC UA; For me first one is, it does not fully satisfy the field level communication requirements, so there is still a need for other protocols in the field level. Security mechanisms are still being improved. And if you are looking for Pub/Sub communication, it is still in its baby steps.
There are so many open source implementations of OPC UA. Open62541 is maybe the most popular one on github and it is being developed side by side with the latest specs from OPC Foundation, if you wonder where does 62541 come from, it is the official IEC code of OPC UA.