OPC(Object Linking and Embedding(OLE) for Process Control)是微软公司的对象连接和嵌入技术在过程控制方面的应用。OPC规范从OLE/COM/DCOM的技术基础上发展而来,并以C/S模式为面向对象的工业自动化软件的开发建立了统一标准,该标准中定义了在基于PC的客户机之间进行自动化数据实时交换的方法。采用OPC标准后,驱动程序不再由软件开发商开发,而是由硬件开发商根据硬件的特征,将各个硬件设备驱动程序和通讯程序封装成可独立运行或嵌入式运行的数据服务器。
OPC主要标准
|| ||
通讯方式OPC规范规定了两种通讯方式:同步通讯方式和异步通讯方式。其整个数据读取工作可以描述如下:
首先,OPC.DA客户端要能够连接到DA服务器上,并建立OPC组(Group)和OPC数据项(Item),这是OPC.DA的基础,如果没有这个基础,DA的其它功能是不可能实现的。为了访问过程数据,DA客户需要事先指定DA服务器的名称、运行DA服务器的机器名、DA服务器上的Item定义。
其次,客户端通过对其建立的Group与Item进行访问实现对过程数据的访问,客户端可以选择设备(Device)或缓冲区(Cache)作为其访问的数据源。客户端的过程数据访问包括过程数据的读取、更新、订阅、写入等等。
最后,完成通知,服务器响应客户端的过程数据访问请求,并进行处理,当完毕时通知客户,如异步读写时,服务器要在操作完毕时通知客户端。1
OPC的特点(1)标准化:OPC是专门为过程控制而设计的标准,它将访问现场设备的方式以标准接口的形式统一的提供给用户,使得用户可以从硬件通信中解放出来,而专注于监控软件的功能。在高级商业软件中,OLE自动化接口独立于COM用户化接口,单独实现该接口即可适用于所有的客户应用程序,这样就实现了软件的“即插即用",使得过程控制的软硬件的选择范围大为增加。硬件制造商只要开发出支持OPC规范的驱动程序,该硬件就可以为所有支持OPC规范的客户软件所兼容,系统可以方便的进行修改和升级。
(2)分布式:OPC规范是以COM/DCOM技术为基础,使得过程控制的软硬件配置具有分布性。作为分布式应用系统的基本构架,客户端程序与DOOM组件对象之间形成了客户/服务器关系,客户端程序只负责接受用户的输入并把服务器的响应结果反馈给用户,这种分布式结构不仅可以减轻客户端程序的负担,还能够提高系统的整体性能,对客户端程序而言,组件程序所处的位置是透明的,不必编写任何处理远程调用的代码,因为DCOM已经处理了底层网络协议的所有细节。
(3)开放性:对客户和生产商来说,OPC意味着开发性。OPC的规范是开放的,也就是说只要选择了OPC标准,就可以很容易的选择设备或软件,系统集成变得非常容易。企业可以更有效、更迅速地使原先相互分割的商务系统和控制系统的集成起来,把企业众多的监控和制造系统无缝的集成为一体,构造一个工业自动化体系,大大提高企业的运营效率。
(4)组件化:OPC接口规范并不依赖任何编程语言,它只是规定了二进制级的标准。任何语言只要有足够的数据表达能力就可以用于OPC组件的开发。组件化的编程方式使自动化软件的开发变得简单,各个功能模块保持其接口的不变性,各个软件厂商只需面向接口编写自己的程序就可以达到预期的效果。随着应用系统和组件程序版本的升级,接口也要发展,在添加了新功能新接口的同时,也保留了原有接口的功能,保证了软件版本的向后兼容性。
(5)实时性:OPC服务器可以是本地的也可以是远程的,与传统的动态数据交换DDE相比传送的数据量更大、速率更快。例如:本地服务器每秒可进行1000次数据交换,远程服务器每秒可进行100次数据交换;多个数据项可同时交换。OPC标准的关键在于它提供了一种开放、高效的通信机制,为监控软件提供了一种一致的存取现场设备数据的方法。2
本词条内容贡献者为:
李晓林 - 教授 - 西南大学