OPC规范定义了客户程序与服务器程序进行交互的方法,但没有规定具体实现,OPC服务器可由不同的硬件生产商提供,其代码决定了服务器访问物理设备的方式、数据处理等细节。但这些对客户来说是透明的,只要遵循OPC规范就能读取服务器中的数据,图9-10表示了OPC客户与服务器的互联模型。OPC服务器相当于硬件生产商为其设备提供的一个标准的驱动程序。客户和服务器之间是多对多的关系,即一个客户可同时访问多个OPC服务器,同时一个OPC服务器也可被多个客户访问。图1示意了客户与OPC服务器的多对多关系。利用DCOM技术,客户程序和服务器程序可以分布在不同的主机上,形成网络化的制造信息系统。
图1 OPC客户与服务器的互联模型
从图2可以看出,无论是供应商还是最终用户都可以从OPC技术中获得巨大的益处。首先,OPC技术把硬件设备和应用软件有效地分离开,硬件厂商只需提供一套软件组件,所有的OPC客户程序都可使用这些组件,无需重复开发设备的驱动程序。一旦硬件升级,只需修改服务器端的I/O接口部分,无需改动客户端程序。其次,工控软件公司只要开发一套OPC接口就可采用统一的方式访问不同硬件厂商的设备,保证了软件对客户的透明性,使用户完全从底层驱动的开发中脱离出来。
图2 OPC客户、服务器关系
负责制定OPC规范的组织是OPC基金会,它是一个非盈利性的组织。目前,已有会员220余家,世界各主要的工业自动化仪表、控制系统厂商都是基金会的会员。目前,国内很多工控软、硬件生产商都是基金会会员,如北京华控公司、华富惠通公司。 OPC规范的最初目标是尽快制定一个开放、灵活、即插即用的工业标准,因此最初版本侧重于实时数据访问、报警事件处理、历史数据访问等方面。安全性、批处理等附加功能在随后的版本中定义。 自基金会于1996年8月完成最初的OPC规范后,1997年9月发布了OPC规范1.0A,并更名为数据访问规范OPC DA 1.0A;2001年12月发布了OPC DA 2.05A。目前OPC数据访问规范的最高版本是于2003年3月发布的OPC DA 3.00。数据访问规范定义了OPC服务器中的一组COM对象和接口,并规定了客户程序对服务器程序进行数据访问时需要遵循的标准。 OPC成功解决了企业范围内同构计算机间的信息交换问题,但这一互操作性不适用于异构计算机,同时DCOM无法穿透防火墙,因而一个企业的OPC客户无法通过Internet直接访问另一个企业的OPC服务器。XML因其良好的平台无关性、易传输性、可靠性逐渐发展为新一代的标准网络语言,基金会紧随网络发展的最新趋势,并利用这一新技术来增强OPC技术,使其更适合于Internet应用。因此,基金会于1999年10月6日宣布基金会将发布与微软BizTalk体系兼容的XML大纲,定义基于XML的OPC接口,从而在现场控制层实现OPC与XML的集成,把Internet技术应用到过程控制中。OPC与XML的集成可实现OPC的跨平台性,支持XML的任何平台都可通过基于XML的OPC接口进行通讯。