OPC Unified Architecture (OPC UA) is a platform-independent service-oriented machine-to-machine communication protocol for industrial automation developed by the OPC Foundation. OPC UA combines the functionality of the individual OPC Classic specifications into one extensible framework.
The first version of OPC UA was released by OPC Foundation in 2006. The goal of this project was to extend the original OPC communications model—which was mostly focused on COM/DCOM architecture—with new specifications that would be more relevant to the industrial automation needs. The architecture of OPC UA is service-oriented (SOA) and is based on different logical levels.
COM/DCOM communication standards used in the OPC model had a number of weaknesses that were the main driver of the decision to develop a new protocol. Some of the main issues of COM/DCOM were poor security, support of Microsoft Windows systems only, and configuration issues with DCOM.
OPC UA was developed as a platform-independent and fully secure protocol that is also easily scalable, supporting comprehensive information modeling and including all COM OPC Classic specifications mapped to unified architecture. OPC UA incorporates multiple hardware platforms, including PLCs, micro-controllers, PC, and server hardware, as well as various operating systems, such as Windows, Linux, Android, and iOS. OPC UA servers are scalable down to 15 kB RAM and 10 kB ROM, which makes them usable at chip level.
Thanks to its multi-layered architecture, OPC UA provides an easy way to incorporate innovative technologies and solutions, such as new encoding standards, security algorithms, transport standards, etc., without disrupting backwards compatibility for existing products. This allows the manufacturers of OPC UA based devices to make sure their solutions will be compatible with new products added in the future.
One of the most fundamental elements of OPC UA is the information modeling framework that is used to define rules and basic elements necessary to expose an information model with OPC UA. The protocol also defines necessary access mechanisms to information models.
Security is another strength of the OPC UA protocol compared to the OPC model. It is firewall-friendly and supports session encryption, authentication, user control, message signing, user session auditing and other features addressing security concerns.
Some of the disadvantages of OPC UA is overcomplexity and issues with enabling full interoperability of the systems. Full OPC UA protocol specification consists of 14 documents, 1250 pages-long in total. The majority of existing implementations of OPC UA are incomplete due to this complexity. Additionally, OPC UA supports several serialization formats and allows selective implementation of some services. This makes it difficult to develop client applications that are truly platform-independent.
The OPC UA protocol keeps evolving, however, and is viewed by the OPC Foundation more as a stage of standardization of machine-to-machine communication for industrial automation rather than an established standard.