What is OPC ?

OPC : OLE (object linking and embedding) for Process Control


OPC  is a software interface standard that allows Windows programs to communicate with industrial hardware devices.

OPC Interface

OPC is implemented in server/client pairs. The OPC server is a software program that converts the hardware communication protocol used by a PLC  into the OPC protocol. The OPC client software is any program that needs to connect to the hardware, such as an HMI  . The OPC client uses the OPC server to get data from or send commands to the hardware.

The value of OPC is that it is an open standard, which means lower costs for manufacturers and more options for users. Hardware manufacturers need only provide a single OPC server for their devices to communicate with any OPC client.

Software vendors simply include OPC client capabilities in their products and they become instantly compatible with thousands of hardware devices. Users can choose any OPC client software they need, resting assured that it will communicate seamlessly with their OPC-enabled hardware, and vice-versa.

The typical OPC connection scenario is a single server-client connection on a single computer as illustrated above, but there are more possibilities.

For example, you might need to:
  • Connect an OPC client to several OPC servers. This is called OPC aggregation.
  • Connect an OPC client to an OPC server over a network. This can be done with OPC tunnelling.
  • Connect an OPC server to another OPC server to share data. This is known as OPC bridging.

The OPC DataHub is uniquely designed to do all of these tasks. It is a combination OPC server and OPC client that supports multiple connections. Thus it can connect to several OPC servers simultaneously, for OPC aggregation and OPC bridging. Two OPC DataHubs can mirror data across a TCP network to provide OPC tunnelling.

OPC is the interoperability standard for the secure and reliable exchange of data in the industrial automation space and in other industries. It is platform independent and ensures the seamless flow of information among devices from multiple vendors. The OPC Foundation is responsible for the development and maintenance of this standard.

The OPC standard is a series of specifications developed by industry vendors, end-users and software developers. These specifications define the interface between Clients and Servers, as well as Servers and Servers, including access to real-time data, monitoring of alarms and events, access to historical data and other applications.OPC-OLE-for-Process-Control

When the standard was first released in 1996, its purpose was to abstract PLC specific protocols (such as Modbus, Profibus, etc.) into a standardized interface allowing HMI/SCADA systems to interface with a “middle-man” who would convert generic-OPC read/write requests into device-specific requests and vice-versa.

As a result, an entire industry of products emerged allowing end-users to implement systems using best-of-breed products all seamlessly interacting via OPC.

Initially, the OPC standard was restricted to the Windows operating system. As such, the acronym OPC was borne from OLE (object linking and embedding) for Process Control. These specifications, which are now known as OPC Classic, have enjoyed widespread adoption across multiple industries, including manufacturing, building automation, oil and gas, renewable energy and utilities, among others.

With the introduction of service-oriented architectures in manufacturing systems came new challenges in security and data modeling. The OPC Foundation developed the OPC UA specifications to address these needs and at the same time provided a feature-rich technology open-platform architecture that was future-proof, scalable and extensible.

OPC Communication

These are just some of the reasons why so many members and other technology organizations (collaborations) are turning to OPC UA for their interoperability platform.

OPC Classic

The OPC Classic specifications are based on Microsoft Windows technology using the COM/DCOM (Distributed Component Object Model) for the exchange of data between software components.
The specifications provide separate definitions for accessing process data, alarms and historical data.

OPC Data Access (OPC DA)

The OPC DA specification defines the exchange of data including values, time and quality information.

OPC Alarms & Events (OPC AE)

The OPC A&E specification defines the exchange of alarm and event type message information, as well as variable states and state management.

OPC Historical Data Access (OPC HDA)

The OPC HDA specification defines query methods and analytics that may be applied to historical, time-stamped data.The OPC Classic specifications have served the OPC community well.
However, as technology evolved, so did the need for OPC specifications.In 2008, the OPC Foundation released OPC Unified Architecture (OPC UA), a platform independent service-oriented architecture that integrates all the functionality of the existing OPC Classic specifications, and is backward compatible with OPC Classic.
Several factors influenced the decision to create OPC UA:
  • Microsoft has de-emphasized COM (Component Object Model) and DCOM (Distributed COM) in favor of cross-platform SOA (Service-Oriented Architecture).
  • OPC vendors want a single set of services to expose the OPC data models, such as Data Access, Alarms & Events, Historical Data Access, etc.
  • To stay competitive, OPC vendors need to implement OPC on non-Microsoft systems, including embedded devices.
  • Other collaborating organizations need a reliable, efficient way to transport high-level structured data.
  • Users require the ability to access OPC servers through firewalls in a secure manner.

