iFIX与MATLAB间的数据交换技术及其应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收稿日期:2008-03-24
作者简介:盛 凯(1985-),男,湖北武汉人,硕士生,研究方向为电厂化学过程自动控制与故障诊断。
i FI X 与MAT LAB 间的数据
交换技术及其应用
盛 凯,曹顺安,李 睿
(武汉大学动力与机械学院,湖北武汉430072)
摘要:介绍了iFI X 与MAT LAB 的3种数据交换技术DDE 、OPC 和ActiveX,详细阐述了用DDE 和OPC 技术实现iFI X 与MAT LAB 间数据交换的具体过程,并结合电厂水汽化学过程监控系统,介绍了工
控组态软件iFI X 与MAT LAB 之间3种数据交换技术的设计、实现和应用,具有重要的应用价值。
关键词:iF I X;MAT LAB;数据交换中图分类号:T M769 文献标识码:A 文章编号:1000-0682(2008)06-0066-05
Da t a exchange technology between i F I X and M ATLAB and its appli ca ti on
SHE NG Kai,CAO Shun 2an,L I Rui
(College of Po w er &M achine underW uhan U niversity,Hubei W uhan 430072,China )
Abstract:This paper describes three kinds of data exchange technol ogies bet w een iF I X and MAT 2LAB ,which are DDE 、OPC and ActiveX .Both DDE and OPC are used t o i m p le ment the s pecific p r ocess of the data exchange bot w een iF I X and MAT LAB ,which is discussed in detail and de monstrated in a mo 2nit oring syste m f or water and stea m che m istry p r ocess in power p lant .The design and realizati on of these data exchange technol ogies and their app licati on are als o p resented in the paper,which have great p racti 2cal value .
Key words:iF I X;MAT LAB;data exchange
0 引言
工业PC +P LC 控制器是常见的分布式监控系统结构,P LC 作为现场控制站来完成过程参数的数据采集并将采集的数据传送到操作站,同时实现闭环过程控制,或接受操作站发出的控制策略,实现控制信号输出等功能;操作站的工业PC 机通常运行组态软件,接收控制站传递过来的各种过程参数信号,并进行处理、分析和储存,实现数据、曲线、报警和报表的实时显示,或进一步进行数据挖掘实现过程设备的故障诊断,通过人机对话对下位机的过程控制参数进行修改调整。但是由于下位机P LC 不能胜任复杂的控制算法,上位机运行iF I X 组态软件,虽具有强大的图
形界面功能和很强的交互性,且支持VBA 扩展[1]
,但其计算功能却很薄弱。随着工业过程控制要求的提
高以及先进智能控制算法的不断涌现,模糊算法、神经网络算法、遗传算法等复杂控制算法取代传统的P I D 算法成为工业过程控制的发展趋势;基于过程监
测的故障诊断更需要应用程序具有强大的运算功能。鉴于MAT LAB 具有强大的数值计算能力和大量的标准算法,若将iF I X 采集到的实时数据通过数据交换传给MAT LAB 进行计算处理,再将运算处理结果交由iF I X 图形界面进行显示,或将由运算结果得到的控制输出传递给iF I X,再由iF I X 将控制输出传送给下位机P LC,由P LC 输出模块输出控制信号,实现过程控制,这样将可极大地提高监控系统的作用,也扩展了iF I X 的功能,有利于基于复杂算法的故障诊断和过程控制的设计与实现。
要实现上述目的,最核心的问题在于iF I X 和MAT LAB 之间的数据交换。通过在MAT LAB 的Si m ulink 中设计数据传输模块来实现两者之间数据
交换的文献鲜见报道。该文介绍了MAT LAB 与工控组态软件iF I X 之间进行数据交换的3种主要技
术:动态数据交换(DDE)技术、过程控制对象链接与嵌入(OPC)技术及ActiveX自动化服务技术。重点探讨了使用DDE和OPC技术在Si m ulink平台下实现复杂控制算法的方法,并且介绍了这些数据交换技术在电厂水汽化学过程监控和故障诊断系统中的应用。
1 动态数据交换技术(DD E)
动态数据交换(Dyna m ic Data Exchange简称DDE)是W indo ws环境提供的一种基于消息的进程间通信技术协议。以客户应用程序和服务器应用程序的形式来实现信息共享,DDE服务器负责维护其他应用程序所使用的数据,而DDE客户机则负责从服务器获取数据[2]。只要成功建立起DDE连接,就可以实现两个应用程序之间信息的自动更新,无须用户参与。
MAT LAB作为客户程序时,可以使用MAT LAB 中的DDE客户端模块提供的函数与服务器应用程序进行通讯。这些函数包括:服务初始化函数ddeinit()、数据请求函数ddereq()、数据发送函数ddepoke()等。
iF I X提供了DDE客户端和服务器支持。当iF2 I X作为客户端时,需将DDE驱动添加到iF I X的I/ O驱动中,并在数据块设置中使用DDE I/O驱动器和地址。当iF I X作为服务器时,应运行iF I X的DM2 DDE.EXE文件。iF I X本地DDE编址方式为:应用程序名|主题名|项目名,iF I X使用DMDDE作为应用程序名,使用DAT A作为数据的文件名,项目名为进行数据传递的iF I X数据块的名称。
2 过程控制对象链接和嵌入技术(O PC)
OPC是Object L inking and Embedding(OLE) for Pr ocess Contr ol的缩写,它是以微软公司COM和DCOM技术为基础,创建的一种应用于自动化领域的软件接口标准。OPC采用开放式的数据交互,能使不同公司的软硬件组成一个有机的整体,传输可靠,速度快,适于大批量数据交换,已经成为工控行业新的通信标准,广泛应用在工控行业的各个领域[3]。由于iF I X和MAT LAB都支持OPC技术,所以,两者也可以通过OPC实现数据通信。
MAT LAB6.5及以上版本中,集成了OPC工具箱,它是一个OPC客户端数据访问软件,提供了一种服务器和客户端互访的通信机制,通过OPC工具箱可以连接任何一个OPC数据服务器,实现对连接的OPC服务器数据的读或写。借助该工具箱,可以方便地实现MAT LAB客户端与iF I X服务器端之间的数据通信[4]。
iF I X能与任何本地OPC服务器进行通信。通过运行数据服务器安装程序(DataServerI nstaller),能给iF I X节点添加、修改和删除一个OPC服务器。OPC地址语法如下:Server Na me,Gr oupNa me, Ite m I D,AccessPath,其中Server Na me是OPC服务器的名称,Gr oupNa me是要访问的OPC组的名称, Ite m I D是要读写的OPC项目的名称,AccessPath是可选项。当iF I X作为客户端时,需将OPC驱动添加到iF I X的I/O驱动中,并且在OPC PowerTool中配置OPC驱动。当iF I X作为服务器时,其服务器名称为:I ntelluti on.OPCiF I X.1,同时需运行相应I/O 驱动的PowerTool工具来配置OPC I/O Server。
3 Acti veX自动化服务技术
ActiveX是M icr os oft公司提供的一种用于模块集成的新协议,它是V isual Basic工具箱的扩充,允许用不同编程语言生成的软件组件可以跨进程、跨平台并能在网络上进行交互[5]。ActiveX自动化服务技术是ActiveX的一个协议,它允许应用程序或组件控制另一个程序或组件的运行。
ActiveX自动化服务包含两个方面:自动化服务器和自动化控制器[6]。自动化服务器指的是由其他应用程序编程驱动的应用程序或组件。MAT LAB 提供了广泛使用的外部程序接口———ActiveX接口。当使用MAT LAB作为自动化服务器时,其提供的自动化对象的外部名称为Matlab.App licati on。利用此对象含有的Execute()、PutFull M atrix()、GetFull M a2 trix()、Quit()等方法均可对MAT LAB进行调用。
自动化控制器是使用和操纵自动化对象的应用程序或组件。常见的编程软件VB、VC++、JAVA都支持ActiveX自动化控制器端协议。iF I X不但有ActiveX控件的嵌入,而且提供了V isual Basic Edi2 t or,可通过VB程序调用ActiveX。因此,MAT LAB 和iF I X的通信也可以通过ActiveX方式实现。
文中所述的3种方法均涉及到两种应用程序之间的数据传递,故数据处理速度较之在一种应用程序中时会有不同程度的降低。ActiveX方式通过iF2 I X的VBA来操纵MAT LAB语句的执行,数据处理速度相对最快,而DDE方式比OPC方式数据处理速度略快。但对于大部分过程参数而言,以上3种方法均能满足控制的要求。