OPC (pronounced as separate letters) is an industrial connectivity standard that enables the transfer of automation data between automation hardware and software. The OPC Foundation (www.opcfoundation.org) is responsible for defining and maintaining all OPC specifications.
The goal of OPC is to make it possible for a software application to access automation data from any control and/or monitoring system, regardless of its vendor. OPC manages this by inserting a middle layer, called an OPC Server, between an application and its data source. The purpose of this layer is to translate the application's data queries into commands that the data source understands. For this to work, both the application and the Server must be OPC-compliant. That is, the application must be capable of issuing OPC commands and the data source must be capable of responding to them.
Common data sources include a PLC, DCS, IED (Intelligent Electronic Device), scale, transmitter, etc. However, data sources can also include software applications such as an HMI, Historian, Advanced Process Control (APC), etc.
OPC is based on client/server technology and has been implemented in almost every industry including Process Manufacturing (such as Oil & Gas, Pulp & Paper, Utilities, etc), Discrete Automation (Automotive, Packaging, Parts, etc), commercial operations (building automation, HVAC, equipment optimization, etc), and even municipal operations such as traffic control.
OPC is a function library which provides a common API (Application Programming Interface) for automation systems.