Optimum Idea about an OPC Server in Industrial Control Systems

An OPC server is essential for communication in industrial control systems. Current sectors based on industrial automation system use wide variety of control systems, control devices and smart field devices. Communication or data exchange is a key challenge between these devices which are from different vendors, and thus necessitates additional hardware to have communication between them.

What is OPC?

OPC stands for OLE (Object Linking and Embedding) Process Control. OPC is the most popular data connectivity standard used to communicate between controllers, devices, applications, and other server-based systems without getting into custom drivers for data transfer.

OPC Server
OPC Server

A factory automation system or process consists of different controllers and devices from different suppliers or vendors with different protocols. These controllers and devices are essential to communicate with business or management systems. Therefore, OPC creates an environment to access real-time plant data from such vendors.

OPC also offers plug and play connectivity from proprietary devices, and acts as an interface between various data sources like Programmable Logic Controllers and field devices, such as sensors and actuators; applications like SCADA system, or other HMIs, Remote Terminal Units, other database servers, etc., as shown in the above figure.

Data exchanging by OPC system
Data exchanging by OPC system

It also exchanges the information or data between data sinks and data source devices without letting them to know anything about the individual communication protocols that are established between them. OPC was developed by Microsoft for Microsoft Windows OS family devices based on OLE, COM and DCOM technologies.

Architecture of OPC

OPC can communicate with any data source without requiring any device driver, provided that the data source must be OPC-enabled device, whereas the propriety software requires additional device drivers. OPC supports real-time data access, history data logging, alarms and events data enabling, etc. It consists of two components: OPC client and OPC server.


The OPC server is a software application or standard driver designed to access real-time data and provides other features like events handling, logging, etc., from different vendors. It acts as a translator between the OPC client and the data source for native communication. It also possesses ‘read from’ as well as ‘write to’ data source capabilities.

Architecture of OPC
Architecture of OPC

OPC interfaces master clients with the plant data by providing numerous specifications like alarming, events handling, historian, etc. With the same OPC specifications, the OPC servers are capable of communicating with different vendor clients.

OPC client-server system
OPC client-server system

An OPC client is also a software application that is designed to communicate with OPC servers. It is actually a data sink and translates the application’s communication request to OPC request and sends it to the OPC server. While reading the data, the client translates it back into application’s native communication format. These are the software modules embedded in the applications like HMI’s, historians, etc., so that they can request and instruct the OPC server software. These are also capable of communicating with different OPC servers.

For example, the OPC client-server diagram, depicted above, explains how these two are communicating with each other. The OPC server collects and sends the data to different data sources like Siemens, Allen Bradley, Mitsubishi, etc., and then, sends this information to data sinks or OPC clients such as SCADA, or HMI client, database access client, etc. Eventually we can say that OPC server software acquires the data, whereas the client presents displays and manipulates the data.

What is the Need of an OPC Server?

1. To communicate with different vendors

Let us assume that we have two programming logic controllers-PLCs. One is Siemens and the other is ABB whose communication protocols are different from each other. In order to connect these two controllers and monitor the data using SCADA software, an OPC server is needed. This reduces the need of additional hardware driver for converting proprietary protocols to client protocol.

2. To eliminate the need for custom drivers in the system

HMI applications need custom drivers for establishing communication with PLC device. Similarly, they also need different drivers to access previous data. However, the OPC eliminates the problem of requiring separate drivers for such functions.

3. To reduce device loading

An OPC server reduces the load on data source devices as it enables communication with several applications, while having only one connection with the data source. This reduces multi-access from the data source, and hence reduces the load on the data source.

4. To ease access to the data

Monitoring and managing real-time data, historical data and events are crucial in every process plant. OPC servers facilitate accurate monitoring and managing capabilities through multiple automated protocols like Modbus, Profibus, etc., with a redundant access.

We hope that we have been able to provide interesting and valuable information about the OPC servers. This article is particularly useful for those who want to pursue a career in control and instrumentation. Here is a simple question for the readers – How are OPC servers differentiated?

Please give your answers and also your feedback about this article or project ideas in the comment section given below:

Photo Credits

Comments are closed.