《基于DDE技术的MATLAB与WinCC通信设计.pdf》由会员分享,可在线阅读,更多相关《基于DDE技术的MATLAB与WinCC通信设计.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于D D E技术的MA T L A B与Wi n c c通信设计王克平,等基于 D D E技术的M A T L A B与Wi n C C通信设计D e s ig n o f D D E B a s e d C o mmu n ic a t io n b e t w e e n MA T L A B a n d Win C C王克平(江南大学通信与控制工程学院,王宪无锡2 1 4 1 2 2)摘要:Win d o w s 操作系统下的工控组态软件已经被越来越广泛地应用。Wi n C C 作为目 前较为流行的组态软件,具有实用性强、组态灵活等优点,但它的数据处理能力较弱。而M A T L A B
2、 科学工程计算软件包进行复杂运算的效率很高,可以很容易地实现复杂控制算法。为了将M A T L A B的科学计算功能和组态软件Wi n C C的人机交互功能相结合,发挥各自优势,提出了一种M A T L A B和组态软件W i n c C 之间的通信方法。采用D D E 技术来实现二者之间的数据交换。该方法具有编程效率高,实现方便,通用性强等特点。关键词:动态数据交换数据处理组态中图分类号:T P 2 7 3 十.5文献标识码:AA b s t r a c t:C o n f i g u r a t i o n s o ft w a r e u n d e r W i n d o w s o
3、p e r a t i n g s y s t e m f o r p r o c e s s c o n t r o l h a s b e e n w i d e l y u s e d.A s p o p u l a r c o n f i g u r a t io n s o ft w a rea t p re s e n t,W i n C C p o s s e s s e s t h e a d v a n t a g e s o f p o w e r f u l p r a c t i c a b i l i t y a n d fl e x i b l e c o n f
4、i g u r a t i o n,b u t i t s a b i l i t y o f d a t a p r o c e s s i n g i s w e a k.W h i l e t h e s c i e n t i f i c p r o j e c t c a l c u l a t i o n s o f t w a re,M A T L A B,i s e ff i c i e n t i n c o m p l e x c a l c u l a t i o n.Wi t h t h i s s o f t w a r e,t h e c o m p l e x c
5、 o n t r o l a l g o-r i t h m c a n b e i m p l e m e n t e d e a s i l y.T o c o m b i n e s c i e n t i f i c c a l c u l a t i n g f u n c t i o n o f M A T L A B w i t h h u m a n-m a c h i n e i n t e r a c t i v e f u n c t i o n o f c o n f i g u r a-t i o n s o ft w a r e W i n C C a n d t
6、o e x e rt e a c h a d v a n t a g e,t h e c o m m u n i c a t i o n m e t h o d b e t w e e n M A T L A B a n d c o n f ig u r a t i o n s o ft w a r e W i n C C i s p r o p o s e d.B y u s i n g D D E t e c h n o l o g y,d a t a e x c h a n g e b e t w e e n M A T L A B a n d Wi n C C i s i m p l
7、e m e n t e d.T h i s m e t h o d f e a t u re s e ff i c i e n t p ro g r a m m i n g,c o n v e n-i e n t u s i n g a n d w e l l g e n e r a l i z a t i o n p e r f o r m a n c e.K e y w o r d s:D D E D a t a p r o c e s s i n g C o n f i g u r a t io n0 引言 近年来,随着计算机技术及其应用的快速发展,工控机I P C 作为上位机在工业控制
8、领域占据越来越重要的位置,W i n d o w s 操作系统下的工控组态软件的应用也越来越广泛。目前,较为流行的组态软件有I n t e l l u-t i o n 公司的F i x,W o n d e r w a r e 公司的I n T o c h,S i e m e n s 公司的W i n C C以及亚控公司的组态王K i n g v i e w等。W i n C C是在生产过程和过程自动化中解决可视化和控制任务的人机接口(H M I)软件,可以开发在管理级别上的监控和数据采集系统。它具有高度的实用性,组态灵活,可生成复杂友好的交互式图形界面。但是它的数据处理能力较弱,不易实现复杂控
9、制算法。而M A T L A B 作为著名的科学工程计算软件包,进行复杂运算的效率很高,可以很容易实现复杂控制算法,并且能够方便地构造复杂控制系统的模型,对系统进行仿真。如果将M A T L A B和Wi n C C相结合,利用M A T L A B 语言实现复杂控制算法,再使用 W i n c c实现数据采集功能和友好的人机界面,就有利于发挥M A T L A B和W i n C C各自的优势。动态数据交换(D D E)是 W i n d o w s 应用程序间数据交换的主流技术,通过D D E 技术可以将M A T L A B和Wi n C C很好地结合起来,如图1 所示。自 动化仪表 第
10、2 7 卷第4 期2 0 0 6 年4 月D D E 通信 图1 D D E通信框图 F i g.1 B l a c k d i a g r a m o f D D E c o m m u n i c a t i o n W i n C C 从工业现场设备采集数据,一方面进行动态显示,另一方面传给 M A T L A B进行复杂的运算处理,再将结果回传给 W i n C C,然后由W i n C C将数据输出至工业现场设备进行控制。1 动态数据变换(D D E)技术 动态数据交换(D D E)是在Wi n o w s 系统中支持进程间的通信机制。它是以共享全局内存来实现数据交换的,是W i n
11、 d o w s 软件突出的特点之一。应用程序的D D E 建立在W i n d o w s 内部的消息处理机制上,在应用程序中插人处理各种 D D E消息的过程来实现的。通过这种对话方式,两个应用程序之间建立数据交换链,以共享存储器的方式在应用程序间交换数据,使用协议来同步数据的传递。D D E 应用程序可分为四类:客户应用程序、服务器应用程序、客户/服务器应用程序和监视器。发起对话请求数据交换的应用程序称为客户应用程序;响应请求的应用程序称为服务器应用程序;客户/服务器应墓于D D E技术的MA T L A B与Wi n C C通信设计王克平,等用程序表示既是客户应用程序也是服务器应用程序
12、;监视器主要用于调试。当客户应用程序要发出D D E请求时,必须先确定三项内容:请求提供数据的服务器应用程序名(a p p l i c a t i o n)、服务器应用程序中的文件名或主 题名(t o p i c)、具体进行D D E过程的数据项目 名(i t e m)o D D E 用服务器应用程序名、主题名、项目 名三个层次来表示服务器之间传递数据的单位。D D E有热链(h o t l i n k),温链(w a r m l i n k)和冷链(c o o l l i n k)三种对话方式。服务器的数据有变化时,直接把数据送给客户,由客户对这些数据进行处理,这种方式称为热链。服务器的数据
13、有变化时,服务器通知客户,再由客户来取数据,这种方式称为温链。由客户申请数据、服务器发送数据的这种方式称为冷链。本文采用温链方式。配置。点击“变量列表”按钮,在打开的“变量选择”框中选择需要进行通信的变量,系统自动将变量复制到剪贴板上,供D D E通信使用。W i n C C 作为服务器应用程序时,它的应用程序名为“Wi n C C ,主题名为 W i n C C应用程序的完整的路径,如“D;S i e m e n s W i n C C 1 W i n C C P r o j e c t s D D E-C O N D D E-C O N.M C P ,项目 名与相应的变量名相同。本文中Wi
14、 n C C 作为服务器应用程序。2 Wi n C C中的D D E设置 Wi n C C是进行廉价和快速组态的H M I 系统,它是一个可以无限延伸的系统平台。它为过程数据的可视化、报表、采集和归档以及为用户自由定义的应用程序的协调集成提供了系统模块。可以 使用标准的W i n C C资源组态,也可以利用W in C C 通过D D E 和A c t i v e X等技术使用现有的Wi n d o w s 应用程序。Wi n C C提供了D D E方式的数据通信功能,能够和其它具有D D E通信功能的软件进行通信。它既能作客户应用程序,又可以作服务器应用程序。2.1 Wi n C C作为客户
15、程序的应用 Wi n C C作为客户应用程序时,提供了专门的D D E通信驱动程序,用户只需建立通信链接和变量并设置其D D E属性即可。首先,在变量管理器中添加通信驱动程序W i n d o w s D D E.c h n,然后在该驱动程序下新建链接,并设置属性。打开链接的属性对话框,在“应用程序”框中输人D D E 服务器的应用程序名,在“主题”对话框中输人主题名,在“读变量的方式”中选择要建立的D D E对话方式:热链、温链或冷链。最后,在建好的链接下建立需要的变量,在变量的属性对话框中输人该变量对应的D D E通信的项目名。通过以上设置,就建立了 Wi n C C与其他 D D E服务
16、器程序的通信链接。2.2 Wi n C C作为服务器程序的应用 Wi n C C作为服务器应用程序时,需要运行 D D E-s e r v.e x e 程序。D D E s e r v.e x e 程序是 Wi n C C的D D E服务器应用程序,它是 Wi n C C的一个独立的应用程序。应用D D E通信前,需要对D D E s e r v.e x e 程序进行配置,在“Wi n C C D D E服务器”对话框中对 D D E服务器进行3 MA T L A B中的D D E设计 M A T L A B提供的D D E功能通过 Wi n d o w s 的剪贴板的数据格式对数据进行格式化
17、,然后在相互通信的应用程序间进行传递。M A T L A B既可以作客户程序,也可以作服务器程序。在 M A T L A B作为客户程序时,它仅仅支持文本格式的数据传输,而当M A T L A B 作为服务器程序时,可以支持文本格式、元文件图格式和X L T a b l e 格式三种格式的数据传输。3.1 MA T L A B的服务器应用程序功能 客户程序可以通过建立 D D E会话的方法,将M A T L A B作为一个服务器程序来进行访问。如果用户使用的应用程序提供了支持D D E的函数或者宏,那么用户可以直接使用这些函数和宏来建立和M A T L A B间的D D E对话。如果希望通过自
18、己的应用程序建立与M A T L A B之间的链接,可以通过使用 M A T L A B引擎函数库或者直接使用D D E o 当用户把M A T L A B 作为服务器进行访问时,必须提供服务器名、主题名和项 目名,它有一个固定的D D E名称体系,如图2 所示。图2 MA T L A B的F i g.2 D D E n a m eD D E名称体系示意图h i e r a r e 场 o f M A T L A B 由图2 可以看出,M A T L A B 一共支持两种类型的主题,分别为S y s t e m和E n g i n e,而每种话题又包含几种不同的 项。就E n g i n e
19、主题而言,它对三种客户端应用程序中可能的D D E操作提供了支持,这些操作包括发送命令到M A T L A B中执行、从M A T L A B中请求数据和向M A T L A B中发送数据。客户端应用程序通过项 目E n g E v a l S t ri n g 向M A T L A B 发 送命令进行执行,分别通过P R OC E S S A U T O MA T I O N INS T R U ME N T A T I O N V o l.2 7 N o.4 A p r i l 2 0 0 6基于D D E技术的MA T L A B与Wi n c c通信设计王克平.等项目E n g S t
20、 r i n g R e s u l t 和项目E n g F i g u re R e s u l t 向M A T L A B请求执行命令的 字符串 结果和图 形结果,而向M A T L A B请求和发送矩阵数据时,矩阵名即是项目 名。3.2 MA T L A B的客户应用程序功能 M A T L A B作为客户程序时,可以使用 M A T L A B中的D D E 客户端模块所提供的函数与服务器应用程序进行数据通信。M A T L A B的D D E客户函数共有七个,分别如下:D D E i n i t):初始化M A T L A B与其他应用程序之间的D D E对话,若执行成功则返回一
21、个表示通道的通道号,以后操作均用该通道号进行;D D E a d v):在M A T L A B 与D D E 服务器应用程序之间建立一个链接;D D E r e q():从D D E服务器应用程序请求数据;D D E p o k e):从M A T L A B向D D E服务器应用程序发送数据;D D E e x e c():向D D E服务器应用程序发送用于执行的命令;D D E u n a d v):释放M A T L A B同D D E 服务器应用程序之间建立的链接;D D E te r m():终止 D D E服务器应用程序与M A T L A B间的D D E对话。在工业过程计算机
22、控制系统中,Wi n C C主控程序周期性地将采集到的数据送到M A T L A B中进行运算,时间到时通知M A T L A B程序,由M A T L A B程序取到需要的数据,计算完成后,再将结果发送到W i n C C中去。这种方式属于温链(w a r m l i n k)方式。M A T L A B的D D E 温链方式用 D D E a d v)函数实现。D D E a d v)函数的调用格式为:r e=D D E a d v(c h a n n e l,i t e m,c a l l b a c k,u p m t x,f o r m a t,t i m e o u t)其中:r
23、c 是返回值;1表示操作成功;0表示失败。c h a n n e l 是由D D E i n i t)函数建立的 D D E对话的通道号。i t e m是用于数据传输的D D E项。c a l l b a c k 是服务器数据发生变化时,服务器通知M A T L A B,M A T L A B 的响应动作。u p m t x 为一个可选参数,是一个矩阵,它保存服务器送来的数据,如果这个矩阵名字是个空字符串,则建立一个温链。如果矩阵名字是非空字符串,则建立一个热链。f o r m a t 是可选参数,表示传送的数据格式,默认值为【1,0 。t i m e o u t 也是可选参数,用来指定超时时
24、间长短,默认值为3 s o3.3 MA T L A B与Wi n e c的D D E通信程序设计 在本文 中,M A T L A B用作客户应用程序。在 自 动化仪表 第2 7 卷第4 期 2 0 0 6 年4 月W i n C C中定义M A T L A B 触发变量,周期性改变其值,用以通知M A T L A B 从W i n C C中请求数据进行运算并返回 结果。采用温链方式进行D D E对话。M A T L A B作为客户应用程序与W i n C C 服务器应用程序的D D E通信过程如图3 所示。MATL AB 作客户 应用程序Wi n CC作服务器应用程序返 回 初 始 化 成 功
25、 或 失 败 信 息日_通 过 二a d v o 函 数 建 立。D E 链 接 门二使 用 D D E r e g o f 数 请 求 数 据返回请求的数据 使用 D D E p o k e o 函 数发 送数 据 使用 D D E t e r m o 函 数终 止D D E 对话图3 M A T L A B与Wi n C C的D D E通信过程示意图 F i g.3 S c h e m a t i c o f D D E c o m m u n i c a t i o n p r o c e s sb e t we e n MA T L AB a n d Wi n C C 在M A T L
26、 A B中建立 M文件,编程实现以上 D D E通信过程。程序描述如下:D D E 通信的初始化及链接建立 g l o b a l c h a n n e l;c h a n n e l=D D E i n i t(Wi n C C,D;S i e m e n sWi n C C W i n C C P r o j e c t s D D E_C O N D D E_C O N.M C P ;%初始化D D E对话,返回通道号 i f c h a n n e l=0 d i s p D D E i n i t i a l i z a t i o n f a i l e d!);e l s e
27、d i s p D D E i n i t i a l i z a t i o n O K );。=D D E a d v(c h a n n e l,T i m e_F l a g ,D O_D D E );%与服务器程序建立温链,当T i m e _ F l a g 发生变化时,调用D O _ D D E函数 i f r e二=0 d i s p D D E w a r m l i n k f a i l e d!);e l s e d i s p D D E w a r m l i n k O K!);e n d e n d其中:c h a n n e l 为D D E初始化返回的通道号
28、,若为0,则表示D D E 初始化失败;r c 的值表示 D D E链接建立成功与否。M A T L A&向W i n C C 请求和发送数据,在D OD D E函数中实现 f u n c t i o n r e=D O _ D D E()g l o b a l c h a n n e l;i n p u t(1)=D D E r e q(t h a n,d a t a l );基于D D E技术的MA T L A B与Wi n C C通信设计王克平,等 i n p u t(2)=D D E r e q(c h a n,d a t a 2 );%从Wi n C C请求数据 o u t p u
29、t=c o n t r o l(i n p u t);%调用控制算法函数,将请求的数据进行运算,返回运算结果 D D E p o k e(c h a n n e l,r e s u l t l ,o u t p u t(1);D D E p o k e(c h a n n e l,r e s u l t 2 ,o u t p u t(2);%将运算结果发送回Wi n C C中其中:d a t a ,d a t a 2,r e s u l t 1,r e s u l t2 是请求和发送数据的项目 名,可根据实际情况增减请求和发送数据的个数;c o n t ro l)函数用来实现控制算法,当需要更
30、改控制算法时,只需要改变此函数即可。大大简化了控制系统中复杂控制算法的编制及运算过程。同时可以此为平台,利用M A T L A B强大的仿真工具,对复杂控制系统进行仿真,使控制系统的功能更加丰富完善。该方法具有程序实现简单、方便、通用性强的特点,只要更换程序中的控制算法函数,即可实现不同的控制策略,可视为开发监控软件平台的一种很好的方法。参考文献1 张明光,袁占 亭,余冬梅,等.M a tl a b 与工控组太软件R S V i e w 3 2 的 通信设计 J .自 动化仪表,2 0 0 5,2 6(3),3 6-3 8.2 刘志俭主编,M a d a l 应用程序接口 用户指南 M).北京
31、:科学出版 社,2 0 0 0.3 西门子公司.W i n C C V 5.0 使用手册 M .2 0 0 1.4 结束语 本文用动态数据交换(D D E)技术实现了M A T L A B与W i n C C之间的通信,从而可以通过二者之间的函数调用,使各种先进控制算法方便地应用于控制系统中,修改稿收到日 期:2 0 0 6-0 1-1 1 a 第一作者王克平,男,1 9 8 2 年生,现为江南大学通信与控制工程学院在读硕士研究生;主要研究方向为现场总线控制系统、先进控制技术及应用。t;););f);););)f;,2 0 0 6 年中国石油和石化装备产业发展论坛”将在北京召开 本刊讯由中国石
32、油和石油化工设备工业协会主办的“2 0 0 6 年中国石油和石化装备产业发展论坛”,将于2 0 0 6 年4 月3日一 4 月5日 在北京展览馆举行。石油和石油化工行业作为国家的基础能源产业,其装备制造业是保证国家可持续发展战略的重要组成部分,本次论坛主要涉及:能源战略、能源新技术、环境保护、中小企业发展、大项目 效应、制造技术自 主创新发展等诸多领域。在国家发改委、国资委、科技部、机械工业联合会等政府机构和中石油、中石化、中海油三大石油公司等的支持下,本论坛邀请了知名行业专家、产业经济专家、国内外用户企业和制造企业、石化园区领导作精彩演讲,探讨2 0 0 6 年我国石油和石油化工行业和装备制
33、造业的发展前景。论坛特约报告内容主要包括以下几个方面:我国“十一五”期间新能源发展战略;中国石油市场的现状和分析;中国石油化工行业现状和分析;中国百万吨级乙烯装置装备国产化发展报告;2 0 0 5-2 0 0 6 年中国 石油和石油化工设备行业发展报告;石化产业集群可持续发展论述;石油和石油化工装备技术推介。同期举行的大型活动主要有:第六届中国国际石油石化技术装备展览会;第六届中国国际石油天然气管道建设与油气储运技术装备展览会;2 0 0 6 年中国国际海洋石油天然气展览会;中国石油和石化行业信息化推进研讨会;非洲企业专场推介会,丹麦企业专场推介会、西门子自控产品推介会、东芝三菱电机产品推介会
34、、慕贝尔公司产品推介会等。大会已邀请来自 美国、俄罗斯、德国、法国、巴西、丹麦、尼日 利亚、新加坡等非洲和中东等国的代表展团近5 0 0 家企业将到会参加展览交流。本次活动通过了国际展览联盟(U F I)认证,是亚洲石油和石油化工行业最大的交流平台。-.内自-内-.内:八.内.内:*自.-:内.内:八.-自-内曲.氏:.娜、.二 二 .二 .二.c c c c c c c c c c c t c c c c c c c c c c c c c u c c c c c c c c c c c YP R O C E S S A U T O MA T I O N I N S T R U ME N T A T I O N V o l.2 7 N o.4 A p r i l 2 侧 场