在OPC之前,需要花费很多时间使用软件应用程序控制不同供应商的硬件。存在多种不同的系统和协议;用户必须为每一家供应商和每一种协议订购特殊的软件,才能存取具体的接口和驱动程序。因此,用户程序取决于供应商、协议或系统。而OPC具有统一和非专有的软件接口,在自动化工程中具有强大的数据交换功能。
OPC (OLE for Process Control)是嵌入式过程控制标准,规范以OLE/DCOM为技术基础,是用于服务器/客户机连接的统一而开放的接口标准和技术规范。OLE是微软为 Windows系统、应用程序间的数据交换而开发的技术,是 Object Linking and Embedding的缩写。
OPC从数据来源提供数据并以标准方式将数据传输至任何客户机应用程序的机制。供应商现在能够开发一种可重新使用、高度优化的服务器,与数据来源通信,并保持从数据来源/设备有效地存取数据的机制。为服务器提供OPC接口允许任何客户机存取设备。
OPC将数据来源提供的数据以标准方式传输至任何客户机应用程序。OPC(用于进程控制的OLE)是一种开放式系统接口标准,可允许在自动化/PLC应用、现场设备和基于PC的应用程序(例如HMI或办公室应用程序)之间进行简单的标准化数据交换。 定义工业环境中各种不同应用程序的信息交换,它工作于应用程序的下方。您可以在PC机上监控、调用和处理可编程控制器的数据和事件。
OPC数据项是OPC服务器与数据来源的连接,所有与OPC数据项的读写存取均通过包含OPC项目的OPC群组目标进行。同一个OPC项目可包含在几个群组中。当某个变量被查询时,对应的数值会从最新进程数据中获取并被返回,这些数值可以是传感器、控制参数、状态信息或网络连接状态的数值。OPC的结构由3类对象组成:服务器、组和数据项。
OPC服务器:提供数据的OPC元件被称为OPC服务器。OPC服务器向下对设备数据进行采集,向上与OPC客户应用程序通信完成数据交换。
OPC客户端:使用OPC服务器作为数据源的OPC元件称为OPC客户端。
OPC服务器支持两种类型的数据读取:同步读写(Synchronous read/write)和异步读写(Asynchronous read/write)。
同步读写:OPC的客户端向服务器发出一个读/写请求,然后不再继续执行,一直等待直到收到服务器发给客户机的返回值,OPC 客户端才会继续执行下去。
异步读写:OPC的客户端向服务器发出一个读/写请求,在等待返回值的过程中,可以继续执行下面的程序,直到服务器数据准备好后,向客户机发出一个返回值,在回调函数中客户端处理返回数值,然后结束此次读/写过程。
同步读/写数据存取速度快,编程简单,无需回调,但需要等待返回结果。异步读写不需等待返回值,可以同时处理多个请求。