OPC的开发背景和历史
在工业控制中存在两类数据通信问题:第一个是控制系统如何与现场设备数据交换;第二个是工业过程管理等高级应用系统如何与计算机控制系统进行实时数据通信。对于这两类问题的一个广泛使用的解决方案就是采用如图4.1所示的传统客户机/服务器模型。在此模型中,分别为不同的数据源(包括现场设备及软件数据库)开发不同的驱动程序(即服务器),然后,在各个应用程序(即客户机)中分别为不同的服务器开发不同的接口程序。对于由多种硬件和软件系统构成的复杂系统而言,这种模型的缺点是显而易见的:对客户应用程序开发方,要处理大量与接口有关的任务,不利于系统开发、维护和移植,因此这类系统的可靠性、稳定性及扩展性较差;对硬件开发商,要为不同的客户应用程序开发不同的硬件驱动程序。如何使技术人员专注于系统功能的开发,而不被复杂的数据接口问题所困扰是急待解决的问题。
在这样的背景下,OPC规范被提出来。OPC是OLE(Object Linking and Embedding) for Process Control的简称,即用于过程控制的对象链接与嵌入。早期的OPC标准是由Fisher-Rosement、Intellution、Rockwell Software、Intuitive Technology,以及OPTO 22五家公司所组成的OPC特别工作小组在1995年开发的,微软同时作为技术顾问给予了支持。之后为了普及和进一步改进,于1996年8月完成了OPC数据访问标准版本1.0。OPC基金会(OPC Foundation)是1996年9月24日在美国达拉斯举行了第一次理事会,并于同年10月7日在美国的芝加哥举行的第一次全体大会上宣告正式成立的。中国于2001年12月正式成立了中国OPC促进会。OPC基金会从成立开始会员逐年增加,到目前为止在全球范围内已有众多公司加入了这个国际标准组织。同时由控制设备厂商和控制软件供应商提供的OPC产品也日益增加,目前,已有几千种以上的OPC服务器产品和OPC应用程序产品出现在由OPC基金会发行的OPC产品目录上。符合OPC规范的产品的大量开发和使用又推动了该标准在更大范围内被接受,极大地促进了该标准的普及和应用。
现存的和正在开发的OPC标准有14个,表1列出了部分标准及其内容。
标准
版本
内容
Data Access
1.0A,2.0,3.0
数据访问的标准
Alarm and Events
1.0,2.0
警报和事件的标准
Historical Data
1.0,1.2
历史数据访问的标准
Batch
1.0,2.0
批处理的标准
Security
1.0
安全性的标准
Compliance
1.0
数据访问标准的测试工具
OPC XML
1.01
过程数据的XML标准
OPC Data eXchange
1.0
服务器间数据交换的标准
OPC Complex Data
正在制定
OPC复杂数据类型
OPC UPnP
正在制定
OPC即插即用
OPC Command Executin
OPC规范定义了一个工业标准接口,它基于微软的OLE/COM(Component Object Model,COM)技术,采用客户机/服务器结构,如图4.2所示。它使控制系统、现场设备与工厂管理层应用程序之间具有更大的互操作性。OLE/COM是一种客户机/服务器模式,具有语言无关性、代码重用性、易于集成性等优点。OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得用户完全从底层的开发中脱离出来。OLE/COM的扩展远程OLE自动化与DCOM(Distributed COM)技术支持TCP/IP等多种网络协议,可以将OPC客户、服务器在物理上分开,分布于网络不同节点上。OPC把硬件供应商和软件开发商分离开来,硬件开发商通过提供带OPC接口的服务器,使得任何带有OPC接口的客户程序都可采用统一方式存取不同硬件厂商的设备。正是因为OPC技术的标准化和适用性,在短短的几年内得到了工控领域硬件和软件制造商的承认和支持,它已经成为工控软件业界公认的事实上的标准。