OPC UA & OPC DA Standards
By implementing support for the OPC client, SCADA system developers got rid of the need to support hundreds of drivers for various devices, and equipment manufacturers, by adding an OPC server, gained confidence that their product can be used by users of any SCADA system.
OPC technology includes several standards that describe a set of functions for a specific purpose. Current standards:
- OPC DA (Data Access) is the most common standard which describes a set of functions for real-time data exchange with PLC, DCS, HMI, CNC and other devices.
- OPC HDA (Historical Data Access) provides access to already saved data and history.
- OPC AE (Alarms & Events) provides on-demand notification functions for various events: emergency situations, operator actions, information messages and others.
- OPC Batch provides the functions of step and recipe control of the technological process.
- OPC DX (Data eXchange) provides functions for organizing data exchange between OPC servers via an Ethernet network. The main purpose of this standard is to create gateways for data exchange between devices and programs from different manufacturers.
- OPC Security defines the functions of organizing client access rights to OPC server data.
- OPC XML-DA (XML-Data Access) provides a flexible, rule-driven format for exchanging data over XML, SOAP and HTTP.
- OPC Complex Data is a set of additional specifications for OPC DA and XML-DA that allow servers to work with complex data types such as binary structures and XML documents.
- OPC Commands is a set of programming interfaces that allows OPC clients and servers to identify, send, and control commands executed in a controller or I/O module.
- OPC UA (Unified Architecture) is the most recent specification that is not based on Microsoft COM technology, which provides cross-platform compatibility.
The most widespread standard is OPC DA, but it has a significant drawback. At the time of its development, it was built on then-modern Windows technologies: OLE, ActiveX, COM/DCOM, but since then the industry has undergone changes and other operating systems and technologies have become popular. Therefore, the OPC technology was made platform independent and the OPC UA (Unified Architecture) standard was developed on open cross-platform technologies.
OPC UA vs OPC DA
The basic difference between OPC DA vs OPC UA is the version, in which the older version of OPC is DA, where it supports the older version of data modeling which is not as great as the data modeling provided by OPC UA. Also, the transfer of the information that takes place between the server and client in OPC DA is only VQT that stands for Value Quantity and Time.
But on the other hand, OPC UA which is the new version of OPC provides data and information modeling as well as many properties that can be shared between the client and server about a variable.
As OPC DA comes under OPC classic model, it supports DCOM communication for connecting the client and server, where DCOM is dependent on the operating system and supports only Window OS.
And on the other hand, OPC UA do not rely on DCOM communication for connecting client and server, thus it is a platform or OS independent and it supports platform such as Linux (Java), Apple, or Windows.
OPC DA allows to access only the current data and is incapable to generate alarms, historical events whereas OPC UA supports features like historical events, multiple hierarchies and provides methods and programs (that are called commands).
One of the limitations of OPC DA is its inadequate security, as in today’s world security is the major issue because systems are more frequently attacked by some sophisticated viruses and malware and this security issue is solved in a higher version that is OPC UA.
It is an OPC DA specification that defines how real-time data can be exchanged between a data source and a data sink (for example a PLC and an HMI) without either of them having to know each other’s native protocol. It is an OPC UA specification that states how real-time data is communicated between machine to machine for industrial automation.