利用OPC实现WINCC与监控系统的动态数据交换_高德欣
- 格式:pdf
- 大小:400.18 KB
- 文档页数:5
利用OPC 实现WINCC 与监控系统的动态数据交换高德欣1,2,张文武1,杨 清1(中国海洋大学信息科学与工程学院,山东青岛266071;2.青岛科技大学自动化与电子工程学院,山东青岛266042)摘 要: 利用OP C (OL E for pro cess contro l )接口实现了SI EM ENS WinCC 与上位机开发软件组态王、力控、V B 之间动态数据的交换,解决了不同监控系统之间实时数据交换难题,实现不同监控系统开发软件间的即插即用以及控制系统的集成和数据共享,为企业生产管理信息化打下基础,最后给出了具体的实现步骤及成功应用案例。
关键词: OPC 接口;西门子WinCC ;组态王;力控;动态数据交换中图法分类号: T P273 文献标识码: A 文章编号: 1672-5174(2006)04-677-05 随着组态软件在生产过程监控系统中的广泛应用,以及企业信息管理系统建设的不断发展,再也不能希望完全由同一套组态软件或ERP 软件构成整个企业的信息管理系统,组态软件的开放和协同以及与各种ERP 、M IS 系统的连接正在逐步成为企业生产管理信息化进程中不得不考虑的1个重要内容。
由于过程级的现场控制系统比较复杂,多种组态软件(如WinCC ,IFIX ,组态王,力控等),多种总线(如CC -LINK ,PROFIBUS ,422/485总线等)并存,要与这些系统交换数据编写接口程序比较复杂,而且一般来说各组态软件的数据库均经过加密封装,用户无法从外部直接访问其中数据,即使像WinCC 软件虽然其数据库未加密,但是数据库中表名,表的结构、表的字段定义等等都是保密的,所以这给系统集成、数据共享带来很大困难。
目前比较好的解决方案是:(1)利用DDE (Dynam -ic Data Exchange )技术实现开放式数据交互;(2)利用OPC 技术实现开放式数据交互。
二者都可使出自不同公司的系统能组成1个有机的整体。
但是DDE 技术只适用于小数据量的交互,目前在工控行业基本被淘汰。
而OPC 技术由于通讯稳定,传输速度快,适于大批量数据交换,现在已经成为新的工业通讯标准。
OPC 技术允许客户程序从不同的OPC 服务器甚至运行在不同节点上的OPC 服务器存取数据。
现在有实力的远端SCADA ,DCS ,PLC ,远端I /O 模块供应商等等都提供OPC 服务器,如:Intellution 公司的iFIX ,德国西门子公司的WinCC ,北京亚控公司的组态王(Kingview )和大庆三维集团的力控(ForceControl )等。
利用OPC 技术,可将ERP 系统、HM I 系统、PLC 和现场设备系统集成一体化。
1 OPC 规范OPC 规范包括OPC 服务器和OPC 客户端2个部分,其实质是在硬件供应商和软件开发商之间建立了1套完整的“规则”,只要遵循这套规则,数据交互对两者来说都是透明的。
OPC 服务器由3类对象组成:服务器(Server )、组(Group )和数据项(Item )[1],相当于3种层次上的接口。
(1)服务器(Server )拥有服务器对象的所有信息,同时也是组对象(Group )的容器,1个服务器对应于1个OPC -Server ,在1个OPCServer 中,可以有若干个组对象。
(2)组(Group )拥有本组对象的所有信息,同时包容并逻辑组织OPC 数据项(Item )。
(3)数据项(Item )是读写数据的最小逻辑单位,1个项与1个具体的位号相连,通常指向设备的1个寄存器单元。
OPC 体系结构如图1所示。
OPC 技术扩展了设备的概念,只要符合OPC 服务器的规范,OPC 客户便可与之方便地实现数据交互。
OPC 客户和OPC 服务器有2种不同方式进行数据交互[2-5],即同步方式和异步方式。
同步方式实现较为简单,当客户数目较少而且同服务器交互的数据量不大的时候可以采用这种方式;异步方式实现较为复杂,需要在客户程序中实现服务器回调函数,然而当有大量客户和大量数据交互时,异步方式能提供高效的性能,尽量避免阻塞客户数据请求,并最大可能地节省CPU 和网络资源。
基金项目:山东省自然科学基金项目(Y2000G02)资助收稿日期:2005-03-21;修订日期:2005-04-27作者简介:高德欣(1978-),男,博士,讲师。
E -mail :gaodexin @ouc .edu .cn第36卷 第4期 2006年7月 中国海洋大学学报PE RIODICAL OF OCEAN UNIVERSIT Y OF CHINA36(4):677~680Jul y ,2006图1 OPC 体系结构Fig .1 Structure of the OP C sy stem2 监控系统间的OPC 连接设计监控系统方法很多,如可采用VB ,VC 或Del -phi 等可视化语言编写,也可直接采用组态软件设计,各有优缺点。
目前,国外比较有名的组态软件有iFIX ,INTOUCH ,西门子WinCC 等,国产的如组态王、力控、开物、昆仑工控等。
WinCC 是SIEM ENS 公司推出的基于Windows 功能强大的监控系统,具有良好的开放性和灵活性。
既可以用来完成小规模的简单的过程监控系统,也可以用来设计复杂的应用。
它全面支持OPC 标准,既可以作OPC 客户端,也可以作OPC 服务器。
通过OPC 接口,WinCC 可以与其他支持OPC 接口的组态软件如组态王、力控或iFIX 等通讯,组成工业监控网络,同时能保持良好的响应性能和系统负荷,这样极大方便了工程设计人员在开发系统时进行合理的性能和价格选择。
各监控软件的OPC 连接网络如图2所示。
图2 监控系统的OPC 连接Fig .2 O PC connection among supervisory systems图2中监控软件内数据库之间的数据交换称之为横向数据交换,主要通过OPC 客户端程序进行。
以所有客户端程序为基础,建立1个数据管理应用软件。
通过该数据管理应用软件同时访问多套系统中的数据,对数据进行交互和统一管理。
还可按这种数据交互方式实现异构现场总线系统之间的数据集成。
3 WinCC 的OPC 服务器设置WinCC (5.x -6.0)的OPC 服务器遵循OPC 数据访问规范2.0。
当在计算机上安装WinCC 时,系统会自动添加下列OPC 组件:(1)OPC 服务器;(2)OPC 通讯驱动程序;(3)OPC 条目管理器。
WinCC OPC 服务器是1个DCOM 应用程序,通过dcomcnfg .exe 程序可以为其设置DCOM 组态。
方法:单击“开始”-“运行”,输入程序名dcomcnfg .exe ,启动该程序,在“Applications ”页选择“OPCServer .WinCC ”条目,设置属性;在“安全”标签中选择“使用自定义访问”许可权选项钮;在“标识”标签中选择“交互式用户”选项,完成DCOM 组态。
然后创建WinCC 项目,设名为:WinCCOPC -Server 。
在该项目中,创建3个数据类型为16位有符号的内部变量:aa ,bb ,cc 用于演示数据交换(注:也可建立其它类型,如16位无符号,32位无符号,浮点型等);创建WinCC 画面,在其中通过3个智能对象I /O 域来可视化刚创建的3个内部变量,设置3个I /O 域的属性;变量的更新设置为一旦改变,其余保留缺省值。
为了成功地建立OPC 通讯,必须注意下列2点:(1)WinCC OPC 服务器的WinCC 项目必须激活;(2)WinCC OPC 服务器必须与WinCC OPC 客户机位于相同的网络上。
4 WinCC 与监控系统的动态数据交换4.1WinCC 与力控的动态数据交换WinCC 作OPC 服务器,力控作OPC 客户端使用,操作步骤如下:第1步 建立力控OPC 客户端。
在力控导航器窗口中选则“I /O 设备驱动”项中的“OPC ”设备,选择“3.1OPC Client ”,在“设备名称”中输入逻辑设备的名称(如OPC ),在“数据更新周期”中指定采集周期。
第2步 OPC 服务器设置,在OPC 服务器中,因为通过网络上访问,所以需要写出OPCSever 服务器端WinCC 的计算机名或IP 地址;在OPC 服务器名称中选择“OPCServer .WinCC ”,若无OPC 服务器选项时点击“刷新”按钮,可以自动搜索计算机系统中已经安装的所有OPC 服务器。
然后设置OPC 组名称,刷新时间,死区和数据读写方式等。
配置完毕如图3所示。
678中 国 海 洋 大 学 学 报2006年图3 力控OPC 客户端配置图Fig .3 T he OPC client setting of force control第3步 在力控的OPC 客户端定义与服务器端相关联的力控变量。
本文在WinCC OPC 服务器端中定义的通信变量aa ,bb ,cc ,力控变量要与之关联上。
当在力控中定义变量时连接设备选择“OPCServer .WinCC ”后,WinCC OPC 服务器端所有变量都会显示,根据需要选择要关联的变量。
在运行系统中,力控中的OPC 客户端和WinCC OPC 服务器建立连接,自动完成二者之间的动态数据交换。
4.2WinCC 与组态王的动态数据交换WinCC 作OPC 服务器,组态王作OPC 客户端使用,操作步骤如下:第1步 建立组态王OPC 客户端。
在组态王工程浏览器的“设备”项目中选中“OPC 服务器”,新建OPC 客户端设备,组态王自动搜索本局域网络的系统中所有已经安装的OPC 服务器,然后在列表中选择服务器端的“OPCServer .WinCC ”OPC 服务器。
在网络节点名填写服务器端的计算机名或IP 地址,实现服务器端WinCC 的OPC 服务器与组态王OPC 客户端的挂接。
配置完毕如图4所示。
图4 组态王OPC 客户端配置图Fig .4 T he O PC client setting o f kingview第2步 在OPC 服务器中定义数据项。
第3步 设置WinCC 的OPC 服务器与组态王OPC 客户端的数据词典中变量的连接。
如PLC 或板卡等外围设备与组态王数据词典的连接一样。
在组态王中新建I /O 类型变量,在连接设备处选择已经定义的“OPCServer .WinCC ”OPC 服务器设备。
在寄存器下拉式菜单中会列出该服务器中定义过的所有数据项(如本文中定义的aa ,bb ,cc 变量等),然后选定变量关联,并设定数据类型和读写属性,即可。
在运行系统中,组态王中OPC 客户端和WinCC OPC 服务器建立连接,自动完成二者之间的动态数据交换。