首页 Matlab与InTouch间直接通讯的实现

Matlab与InTouch间直接通讯的实现

举报
开通vip

Matlab与InTouch间直接通讯的实现 Matlab与InTouch问直接通讯的实现 肖 民,惠 磊 (江苏科技大学船舶与海洋工程学院,江苏镇江212003) 摘要:为解决以往Matlab与InTouch间数据通讯必须利用第3方软件进行接口编程的难题,在对 Matlab和InToueh软件所提供的DDE接口研究的基础上,以Matlab为客户端、InTouch做服务器, 在Matlab环境下,基于DDE技术分别用M文件和S函数两种不同的方法,首次实现了Matlab和 InTouch之间的直接通讯.文中给出了用于实现Matlab和lnToueh之...

Matlab与InTouch间直接通讯的实现
Matlab与InTouch问直接通讯的实现 肖 民,惠 磊 (江苏科技大学船舶与海洋工程学院,江苏镇江212003) 摘要:为解决以往Matlab与InTouch间数据通讯必须利用第3方软件进行接口编程的难题,在对 Matlab和InToueh软件所提供的DDE接口研究的基础上,以Matlab为客户端、InTouch做服务器, 在Matlab环境下,基于DDE技术分别用M文件和S函数两种不同的方法,首次实现了Matlab和 InTouch之间的直接通讯.文中给出了用于实现Matlab和lnToueh之间直接通讯的M文件和S函数 的实例.实例证明,两种方法实现方便,并能支持多输入多输出模型的数据交换. 关键词:Matlab;InTouch;通讯;软件;接口;DDE 中图分类号:TP311.1文献标志码:A 文章编号:1671—7775(2009)01—0062—04 DirectcommunicationbetweenMatlabandlnTouch X/aoMin,HuiLei (SchoolofNavalArchitectureandOceanEngineering。JiangsuUniversityofScienceandTechnology,Zhenjiang,Jiangsu212003,China) Abstract:Inordertosolvetheproblemthatthethirdsoftwaremustbeusedtorealizethecommunication betweenMatlabandInTouch,andbytakingMatlabasclientterminalandInTouchasserver,two differentmethodsbasedonDDEtechnology,namedm—filemethodands—functionmethod,were developedtorealizethedirectcommunicationbetweenMatlabandInTouchforthefirsttime.The examplesofM—.fileandS—.functiontorealizethecommunicationbetweenMatlabandInTouchwere provided.Itisprovedthatthistwomethodsareeasytoberealizedandcansuppofldataexchange betweenMIMOmodels. Keywords:Matlab;InToueh;communication;software;interface;DDE InTouch是美国Wonderware公司推出的基于 Windows平台的组态软件,是一个基于图形用户界 面的软件开发工具,具有强大的图形开发和动画设 计功能.此外,该软件还具有强大的监控功能,如数 据采集和管理、动态数据交换、在线和历史趋势图显 示、报警和事件自动记录等.因此,利用InToueh可 以设计功能完善且优美的监控和操作界面;但该软 件在科学计算方面的功能比较差. Matlab由MathWorks公司推出,是融科学计 算、图形可视、文字处理于一体的高水平软件,已经 成为国际控制界公认的 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 计算软件.它具有强大 的计算功能,且编程效率很高,还带有丰富的工具 箱,覆盖了通讯、自动控制、信号处理、动态系统仿 真、财经等众多领域.虽然Matlab是个完整的程序 开发和数据处理软件,但它在人机界面设计方面却 显得有些力不从心. 因此,实现InTouch和Matlab的联合,将两者的 优点有机地结合起来非常有意义,也很有实用价值. 虽然InTouch和Matlab都提供了DDE,OLE,ActiveX 等接口,但目前它们之间并没有实现直接通讯,多数 是通过第3方软件(VB,C++等)开发接口程序¨j 实现间接通讯. 收稿日期:2007一07一19 基金项目:江苏省船舶先进设计制造技术蓖点实验宅开放研究基金资助项目(CJ0706) 作者简介:肖 民(1969一),女,湖北刷州人,教授(xiaomin._just@126.COrn)。主要从事动力机械性能优化与计算机仿真研究. 惠磊(198I一),男,山东f】照人,硕士研究生(huilei007@yahoo.com.ca),主要从事轮机系统计算机仿真与监测控制研究 万方数据 63 文中基于DDE技术,在Matlab环境下开发程 序,用两种不同的方法首次在不借助第3方软件的 情况下,实现Matlab与InTouch之间的直接通讯. 1 DDE接口 DDE(dynamicdataexchange)动态数据交换旧J 是进程间的通讯方法.DDE使用共享内存来实现进 程之间的数据交换,使用 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 达到传递数据的同步. DDE协议是~组规则集,所有的DDE应用程序都 必须遵循.DDE应用程序分为4种类型:客户、服务 器、客户/服务器、监视器.客户应用程序从服务器应 用程序请求数据或服务;服务器应用程序响应客户 应用程序的数据或服务请求;客户1111曼务器应用程序 既是客户应用程序也是服务程序;监视器应用程序 可解释所有的DDE应用程序和DDE消息,但不能 执行它们.DDE会话发生在客户应用程序和服务器 应用程序之间. DDE应用程序采用3层识别系统从其他的 DDE应用程序识别它们本身,这3层是:应用程序 名(application)是进行DDE对话的双方名称;主题 (topic)是被讨论的数据域;项目(item)是被讨论的 特定数据对象.通过3层识别进行初始化后,便町进 行会话的交换,交换方法有3种:冷链(coldlink), 由客户申请数据,服务器发送数据;温链(WalqTI link),当服务器数据有变化时,服务器通知客户,再 由客户来取数据;热链(hotlink),服务器数据有变 化时,服务器直接把数据送给客户,由客户对这些数 据进行处理. InToueh既可以作为服务器也可以作为客户 端【3。4J.当作为服务器时,若另一Windows应用程序 从InTouch中请求数据,它必须知道3个L/O地址 项:应用程序名(view)是包含指定数据元素的In— Touch运行程序;主题名(tagname)是每次在In- Touch数据库中读写标记名时使用的名称;项目名 (actualtagname)是在lnTouch标记名字典中为项目 定义的实际标记名.当InTouch作为客户端时,它提 供的DDE函数有形形E石ec以e,WWPoke,WWRequest. 其中,WWExecute将要发送的命令字符串发送到指 定的应用程序和主题;WWPoke将TextValue的值被 发送到指定的应用程序、主题和项目,必要时使用 TringFromIntg()或StringFromReal()函数对其进行 转换;WWRequest将特定应用程序、主题和项目中的 DDE值将返同给ValueMsg—Tag,值将作为字符串返 回给消息型标记,如果该值为一个数字,可以使用 StringToIntg()或St矗ngToReal()函数对其进行 转换. Matlab同样既可做服务器也可做客户端”J.表 l为Matlab做服务端所提供的接口,表2为Matlab 做客户端所提供的接口函数. 表1 Matlab做服务端所提供的接口 Tab.1InterfaceprovidedbyMatlab8Sserver 表2 Matlab做客户端所提供的接口函数 Tab.2InterfacefunctionsprovidedbyMatlabascHent 函数 功能 ddeadv(ch。Item,cb) ddeexec(ch,ong) ch=ddeinit(鲫,tp) ddepoke(ch,Item,dt) dt=ddereq(ch,Item) ddeterrn(ch) ddeunadv(ch。舵m) 借助旃通道,在Matlab与服务器应用程序问建屯DDE热连接 借助娩通道,向服务器发送请求执行的指令cmd 为Matlab与"服务器就印话题创建对话通道矾 借助c矗通道,Matlab向服务器的具体位置ltem发送数据出 借助如通道,Matlab从服务器的具体位置hem处索取数据,并赋给变量df 关闭对话通道如 放弃如通道为Item变化所搭建的热连接 万方数据 2直接通讯的实现 InTouch和Matlab都既可以做客户端又可以做 服务器.由于InTouch提供的脚本程序中函数较少, 函数的应用功能远不如Matlab提供的强大,且提供 的DDE接口函数,也没有Madab提供的函数应用 方便.因此,文中采用Matlab做客户端、InTouch做 服务器∞。7J,分别采用M文件和s函数两种不同的 方法来实现二者之间的通信.图1为InTouch和 Matlab程序之间的通讯. 图1 InTouch和Matlab程序之间的通讯 Fig.1CommunicationbetweenInTouchandMatlab 下面通过具体的实例阐述如何实现InTouch和 Matlab之间的直接通讯. (1)实例:在Matlab环境里将InTouch实时采集 到的电流和电压信号相乘,然后将得到的瞬时功率 值返回给lnTouch。 (2)方法一:采用M文件实现InTouch与Matlab 间的通讯¨1. 首先建立InTouch与Matlab之间的会话通道, 然后Matlab通过循环不断采集InTouch中的数据并 向InTouch发送数据,实现它们之间的数据交换. chann=ddeinit(’view’。’tagname’) whileswitch=1 pause(0.01) rc=ddereq(chann,7current’) 肋:ddereq(chann,’voltaga’) W=re木聊 ra=ddepoke(chann,’power7,W) end ddeterm(chann) M文件编写比较简单,但与InTouch通讯时要 通过循环来进行数据采集和交换,效率比较低,并且 不能和Simulink紧密地结合.如果用s函数来实现 InTouch与Matlab的通讯,则能很好地与Simulink 结合起来,并可以充分利用Simulink的其他工具箱. (3)方法二:采用S函数实现InTouch与Matlab 通讯一“⋯. S函数由一种特定的语法构成,它通过在特定 时间调用对应的s函数功能模块来完成不同的任 务.表3为S函数功能模块.它调用例程函数的顺序 通过标志Hag来控制.图2为S一函数的工作 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 图,由图可见各仿真阶段的标志值Flag、变量值及 对应仿真例程. 表3 S函数功能模块 Tab.3S—functionfunctionalmodular 延四一黝Flag=燃O≯厂 怒勰嬲ltF删lag=4L radllniti螂alizeSample绷ttmesI 生翠生J吐‰卤t磊缸 蜜三曼卤吐勰拗捃 图2 S一函数流程 Fig.2S—functionflowchaa 使用S函数实现InTouch与Matlab通讯,是在 Simulink环境下进行的,它分为两个模块,一个是 Matlab采集lnTouch中的数据,另一个是Matlab向 InTouch发送数据,下面分别给出S函数部分源码介 绍如何实现两者的通讯. Matlab从lnTouch采集数据的s函数部分 functionk[sys,xO,str,ts]=InTouch2simulink(t, 饕,u,Flng,chann、 switchFkg case0 [驴,加,str,ts]=mdllnitializeSizes(t,戈, u,chann) case3 sys=mdlOutputs(t,算,“,chann) case{1,2,4,9} 万方数据 sys=[] otherwise error([’UnhandledFlag2’,num2str (Flag)]) end function[垆,加,str,ts]=mdllnitializeSizes(t,戈,“, Flag,chann) sizes.NumOutputs=2 sizes.Numlnputs=0 sizes.DirFeedthrough=O functionsys=mdlOutputs(t,戈,u,chann) ifchann=0 disp(7DDEfaild!’) else w(1)=ddereq(chann,’current7) ,q(2)=ddereq(chann,’voltaga’) fori=1:2 sys(i)=rq(i) end end 当Matlab向InTouch发送数据时,除mdlOutput 函数更换为ddepoke函数外,其他相同.将以上函数 进行封装便可以在Simulink环境中运行.在运行时, 首先打开InTouch的windowviewer,并向Matlab命令 窗口输入chann=ddeinh(7view’,’tagname’)来建立 Matlab与InTouch的连接. 3 结 论 文中基于DDE技术,通过在Matlab环境编写M 文件和s函数两种方法,首次实现了Matlab和In— Touch之间的直接通讯.利用这一技术可以将In. Touch和Mat|ab两种软件紧密结合起来,充分发挥 各自的优点,即利用InTouch进行界面开发,利用 Matlab/Simulink进行仿真计算.文中的方法摆脱了 利用第3方软件实现两者之间接口编程的烦恼,具 有编程简单、实现方便的突出优点. 参考文献(ReferencesI [1]施建强.InTouch、VB和Matlab之间的DDE接口方法 65 [J].南京工程学院学报:自然科学版,2003,1(1): 29—35. ShiJianqiang.DDEinterfacebetweenInTouch,Visual BasicandMatlab[J].Journa/ofNanjingEngineering l珊thute:Natural&ienceEdition,2003。1(1):29— 35.(inChinese) [2]胡锦晖,胡大斌.基于DDE技术的监控软件及其实 现[J].微计算机信息。2004,20(11):70—71. HuJinhui,HuDabin.Realizationofcontrolsoftware basedonDDEtechnology[J].MicrocomputerInforma— tion,2004,20(1I):70—71.(inChinese) [3]臧怀泉,李振鹏,陈承继,等.基于DDE协议的系统 集成软件的开发[J].计算机仿真,2005,22(7):172 —174. ZangHuaiquan,LiZhenpeng,ChenChen舀i,eta1.De- velopmentofsystemintegrationsoftwarebasedOffDDE protocol[J].Compu拓rSimulation,2005,22(7):172— 174.(inChinese) [4]WonderwareCorporation.InTouch用户指南[M].北 京:科学出版社。2001:25—59. [5]TheMathWorks.MatlabExternalInte斫aces(Version 7.0)[M].NewYork:McGrawHill,2005:12—35. [6]YangYingjie,DengHuiyong,LiXia.Simulationof screeningprocessbasedonMatlab/Simulink[J].Jour- halofChinaUniversityofMiningandTechnology。 2006,16(3):330—332. [7]ChemicalEngineeringProgressGroup.InTouchhuman- machineinterfacegofiware,version9.0[J].Chemical EngineeringProgress,2004,100(10):22—24. [8]JangBC,ChoiG.Co·simulationandsimulationintegra- tionforafullvehicledynamicsystem[J].Mathematical andComputerModelingofDynamica/Systems,2007,13 (3):237—250. [9]PetropoulakisL,StephenB.J-Sire:aGUIplatformfor real-timesharingofMatlabdesignsandsimulationonthe internet[J].InternationalJournalofContinuingEngi— neeringEducationand£咖一幻愕Learning,2003,13(5 —6):530—545. [10]MeArtharSDJ,DavidsonEM,DudgeonGJ W,eta1. Towardamodelintegrationmethodologyforadvanced applicationinpowere.gineefingfJ]。IEEETransactions onPower跏细瑚,2003,18(3):5—6. (责任编辑梁家峰) 万方数据
本文档为【Matlab与InTouch间直接通讯的实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_201064
暂无简介~
格式:pdf
大小:233KB
软件:PDF阅读器
页数:4
分类:
上传时间:2011-04-05
浏览量:19