自动化技术人员都有一个美丽的梦想,是否可以将自动化控制软件和硬件万能连接。而不再考虑驱动程序和接口问题,即非常简单的Plug&Play{即插即用}。使用OPC(用于过程控制的OLE),可以帮助实现这个梦想。当然用户对此很感兴趣。并且首先赢得了自动化软件制造商的支持-OPC的第一批产品己先于标准化委员会确定的日期投放市场。
在以前的自动化领域的通信技术规范方面,很少有象OPC新技术标准那样能引起如此强烈轰动。OPC是用于过程控制的OLE(OLE for Process Control)的首字母缩写词,在今天已经理所然地被自动化组件的制造商逐步发展成一个事实上的新技术标准,而所谓OLE含义是对象链接及嵌入,用于过程控制。
当今,软件在自动化领域内使用的重要性与日俱增。无论项目是否涉及到操作、可视化、数据存档或控制,向纯粹的、基于PC的软件解决方案的发展趋势是不可阻挡的。时间已经证明,这些软件解决方案不再是开发单个的块,而是由专用的单个软件组件组成。采用可重复使用的模块以及利用这些模块所具有的柔性构成整个系统,其能力似乎是没有什么能替代的,唯一例外的是通信接口的不兼容性。用于适配通信接口的时间和资金是必需要投入的,其目的是将这些软件模块组合在一起。由此开发出了数以百计的通讯接口软件程序,例如,用于过程控制或可视化系统与外围设备进行通信的接口程序。但是,与此同时,亦显著增加了成本。
而OPC(用于过程控制的OLE)为这种情况提供了一个补救方法:OPC使诸如软件连接器等软件组件组合在一起,这些组件不需要特殊的适配就能相互通信。 因此,即插即用在自动化中成为现实。于是就可回答为什么需要OPC的问题?
2、为什么需要OPC
具体可从以下二点说明:
第一、对于早期的计算机系统,为了实现不同的硬件和软件所构成的计算机之间的数据交换和通信,必须要花费很多时间去开发独自的通信程序。但是正是由于现在有了数据交换和通信的工业标准,才有可以实现像互联网那样,使不同的计算机相互连接为巨大网络。所以在开发企业的信息系统时,若采用符合工业标准的数据库和客户-服务器接口,可以使有效的精力更多地投入到应用程序本身功能的开发中去。
第二、工业制造系统也存在同样的问题。也就是使由不同的供应商提供的机器设备无须特别的软件开发就可以互相连接。例如在实现象图1那样多层生产控制信息系统时,从处理设备数据的现场设备层,到进行过程处理的过程控制系统层,以至最上层的生产管理层,建立和普及一个有效的数据交换工业标准将是当务之急。在这种情况下,利用微软Windows视窗中的OLE/COM技术实现工业制造系统过程控制中的数据交换标准化,正是OPC本来的目的所在。
3、那什么是OPC?
OPC定义了一个开放的接口,在这个接口上,基于PC的软件组件能交换数据。它是基于Windows的OLE--对象链接和嵌入、COM--部件对象模型和DCOM--分布式COM技术。因而,OPC为自动化层的典型现场设备连接工业应用程序和办公室程序提供了一个理想的方法。
Windows程序的标准接口的引入,使得硬件制造商为其部件所开发的接口程序的数量减少到一个,只需要开发一个针对OPC服务器的接口程序,同样,软件制造商也只需要开发唯一的通讯接口程序--OPC客户机接口。这不但对制造商有利,而且对最终客户也有利用。
值此应对上述基于COM技术的OPC作具体分折。
3.1基于COM技术的OPC
微软公司为了提供商业应用程序和特定用途的软件包间的相互连接性,开发了所谓的部件(组件)对象模型技术。COM是一种软件组件间相互数据交换的有效方法。是一个二进制和网络的标准。也是DCOM、ActiveX(Active X是对广泛使用的OLE控件技术的更新和升级。它依赖于COM技术,是OLE控件技术的更名和重构)和OLE技术的核心。而COM技术具有以下特长:
* 所谓COM并不是一种计算机语言,与运行的机器、机器的操作系统(只要支持COM)以及软件开发语言均无关,是任意的两个软件组件之间都可以相互通信的二进制和网络的标准。
* COM服务器是根据COM客户的要求提供COM的服务的执行可能的程序,可以作为Win32服务器上可执行的文件发布。
* COM客户程序和COM服务器可以用完全不同的语言开发。这样使利用C++,Visual Basic,以及Excel中作为宏使用的应用程序的Visual Basic等不同语言所开发的程序可以相互连接。
* COM组件可以以二进制的形式发布给用户。
* 与过去DLL(动态链数据库)的版本管理非常困难的问题相比,COM技术可以提供不同版本的COM服务器和COM客户程序之间的最大的兼容性。
* 作为COM技术扩展的分布式COM技术,更可以使COM组件分布在不同的计算机上,并通过网络互相连接并互相交换数据。所以对于COM客户程序来说,同样像连接本地计算机上的COM服务器一样,去连接远程计算机上的COM服务器,当然通信的速度不太一样,但是重要的是不必对服务器程序进行修正就可以在网络上自由构成如图2那样的利用COM和DCOM(分布式COM)达成的组件的互相连接。
COM技术的出现使简单地实现控制设备和控制管理系统之间的数据交换提供了技术基础。但是如果不提供一个工业标准化的COM接口,各个控制设备厂家开发的COM组件之间的相互连接仍然是不可能的。这样的工业标准的提供乃是OPC的目的所在。总而言之,OPC是作为工业标准定义的特殊的COM接口。
3.2 OPC与DDE的比较
在OPC技术出现以前,DDE(动态数据交换)技术曾经对过程控制作出巨大贡献。但是DDE是基于Windows信息传递而建立的技术,所以DDE技术存在以下问题:
* 数据的传送速度较慢
* 没有安全性管理机制
* 开发困难
* 功能缺乏柔软性
* 可靠性也难以令人满意
所以基于先进的COM技术的OPC技术将逐渐取代现在在过程控制中广泛使用的DDE的位置乃是顺理成章的事情。随着OPC技术的导入,和过去的DDE技术相比,在以下方面显示出它的优越性:
* 高速的数据传送性能
* 基于分布式COM的安全性管理机制
* 开发成本的降低
* 实现具有高度柔软性功能的系统
* 实现具有高可靠性的系统
图3是分别利 用OPC和DDE进行数据传送性能的实验结果的例子。从这里也可以看出OPC技术在传送速度上的优越性。
4、用户如何从OPC得到好处?
在过去,通常仅有有限的接口程序能与专用的自动化组件兼容。众所周知,为所有的专用接口开发接口程序是不可能的。在今天明显的创新是,用户能够把任何一个可视化或控制系统与所选择的任一硬件(即PC插板)通过OPC组合在一起,见图4所示。 从4图中可看出,OPC-标准的软件总线使多种现埸总线系统得以集成,如PROFIBUS网络、CANopen(开放式控制局域)网络、Device Net(设备网络)等。从图4的中也可深入反映出OPC和现场总线的标准化的关系:OPC提供现场总线以外的重要的附加性能,现场总线领域标准化的主要目标是快速,可靠的数据传输。而OPC使标准通信达到这样的程度,即任何OPC服务器和应用软件能联网运行而不会产生任何问题。
图4中PROFIBUS是国际公认的开放式的现场总线标准,是国际标准IEC61158的组成部分TypeIII。接口程序和OPC服务器质量的提高进一步扩展了这种优点,制造商能够把它们的精力专注于开发一个独特的OPC服务器,因为不用面对众多的接口程序,就能把精力投入到增加附加的功能性和提高操作者友好性方面的工作。而且,由专门的OPC基金会工作实施的一致性测试促进了OPC产品质量的提高。
过去,使用专用接口程序经常受限于单个应用程序。现在一个应用程序能通过有若干个客户机的OPC接口访问OPC服务器。因而,能更灵活地访问OPC服务器的功能性和内部数据。这种多客户机能力不仅给本地PC带来好处,还能通过DCOM(分布式组件对象模型)用在分布式网络上。
这样,例如一个运行在办公室计算机上的可视化系统不必购买附加的接口程序软件就能与位于工厂车间内的OPC服务器链接在一起。
OPC所具有的灵活性和高水平的机动能性,对于制造厂商和用户来说分别可以从OPC得到以下的实惠:
* 设备开发者;可以使设备驱动器开发的单一化成为可能。
* 应用程序软件开发者:可以使用通用的开发工具。不必开发特别的接口,使得设备接口的开发更为简单易行。
* 用户:可以选用各种各样的商业软件包,使得系统构成的成本大为降低。同时可以更加容易地实现由不同供应厂商提供的设备所混合构成的工业控制系统。
随着基于OPC标准的控制组件的推广和普及,不仅使控制系统的增设和组件的置换,更加简单,而且使过程数据的访问也变得容易。比如,过程控制程序可以直接和数据分析软件包或电子表格应用程序连接,从而达成高度的工厂控制系统的信息化。
为此,可以详细地分折出OPC怎样解决你的问题?
5、OPC怎样解决你的问题
应该说,OPC诞生以前,硬件的驱动器和与其连接的应用程序之间的接口并没有统一的标准。例如,在FA-工厂自动化领域,连接PLC等控制设备和SCADA/HMI软件,需要不同的FA网络系统构成。根据某调查结果,在控制系统软件开发的所需费用中,各种各样机器的应用程序设计占费用的7成,而开发机器设备间的连接接口则占了3成。此外,在PA-过程自动化领域,当希望把分布式控制系统(DCS-Distributed Control System)中所有的过程数据传送到生产管理系统时,必须按照各个供应厂商的各个机种开发特定的接口,例如,利用C语言DLL(动态链路数据库)连接的DDE(动态数据交换)服务器或者利用FTP(文件传送协定)的文本等设计应用程序。如由4种控制设备和与其连接的监视、趋势图以及表报3种应用程序所构成的系统时,必须花费大量时间去开发分别对应设备A,B,C,D的监视,趋势图以及表报应用程序的接口软件共计要用1 2种驱动器。同时由于系统中共存各种各样的驱动器,也使维护运转环境的稳定性和信赖性更加困难。
而OPC是为了不同供应厂商的设备和应用程序之间的软件接口标准化,使其间的数据交换更加简单化的目的而提出的。作为结果,从而可以向用户提供不依靠于特定开发语言和开发环境的可以自由组合使用的过程控制软件组件产品。
利用OPC的系统,是由按照应用程序(客户程序)的要求提供数据采集服务的OPC服务器,使用OPC服务器所必需的OPC接口,以及接受服务的OPC应用程序所构成。OPC服务器是按照各个供应厂商的硬件所开发的,使之可以吸收各个供应厂商硬件和系统的差异,从而实现不依存于硬件的系统构成。同时利用一种叫做Variant的数据类型,可以不依存于硬件中固有数据类型,按照应用程序的要求提供数据格式。
利用OPC使接口标准化可以构成如图5所示的系统。
从图5可此看出,用户可以不依存于设备A,B,C,D的内部结构及它的供应厂商,来选用监视,趋势图以及表报应用程序。
6、OPC适用于哪些地方
OPC是为了连接数据源(OPC服务器)和数据的使用者(OPC应用程序)之间的软件接口标准。数据源可以是PLC,DCS,条形码读取器等控制设备。随控制系统构成的不同,作为数据源的OPC服务器即可以是和OPC应用程序在同一台计算机上运行的本地OPC服务器,也可以是在另外的计算机上运行的远程OPC服务器。如图6所示。
图6中可看出,在控期制系统中OPC所占的位置。OPC接口既可以适用于通过网络把最下层的控制设备的原始数据提供给作为数据的使用者(OPC应用程序)HMI(硬件监督接口)/SCADA(监督控制与数据采集),批处理等自动化程序,以至更上层的历史数据库等应用程序,也可以适用于应用程序和物理设备的直接连接。所以OPC接口是适用于很多系统的具有高厚度柔软性的接口标准。其OPC的应用范围通过图7可见。
既然提到OPC接口那末有必要对OPC接口的定义作说明
6.1 OPC接口定义说明
OPC接口定义了一定的组件类型,并确定这些组件必须具有哪些性能。这样一种“服务提供者”人们称作为OPC服务器。独特的OPC服务器实现了已有通讯系统的连接。OPC服务器的服务用户称为OPC客户机。OPC客户机可以是操作和监控系统、归档系统和许多其他过程数据用户。这种服务将通过面向对象的属性和方法来体现。每一个OPC服务器都提供这种属性和方式的程序段。因此,不同生产商组件产品之间的协作将不成问题一自动化技术软件的即插即用技术。
6.2那OPC接口的应用?
在哪些情况下,用户需要使用OPC接口?即提供过程数据的组件制造商(通讯系统、测量仪器等),将组件和OPC服务器一起使用。OPC服务器可以与数据源连接。与数据源的通讯转换组件是组件制造商的唯一职责。OPC服务器的用户不用过问制造商的详细细节。
OPC接口与具体应用无关,即使传统的办公应用程序都可自动化系统相连接;用户将自己决定,不用考虑驱动器或接口,就可选择安装有OPC的自动化组件,既费劲又耗时地匹配驱动程序的工作将一去不复返,这样特大大降低工程成本。
7、OPC有多强大?
为了定性地判断OPC的性能,所选的仪器设备在Softing(软性)进行了测试,使用两台商用PC机。配置有奔腾90处理器、48或64兆内存,故意选用低档性能配置的计算机以排除好的测量结果是归因于高性能的计算机,这两台计算机上的操作系统为Windows NT4.0。
对于本地的测试 ,一台小型的OPC客户机测试应用程序以及来自Softing的PROFIBUS DP OPC服务器安装在一台PC上.对于包含DCOM的分布式OPC应用程序的测试,OPC测试客户机在第二台远程PC上启动。
在本地以及两合计算机之间,5000个过程变量(一个非常实用的可视化系统)的变化值能在1秒内在OPC服务器和OPC客户机之间传送。对于只有500个过程变量的情况,只需100毫秒时间。因而 OPC被认非常适合于在很短的更新速率内采集大量的动态过程变量的应用场合。
这就是为什么除那些应用在过程可视化以及数据采集的产品。诸如S0ft-PLC 4CONTROL用于时间临界的控制程序将完全基于OPC的原因。在这个配置中,远程PC通过公司内部的网络连接到第一台PC。
选择测试的是由事件驱动数据传送的每日报表。其中OPC服务器连续地产生数值,这些数值传送给OPC客户机。测试组重复地测试从第一次由NT(网络终端)接口程序的高速缓存器读出限定数量的数据值到全部数值收到后由OPC客户机所确认的时间。结果是只有纯粹的服务器与客户机间的传送时间需要考虑,而无须考虑从自动化设备采集数值的时间。
因为OPC在测试客户机收到数据后就将其丢弃,因而,所有特定的应用流程如数据归档或可视化均包括在测试中。从不同时间连续测得的数值取平均值。传送到OPC客户机的数值其数量从1到5000,用于调查对传送时间的依赖程度。
8、集成的OPC服务器
包括在4CONTROL系统中的“零工程”可视化特性自动地由IEC源代码汇编生成,并且能够通过标准的Internet浏览器在任何地方看到。万一预生成的可视化不能满足要求用户能使用一个由SCADA(监督控制与数据采集)制造商提供的可视化系统软件包。并通过OPC接口,4CONTROL能作为可视化专用的OPC服务器,OPC接口此时用于全部的过程可视化系统。所有IEC控制程序中的全部变量、功能块、程序和任务作为OPC条目/OPC变量显示在可视化窗口;通过集成的4CONTROLOPC服务器,用户的输入直接传送到控制程序。
随着诸如OPC和4CONTROL作为控制程序的新标准,具有不同电源要求的硬件能用于具有不同偏离要求的工厂内。开放的OPC接口为客户提供高度的自由度使客户能够摆脱制造商的要求,而使用现有技术及其它先进技术并具有高度的灵活性。
9、总结
使用OPC(OLE for process control)技术,第一次实现了不用考虑驱动程序和接口问题,就可以在自动化控制软、硬件之间实行无缝链接。
OPC基于Microsoft Windows的COM/DCOM技术,定义了工业应用领域,使用起来与制造商不相关的接口。即使是非常欢迎的Office程序,都可以连接到自动化的世界。
OPC不仅给自动化组件的制造商提供了如此多的优点。用户第一次在选择它们的硬件和软件模块时具有充分的灵活性。通过标准化通信接口,多种供应商的产品能被组合、匹配在一起,并且在无需修改程序的情况下能够相互作用。OPC使得即插即用在自动化应用中成为现实,并且还允许集成各种各样的现场总线系统。将OPC提供众多的优点归纳为:
* 在过程控制和机器制造工业领域的“即插即用”
* OPC使自动化环境中的即插即用设想成为现实。OPC允许在不同供应商开发的硬件装置和应用软件之间通过共同的接口进行数据交换。Windows技术和OPC接口使之有可能将可编程序控制揣的硬件和软件组合在一起,而不需要开发大量专用的通讯接口程序由此节省不少人力物力
* OPC使从办公室产品到过程数据的访问简单易行而且灵活可靠。