OPC-UA : A powerful alternative to the classic OPC
Anybody who is familiar with industrial automation software development would know what OPC is. OPC is a software interface that enables reading data from disparate sources easily through a standard interface.
OPC stands for Open Platforms Communication. It is a set of specifications designed and maintained by OPC Foundation.
Historically, OPC stands for OLE (Object Linking and Embedding) for Process Control. OLE is a legacy technology from Microsoft which is based on Component Object Model (COM) that enables accessing of services across applications on Windows platform.
Classic OPC has been extremely successful because it enables various software applications to communicate with different kinds of devices without much ‘device’ specific protocol drivers, if the device vendor can supply an OPC driver. In a similar way, it also enables various automation software components to share data among each other by exposing an OPC interface. You can see that all the popular SCADA applications can read / write data into OPC interfaces.
Limitations of classic OPC
Even though the classic OPC is an immense success and is widely accepted, there are certain limitations that are crippling its further growth.
The major limitation of classic OPC comes from its foundation – Microsoft COM. COM and DCOM (Distributed COM) can run only on Windows (or WinCE). This means that if you are a device manufacturer, it should run on Windows if you want an application from another system on the network to directly access data from the device through OPC. Otherwise you should have a separate PC host connected to your device and have an OPC driver running on it. This OPC driver will ‘wrap’ around your native protocol driver and will act as an OPC face to the other other systems.
DCOM is an old technology and has very limited security in-built. It simply runs on a TCP network with a specified port that needs to be opened. For any authentication or encryption needs, applications should take care. Hence in classic OPC, providing security has always been a concern.
Access across internet:
DCOM does not work across internet. Hence OPC drivers and clients should be within the same network and cannot be distributed on the internet. This is a major limitation as we now have devices located far away on distant IPs.
As you can see pretty clearly, classic OPC is not going to have a great future, given the above limitations. But there is good news. OPC Foundation has proactively responded to the growing need of an alternative and has come up with OPC-UA (OPC – Unified Architecture).
OPC – Unified Architecture (UA)
OPC UA provides the following clear advantages and is poised to make a big impact on the automation software scenario.
OPC UA works based on SOAP (Simple Object Access Protocol) that sits on top of HTTP. This means it can run on any device that is capable to host an http server. It can be Windows, WinCE, Embedded Linux, VxWorks, or any other platform that has an http stack. This offers a major advantage that such devices can directly act as OPC-UA servers, instead of having a separate OPC-UA wrapper in a host machine.
The designers of OPC-UA have taken care to build security directly into it rather than as an add-on. It supports HTTPS and SSL along with the associated encryption features. It also supports X.509 certificates for authentication.
Scalability and Extensibility
OPC UA can run on devices with small foot prints and also on fairly complex systems. All OPC UA applications are not necessarily required to have all the capabilities. The level of support for different functionalities can be defined.
The information model of OPC UA also allows us to extend it to define domain specific models, which in turn can become standards on their own. Thus, there are initiatives to define OPC UA for Field Device Integration (FDI), PLCOpen, IEC 61850, etc.
One of the key features that will bring OPC-UA to the forefront of all device communication technologies is the fact that it works on http and hence it is already ‘Internet-ready’. It works across firewalls and it can be used to read data from devices connected on the net from faraway places. It also makes it a strong contender as a platform for the new Internet of Things (IoT) revolution.
The new German initiative ‘Platform Industrie 4.0’ has accepted OPC-UA as its communication standard.
Rich Information Model
One of the key factors of OPC-UA is its powerful information model. To facilitate a comprehensive domain modeling, it supports objects, variables and methods with appropriate hierarchy levels possible. As a simple example, in OPC UA, in addition to providing a variable value and its engineering units, it can also provide details about the specific sensor too. This is a key difference from the classic OPC, where everything is just an ‘Item’.
Acceptance as an IEC standard
OPC-UA has been accepted as an IEC standard (IEC 62541), which means it has been validated by a neutral organization to fulfil the requirements of a full fledged standard.
How to develop applications using OPC-UA?
To write the OPC UA applications from scratch is a herculean task. Unless you have the time, budget and expertise to do this, it is advisable to go for a third party library or stack. There are a few options available.
OPC Foundation provides an OPC UA stack, wrappers and sample applications for corporate members which can be very useful.
In addition, there are several other proven third party tools/libraries who are market leaders, like:
Softing click here
OPC-UA is a very powerful standard that is probably going to lead the scene of industrial communication in the next decade or more. With the advent of Internet of Things and Industrie 4.0, we are going to see much of the action powered by OPC-UA.