OPC Unified Architecture

The OPC Unified Architecture (UA), released in 2008, is a platform independent service-oriented architecture that integrates all the functionality of the individual OPC Classic specifications into one extensible framework.

This multi-layered approach accomplishes the original design specification goals of:

  • Functional equivalence: all COM OPC Classic specifications are mapped to UA
  • Platform independence: from an embedded micro-controller to cloud-based infrastructure
  • Secure: encryption, authentication, and auditing
  • Extensible: ability to add new features without affecting existing applications
  • Comprehensive information modeling: for defining complex information

Functional Equivalence

Building on the success of OPC Classic, OPC UA was designed to enhance and surpass the capabilities of the OPC Classic specifications. OPC UA is functionally equivalent to OPC Classic, yet capable of much more:

  • Discovery: find the availability of OPC Servers on local PCs and/or networks
  • Address space: all data is represented hierarchically (e.g. files and folders) allowing for simple and complex structures to be discovered and utilized by OPC Clients
  • On-demand: read and write data/information based on access-permissions
  • Subscriptions: monitor data/information and report-by-exception when values change based on a client’s criteria
  • Events: notify important information based on client’s criteria
  • Methods: clients can execute programs, etc. based on methods defined on the server

Integration between OPC UA products and OPC Classic products is easily accomplished with COM/Proxy wrappers that are available in the download section.

Platform Independence

Given the wide array of available hardware platforms and operating systems, platform independence is essential. OPC UA functions on any of the following and more:

  • Hardware platforms: traditional PC hardware, cloud-based servers, PLCs, micro-controllers (ARM etc.)
  • Operating Systems: Microsoft Windows, Apple OSX, Android, or any distribution of Linux, etc.

OPC UA provides the necessary infrastructure for interoperability across the enterprise, from machine-to-machine, machine-to-enterprise and everything in-between.


One of the most important considerations in choosing a technology is security. OPC UA is firewall-friendly while addressing security concerns by providing a suite of controls:

  • Transport: numerous protocols are defined providing options such as the ultra-fast OPC-binary transport or the more universally compatible SOAP-HTTPS, for example
  • Session Encryption: messages are transmitted securely at 128 or 256 bit encryption levels
  • Message Signing: messages are received exactly as they were sent
  • Sequenced Packets: exposure to message replay attacks is eliminated with sequencing
  • Authentication: each UA client and server is identified through OpenSSL certificates providing control over which applications and systems are permitted to connect with each other
  • User Control: applications can require users to authenticate (login credentials, certificate, etc.) and can further restrict and enhance their capabilities with access rights and address-space “views”
  • Auditing: activities by user and/or system are logged providing an access audit trail


The multi-layered architecture of OPC UA provides a “future proof” framework. Innovative technologies and methodologies such as new transport protocols, security algorithms, encoding standards, or application-services can be incorporated into OPC UA while maintaining backwards compatibility for existing products. UA products built today will work with the products of tomorrow.OPC-UA-Base-Services-Architecture

Information Modeling

The OPC UA information modeling framework turns data into information. With complete object-oriented capabilities, even the most complex multi-level structures can be modeled and extended. Data-types and structures are defined in profiles.

Also Read: OPC Solves Data Connectivity

Don't Miss Our Updates
Be the first to get exclusive content straight to your email.
We promise not to spam you. You can unsubscribe at any time.
Invalid email address

7 thoughts on “What is OPC ?”

  1. we are using Moxa nport at our refrigeration section for monitioring online chiller parameter through SCADA at operator room PC but now i want to show this Parameter at our DCS station, so kindly share me how i can do this. kindly share me procedure.

    we have Mitsubishi make PLC,and we are using allenbradely software CAP server for fetching data from chiller to SCADA point.and we have honeywell make EXperion PKS system . i hope this information is enough. awating your reply.

    • Hi,
      First check at your source end i.e. your refrigeration section. if two output ports are possible to configure then use one more Moxa (RS485, RS232 or TCP/IP) and connect it to DCS. you can get redundancy also. Or you can use Modbus communication from SCADA to DCS. Thanks

  2. Hi,
    Is OPC means Open Platform Communications or OLE (object linking and embedding) for Process Control can u explain this concept little more brief and how the communication is done in each protocol


Leave a Comment