What is OPC? – Open Platform Communication Architecture & Benefits
OPC an acronym for Open Platform communications is a series of standards initially released in the year 1996 for industrial communications. The standard and its specifications are based on Object Linking and Embedding (OLE) for Process Control.
OPC is an open standard, which lowers manufacturers’ costs and gives users more choices.
For OPC to be an open standard, its interoperability is guaranteed by creating, maintaining, and improving a multi-disciplinary work group without preference for a particular brand.
Hardware manufacturers only have to provide a single server for their devices to communicate with any OPC client.
What is OPC Technology?
OPC is a communication technology with a client and server architecture. One application act as a server providing data while the other acts as a client reading or manipulating it.
OPC is by far the industry standard communication technology. This allows the exchange of information between multiple devices and control applications without restrictions or limits imposed by manufacturers.
An OPC server can be continuously communicating with field PLCs, RTUs (Remote Terminal Units), HMI stations, or other applications. Although the hardware and software come from different brands, compliance with the OPC standard enables continuous communication in real time.
Therefore, OPC has enabled better cooperation between providers and users, helping to build fully cross-cutting solutions.
Furthermore, giving consumers more power of choice between different industrial applications. Interoperability, modular solutions, and freedom of choice have been the great motivators for users around the world – and therefore providers – to have incorporated OPC into their industrial environments.
Software vendors only need to have to include OPC client capabilities in their products. Thereby instantly be able to become compatible with thousands of hardware devices. Ultimately, users can choose whatever client software they need, safe in the knowledge that it will communicate seamlessly with their OPC-enabled hardware, and vice versa.
With OPC, each application no longer requires a specific driver for the data source.
Below are four detailed points, that describe why one should use this technology in our industrial automation system:
1. To communicate with different providers
Consider the case of two PLCs. Among the two are Siemens and Allen-Broadly, whose communication protocols are different. OPC servers are required to connect these two controllers and monitor the data with SCADA (Supervisory Control and Data Acquisition system) software.
In this way, proprietary protocols can be converted to client protocols without requiring a separate hardware driver.
2. Eliminate the need for custom drivers on the system
For HMI applications to communicate with PLC devices, custom drivers are required. Additionally, they need different drivers to access old data. This can, however, be solved with the OPC server, since separate drivers for communication functions are no longer required.
3. Reduce device load
By allowing communication with multiple applications using a single connection to a data source, OPC servers reduce the load on data source devices. This eliminates multiple accesses to the data source and therefore lowers the load on the data source.
4. Facilitate data access
It is crucial for any process plant to monitor and manage real-time data, historical data, and events. Having redundant access to OPC servers, facilitate accurate monitoring and management through multiple automated protocols like Modbus, Profibus, Profinet, etc.
How OPC works?
The OPC specification describes the interface between clients and servers, servers and servers, including real-time data access, alarm and event monitoring, historical data access, and other applications.
Apart from a single server-client connection on a single computer, there are more options including
- Multiple OPC servers can be connected to OPC clients.
- Establish a network connection between an OPC client to an OPC server.
- Sharing of data over OPC servers. This is known as OPC bridging.
OPC Data Hub, however, is a tool that is specifically designed to handle all these tasks. By combining an OPC server and client, many connections can be supported. Therefore, OPC aggregation and OPC bridging can be performed simultaneously on multiple OPC servers.
As well, two OPC DataHubs can mirror data over a TCP network to provide an OPC tunnel.
The Architecture of an OPC System
This technology can communicate with any data source without requiring any device driver, as long as the data source is an OPC-enabled device, while proprietary software requires additional device drivers.
It also supports real-time data access, historical data logging, alarm, event data enable, etc. As we have already mentioned, it consists of two components:
The OPC client and the OPC server.
OPC server is a standard driver or software application designed to access data in real-time and provides other functions such as event management, logging, etc., from different vendors. It acts as a translator between the client and the data source for native communication. Additionally, has the “read from” and “write to” capabilities of the data source.
OPC interfaces connect the main clients with the plant data by providing numerous specifications such as alarms, event handling, histories, etc. The servers can communicate with clients from different providers with the same specifications.
OPC clients are also software application that is intended or designed to communicate with OPC servers. A data transmitter translates the communication request from the application to the OPC request and sends it to the OPC server.
While reading the data, the client translates it back into the application’s native communication format. These are the software modules embedded in the applications like HMIs, indicators, etc., so that they can request and instruct the OPC server software. They are also able to communicate with different OPC servers.
For example, the OPC client-server diagram, depicted in the graphic above, explains how they communicate with each other. The server collects and sends the data to different data sources such as Siemens, Allen Bradley, Mitsubishi, etc. It then sends this information to data receivers or clients such as SCADA, HMI clients, and database access clients.
Finally, we can say that the OPC server software acquires the data, while the client displays and handles the data.
Benefits of using the OPC standard
Aside from improving OPC server and client connections, OPC DataHub can also be used to connect OPC servers and clients to other applications, such as Excel, or a web browser. Also, it can be used to import OPC data on Linux or QNX.
Among the benefits that using this technology can provide in your industrial automation system are:
- Reduced load on the hardware device.
- Increased system scalability.
- Due to the OPC server, client applications do not need to know anything about the details of the hardware protocol.
- Although the device does not need to serve multiple clients, it increases the lifespan of the device.
- Interoperability (Unix/Linux and Windows – both platforms support OPC)
What Types of Data does OPC Support?
According to the needs of industrial applications, OPC specifications have been developed. The most common types of data transferred between devices, controllers, and automation applications can be classified into three categories:
- Real-time data
- Historical facts
- Alarms and Events
In turn, each of the above categories supports a wide range of data types. These data types can be integers, floating points, strings, dates, and different types of arrays, to name a few.
OPC takes on the challenge of working with these different categories of data by specifying independently how each one of them is going to be transmitted through OPC Client – OPC Server architecture.
The three OPC specifications that correspond to the three categories of data are
1. OPC Data Access Specification (OPC DA)
OPC DA is used to transmit data in real-time.
The first specification was the result of the collaboration of a group of manufacturers in collaboration with Microsoft. This resulted in a technology based on the DCOM of Microsoft operating systems.
The specification detailed a set of independent objects, interfaces, and methods to ensure interoperability.
DCOM technology provided the framework for the development of communication software solutions. That is the so-called OPC Data Access specification.
2. OPC Historical Data Access Specification (OPC HDA)
OPC HDA is used to transmit historical data.
3. OPC Alarms & Events Specification (OPC A&E)
OPC A&E is used to transmit alarm and event information.
What is an OPC Server?
An OPC Server is a software application. A “standardized” driver specifically developed to meet one or more specifications OPC.
The word “Server” in “OPC Server” does not refer at all to the computer where this software will be running. It refers to the relationship with the OPC Client.
The software can acquire data from field devices and serve it in OPC. With this, all the system information is obtained, even if there are controllers, HMIs, and RTUs from manufacturers that use different protocols.
At its inception, an OPC Server application only translated a single vendor’s protocol – Modbus, for example – into OPC DA. Currently, the leading OPC Servers on the market are capable, from a single application, of acquiring information from hundreds of different protocols and serving them via OPC DA and OPC UA.