industrial//industrial data layer//OPC

OPC is a standard interface to industrial data through which a SCADA, MES or historian reads a PLC without speaking its proprietary protocol: the vendor or integrator implements an OPC server for the PLC, and the clients talk OPC to that server. It answered one of the historic problems of automation: every vendor exposed its data differently, so a SCADA would have needed to implement every industrial protocol. SCADA is the consumer OPC was invented for: one driver instead of a driver per PLC brand, and the protocol problem passed from the SCADA vendor to the PLC vendor.


OPC is a standard interface to industrial data through which a SCADA, MES or historian reads a PLC without speaking its proprietary protocol: the vendor or integrator implements an OPC server for the PLC, and the clients talk OPC to that server. It answered one of the historic problems of automation: every vendor exposed its data differently, so a SCADA would have needed to implement every industrial protocol. SCADA is the consumer OPC was invented for: one driver instead of a driver per PLC brand, and the protocol problem passed from the SCADA vendor to the PLC vendor.

The original OPC, now called OPC Classic, and its data-access profile OPC DA were tied to Microsoft COM and DCOM. It worked on Windows and suffered exactly the problems of that dependency: Windows only, painful DCOM configuration, weak security, firewalls and interoperability. In short, it is old and it is Windows.

Its successor, OPC UA, dropped COM/DCOM and added an information model. The idea of a server in front of the controller survived both generations, and it is now also a role of the edge gateway.