OPC = OLE for Process Control
OPC  is a software interface standard  that allows Windows programs to communicate with industrial hardware devices.
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:
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.
In addition to enhancing OPC server and client connections, the OPC DataHub can connect any OPC server or client to other applications as well, such as Excel, a web browser, or any ODBC database. And it can also be used to get OPC data into Linux or QNX.
- 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 acronym "OPC" comes from "OLE (Object Linking and Embedding) for Process Control". Since OLE is based on the Windows COM (Component Object Model) standard, under the hood OPC is essentially COM. Over a network, OPC relies on DCOM (Distributed COM), which was not designed for real-time industrial applications and is often set aside in favor of OPC tunnelling.
 OPC actually comprises several standards, the first and most important of which is OPC Data Access (OPC DA). There are also standards for alarms & events, historical data, batch data, and XML.
 Programmable Logic Controller: a small industrial computer that controls one or more hardware devices.
 Human-Machine Interface: a graphical interface that allows a person to interact with a control system. It may contain trends, alarm summaries, pictures, or animation.