OPC原理和配置说明书1OPC原理和配置说明书第一部分:OPC原理1.概述OPC(OLEforProcessControl——用于过程控制的OLE)是一个工业标准,它是许多世界领先的自动化和软、硬件公司与微软公司合作的结晶。这个标准定义了应用Microsoft操作系统在基于PC的客户机之间交换自动化实时数据的方法。管理该标准的组织是OPC基金会。该基金会的会员单位在世界范围内超过220个。包括了世界上几乎全部的控制系统、仪器仪表和过程控制系统的主要供应商。OPC基金会的先驱——一支由Fisher-Rosemount、Rockwell软件公司、Opto22、Intellution和IntuitiveTechnology公司组成的“特别工作组”——在经过一年工作后,开发出一个基本的、可运行的OPC规范。简化的第一阶段的标准在1996年8月发布。随着1997年2月Microsoft公司推出Windows95支持的DCOM技术,1997年9月新成立的OPCFoundation对OPC规范进行修改,增加了数据访问等一些标准,OPC规范得到了进一步的完善。OPC是基于Microsoft公司的DistributedInternetApplication(DNA)构架和ComponentObjectModel(COM)技术的,根据易于扩展性而设计的。OPC规范定义了一个工业标准接口,这个标准使得COM技术适用于过程控制和制造自动化等应用领域。OPC是以OLE/COM机制作为应用程序的通讯标准。OLE/COM是一种客户/服务器模式,具有语言无关性、代码重用性、易于集成性等优点。OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。2.传统的过程控制系统结构传统的过程控制系统是一对一的系统,任何一种HMI等上位监控软件或其它应用软件(如趋势图软件、数据报表与分析等)在使用某种硬件设备时都需要开发专用的驱动程序。如图1所示:图12系统构建完成后的最终结果是:1种软件要使用N类硬件设备需要开发N个驱动程序;M类软件要使用N类硬件设备需要开发M*N个驱动程序;每增加1个新的应用软件需要另外开发N个硬件设备的驱动程序;每增加1个新的硬件设备需要为M个软件开发新的设备驱动程序;在上图所示的例子中,针对4种控制设备所完成的3个应用系统一共需要开发3*4=12种驱动程序。新增应用软件或者硬件设备带来的只会是驱动程序种类的迅速增长。3.基于OPC技术的过程控制系统结构基于OPC技术的过程控制系统则可以完美地解决传统方式种的上述问题。其基本系统结构如图2所示:图2任何一种设备只需要提供一种驱动就可以供任何软件系统使用,系统构建完成后的最终结果是:•M类软件要使用N类硬件设备只需要开发N个驱动。•每增加1个新的应用软件不需要另外开发硬件设备的驱动程序;•每增加1个新的硬件设备只需要为开发1个新设备的驱动程序;在上图所示的例子中,针对4种控制设备所完成的3个应用系统一共仅需要开发4种驱动程序。新增应用软件或者硬件设备可以轻松的扩展您的系统。由于OPC规范基于OLE/COM技术,同时OLE/COM的扩展远程OLE自动化与DCOM技术支持TCP/IP等多种网络协议,因此可以将OPC客户、服务器在物理上分开,分布于网络不同节点上。OPC规范可以应用在许多应用程序中,如它们可以应用于从SCADA或者DCS系统的物理设备中获取原始数据的最底层,它们同样可以应用于从SCADA或者DCS系统中获取数据3到应用程序中。实际上,OPC设计的目的就是从网络上某节点获取数据。OPC的客户/服务器关系图同样描述了OPC在SCADA系统的应用。4.采用OPC规范设计系统的好处:采用标准的Windows体系接口,硬件制造商为其设备提供的接口程序的数量减少到一个,软件制造商也仅需要开发一套通讯接口程序。即有利于软硬件开发商,更有利于最终用户。OPC规范以OLE/DCOM为技术基础,而OLE/DCOM支持TCP/IP等网络协议,因此可以将各个子系统从物理上分开,分布于网络的不同节点上。OPC按照面向对象的原则,将一个应用程序(OPC服务器)作为一个对象封装起来,只将接口方法暴露在外面,客户以统一的方式去调用这个方法,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。OPC实现了远程调用,使得应用程序的分布与系统硬件的分布无关,便于系统硬件配置,使得系统的应用范围更广。采用OPC规范,便于系统的组态,将系统复杂性大大简化,可以大大缩短软件开发周期,提高软件运行的可靠性和稳定性,便于系统的升级与维护。OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而实现系统的开放性,易于实现与其它系统的接口。5.OPC的效率从OPC标准的制定到现在已历经了5年的时间。在这过去的5年中,众多业界领先的制造商已开发了多种OPC服务器和客户机应用。在实际工程中也历经了多方面的测试和考验。以瑞士的TetraPak为例,其基于OPC服务器技术的数据采集系统,保证了对超过500个数据点的更新时间为200毫秒。在Softing公司的OPC服务器性能测试中,分别对基于本地的OPC应用和基于DCOM的分布式应用进行了测试。为了保证测试的可信程度,特别选用了两台低档配置的计算机。其配置如下:硬件:CPU:奔腾90MHz处理器RAM:48或64M软件:WindowsNT4.04在本地测试中,OPC客户机测试应用程序和OPC服务器安装在同一台PC上。在基于DCOM的分布式OPC应用测试中,OPC客户机测试应用程序在第二台远程PC上运行。测试结果:无论是在本地还是两台计算机之间,5000个过程变量的变化值能在1秒内在OPC服务器和客户机之间传送。对于只有500个过程变量的情况,只需100毫秒时间。因而,OPC被认为是非常适合于在很短的更新速率内采集大量的动态过程变量的应用场合。5第二部分:环境配置说明1.将下列文件拷贝至要运行OPC服务器和OPC客户端的机器上copyopcproxy.dllc:\winnt\system32copyopccomn_ps.dllc:\winnt\system32copyopc_aeps.dllc:\winnt\system32copyopchda_ps.dllc:\winnt\system32copyaprxdist.exec:\winnt\system32copyopcenum.exec:\winnt\system322.注册这些dll文件REGSVR32opcproxy.dllREGSVR32opccomn_ps.dllREGSVR32opc_aeps.dllREGSVR32opchda_ps.dll3.如果在windows系统(\winnt\system32)目下不存在actxprxy.dll,运行aprxdist.exeaprxdist4.安装opcenum.exeopcenum/regserver一、NT/2000服务器DCOM配置1.在WINNT\system32目录下找到:dcomcnfg.exe,并运行它。2.在默认属性页面不作改动:默认选项是:选择在这台计算机上启动分布式COM(E)选项、默认身份验证级别是:连接,默认模拟级别是:标识。如图3所示。3.在默认安全机制页面a.按默认访问权限框里的(编辑默认值)按钮,如果无用户:Everyone,按(添加)按钮,选择:Everyone,按(添加)按钮,在访问类型框里选择:允许访问,按(确定)按钮,如图4所示。再按(确定)按钮回到默认安全机制页面。图3图46b.按默认启动权限框里的(编辑默认值)按钮,如果无用户:Everyone,按(添加)按钮,选择:Everyone,按(添加)按钮,在访问类型框里选择:允许调用,按(确定)按钮,如图5所示。再按(确定)按钮回到默认安全机制页面。c.按默认配置权限框里的(编辑默认值)按钮,按(添加)按钮,选择:Everyone,按(添加)按钮,在访问类型框里选择:完全控制,按(确定)按钮,如图6所示。再按(确定)按钮回到默认安全机制页面。当然你也可给用户分配权限,不过麻烦,一个用户的权限不对,就不能连接到服务器。4..默认协议页面不作改动,回到在应用程序页面。图5图675.在应用程序页面,用鼠标左键点击选择:NSPS.OPC.Server.VC8.0,如图7所示6.按(属性)按钮a.在常规页面不作改动,身份验证级别是:默认值。如图8所示。图7图88b.在位置页面不作改动,默认选项是:在这台计算机上运行应用程序。如图9所示。c.在安全性页面不作改动,全部选择:使用默认选项。如图10所示。d.在身份标示页面,选择:交互式用户。如图11所示。e..终结点页面不作改动。f..按(确定)按钮,回到,在应用程序页面图9图10图119图137.在应用程序页面,用鼠标左键点击选择:OpcEnum,如图12所示。点击属性页,参照步骤6设置各项属性。8.按(确定)按钮,关闭程序二、XP服务器DCOM配置1.运行dcomcnfg.exe(在WINNT\system32目录下),可在“开始-运行”中输入“dcomcnfg”,按确认键运行,出现如图13所示的界面。图12102.右键点击“我的电脑”,选择“属性”出现如图2.2所示的对话框。3.在“默认属性”设置:选择在此计算机上启用分布式COM(E)选项,“默认身份验证级别”是:连接,“默认模拟级别”是:标识。如图14所示。4.在“默认COM安全性”页面中a.在“访问权限”栏里,按“编辑默认值”按钮,添加“Everyone”,访问权限设为“允许”。如图15所示。图14图1511b.在“启动权限”栏里,按“编辑默认值”按钮,添加“Everyone”,启动权限设为“允许”。如图16所示。5.按“确定“按钮回到如图2.1所示的dcomcnfg程序界面,展开DCOM配置,右键点击NSPS.OPC.Server.VC8.0,如图17所示。图16图17126.在图2.5所示的弹出菜单中点击“属性”项。a.“常规”页面中的“身份验证级别”设为“默认”。如图18所示。b.在“位置”页面中,选择“在此计算机上运行应用程序”。如图19所示。图18图1913c.在“安全性”页面中,“启动权限”设置为“使用默认值”,“访问权限”设置为“使用默认值”,“配置权限”设置为“自定义”,并按“编辑”按钮,添加“Everyone”,“完全控制”置为允许。如图20所示。d.在“标识”页中,选择“交互式用户”,如图21所示。图20图21147.按“确认”返回到dcomcnfg程序主界面,选中“OpcEnum”项(如图22所示),打开“属性”页面,做与NSPS.OPC.Server.VC8.0相同的配置。8.最后后关闭dcomcnfg程序,配置全部完成。三、在运行OPC服务器的主机中添加OPC客户端主机的登录帐户如果OPC客户端需要远程访问OPC服务器,运行OPC服务器的主机操作系统无论是windows2000还是windowsxp,都需要将OPC客户端的登录帐号添加到OPC服务器的主机中。在OPC服务器主机中运行开始/设置/控制面板/管理工具/计算机管理/本地用户和组/用户/操作/新用户,将客户端机器的登录帐号添加进去即可,如果有多台客户端访问该服务器,就将这些客户端机器的登录帐号都添加进来。如果多台客户机的登录帐号一样(指的是用户名和密码都一样),那么只需在OPC服务器主机中添加一个就可以了。总之,OPC客户端主机的登录帐号,在OPC服务器主机的计算机管理的用户列表中必须找到。四、特殊情况当运行OPC服务器的主机操作系统是windowsxp,按上文配置后客户端依然无法访问OPC服务器,那么请将1、管理工具》本地安全策略》本地策略》安全选项》网络访问:本地帐户的共享和安全模式置为经典——本地用户以自己的身份验证。2、理工具》本地安全策略》本地策略》安全选项》网络访问:让“每个人”权限应