
OPC之所以流行,是因为它是一个开放的标准,任何经过认证的供应商都可以在其软件解决方案中实现。工业OPC最好被描述为软件解决方案和工业设备驱动程序之间的共享“语言”。OPC并不是SCADA系统中软件通信的唯一方式,但它非常受欢迎,因为它不会被锁定为单一供应商。
任何OPC架构的基石都由两个主要的软件组件组成:OPC客户端和OPC服务器。OPC服务器是一个软件,它可以从一端讲OPC,从另一端讲不同的协议。OPC服务器的OPC端可以与任何支持相同OPC风格的OPC客户端进行通信。

OPC软件体系结构
例如,用于Modbus的OPC服务器将能够从一端与OPC客户端通信,将OPC请求转换为Modbus请求,然后将Modbus请求发送到另一端的现场设备。这有效地允许OPC客户端通过OPC服务器与Modbus设备通信,而无需直接使用Modbus。见下图:

OPC与Modbus
OPC客户端通常作为HMI软件包、过程历史记录组件或任何软件解决方案的一部分存在,这些解决方案预期能够与尽可能多的工业协议进行通信。
OPC架构是可扩展的,这意味着多个客户端应该能够连接到单个OPC服务器。这允许多个独立的软件与工业设备进行通信。

多个OPC客户端和OPC服务器
目前OPC主要有两种版本:经典OPC和OPC UA,前者是原始OPC,后者是新一代OPC。OPC标准由OPC基金会管理。
OPC D一般也会被称为经典OPC或者传统OPC。
经典OPC DA是OPC的原始形式,可以追溯到大约20年前。它依靠一种称为COM\DCOM的微软技术在OPC客户端和OPC服务器之间交换消息。经典OPC是迄今为止使用最广泛的工业OPC形式。它支持三种类型:OPC DA:实时数据交换规范,OPC HDA:用于历史数据访问,OPC AE:用于通过OPC捕获报警和事件。
由于经典OPC依赖于Microsoft技术,因此它只能在Windows平台上工作。
2008年左右发布。OPC UA使用现代面向服务的软件架构,用于工业OPC UA客户端和服务器之间的数据交换。这是未来的OPC。越来越多的工业设备供应商正在为其设备构建OPC UA服务器。
与传统的OPC不同,OPC UA不仅依赖于微软的技术,因此它可以在多个平台上运行。这为技术提供了很大的灵活性。例如,OPC UA服务器可以在运行低级非Windows平台的嵌入式设备中找到,这对于经典OPC来说是不可行的。
与传统OPC类似,工业OPC UA软件支持实时数据通信(OPC DA)、历史数据访问(OPC HA)以及报警和状态(OPC AC)。然后,OPC UA进一步扩展了功能:它提供了现代的安全功能来保护数据,以及更先进的数据建模等。