毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

模糊控制功能在InTouch平台DDE技术在组态软件中扩展先进控制功能的方法 第7页

更新时间:2008-9-8:  来源:毕业论文

模糊控制功能在InTouch平台DDE技术在组态软件中扩展先进控制功能的方法 第7页

交换及使用协议达到传递数据的同步。DDE协议可应用两种类型的DDE应用程序,第一种是基于消息的DDE应用程序,第二种是动态数据交换管理库(DDEML)应用程序。DDE应用程序可分为4种类型,客户、服务器、客户/服务器、监视器。其中,客户应用程序从服务器应用程序请求数据或服务;服务器应用程序响应客户应用程序的数据或服务请求。DDE应用程序采用3层识别系统从其他的DDE应用程序来识别它们本身,3层分别是:应用程序名(进行DDE对话的双方名称) ,主题(被讨论的数据域) ,项目(被讨论的特定数据对象)。通过3层识别进行初始化并建立会话,进行会话的交换,交换结束后便是会话的中止,客户应用程序或者服务器应用程序都能终止会活。

2InTouchDDE接口

InTouch既可以作为服务器也可以作为客户端,当它作为服务器时,当另一WINDOWS应用程序从InTouch中请求数据值时,它必须知道3I/O地址项:应用程序名(VIEW),主题名(TAGNAME),项目名(ActualTagname)。当InTouch作为客户端时,它提供的DDE函数有WWExecute,WWPoke,WWRequest。其中,WWExeute将要发送的命令字符串发送到指定的应用程序和主题;WWPokeTextValue的值被发送到指定的应用程序、主题和项目,必要时使用tringFrom IntgStringFromReal函数对其进行转换; WWRequest将特定应用程序、主题和项目中的DDE值将返回给ValueMsg_Tag,值将作为字符串返回给消息型标记,如果该值为一个数字,可以使用StringToIntgStringToReal函数对其进行转换。

3MATLABDDE接口

MATLAB同样既可以做服务器也可以做客户端,MATLAB做服务端时,其应用程序名为Matlab;其主题分为两类,分别为SystemEngine;每类主题又包含几个不同的项目,最常用的是Engine主题和它所包含的EnEvalString(客户把指令发进MATLAB计算)EngStringResult (索取文字结果)EngFigureResult (索取图形结果) 3个项目。当Matlab做客户端时,它提供了7个客户端函数: ddeinitddeadvddeexecddepokeddereqddetermddeunadv。使用ddeinit函数建立与服务器的对话通道;在所建立的通道上采用ddereq函数向服务器所要数据,返回值是存有数据的矩阵;使用ddeexec函数发出给服务器应用程序执行的命令;使用ddepoke函数向服务器发送数据;使用ddeadvddeunadv分别是建立和删除热链接(热链:服务器的数据有变化时,服务器直接把数据送给客户,由客户对这些数据进行处理) ;使用ddeterm函数终止与服务器之间的DDE会话。

4InTouchMATLAB通讯的实现

InTouchMATLAB都既可以做客户端又可以做服务器。由于InTouch提供的脚本程序中函数较少,且函数的应用功能远不如MATLAB提供的强大,提供的DDE接口函数,也没有MATLAB提供的函数应用方便。所以,本文采用MATLAB做客户端, InTouch做服务器,分别采用M文件,S函数(采用M语言编写)来实现它们之间的通信,如图2-8,并通过实例说明其通讯原理。

 

2-8    INTOUCHMATLAB之间的通信

实例:在开发船舶电站模拟器时,采用InTouch进行人机界面的开发,采用MATLAB进行相关运算及建立电站的数学模型。例如监视某负载的功率,需要InTouch实时采集其电流和电压信号,MATLAB环境里将InTouch采集的电流和电压信号相乘,得到的瞬时功率值返回给InTouch,InTouch中以图形方式(功率表)直观显示出来。

方法一,采用M文件实现InTouchMATLAB通讯。

M文件编写如下:

chann = ddeinit (‘view’, ’tagname’) ;  %建立MatlabInTouch之间的通

讯通道

      

while switch = = 1                          %通过循环实现MatlabInTouch的数据采集

pause (0.01) ;                        %暂停

rc = ddereq ( chann, current) ;   %采集InTouch中标记名为current的值

rv = ddereq ( chann, voltaga) ;   %采集InTouch中标记名为voltaga的值

w = rc*rv;

ra = ddepoke ( chann, power,w) ;  % w的值赋给InTouch中标记名为power的变量

end

ddeterm ( chann) ;                    %关闭对话通道chann

方法二,采用S函数实现InTouchMATLAB通讯。

使用S函数实现InTouchMATLAB通讯,是在MATLABSIMULINK环境下进行的,它分为两个模块,一个是MATLAB采集InTouch中的数据,另一个是MATLABInTouch发送数据,通过这两个模块共同作用来实现InTouchMATLAB之间的数据通讯。下面

分别给出S函数部分源码并通过注释介绍如何来实现通讯。

MATLABInTouch中采集数据的S函数:

function [ sys, x0, str, ts ] = InTouch2simulink ( t, x, u, flag,

chann)                                     %channS函数传递的参数

switch flag,

   case 0

[sys, x0, str, ts] =mdlInitializeSizes( t, x, u, chann) ;

                             % S函数的初始化

 case 3

sys =mdlOutputs( t, x, u, chann) ;         % S函数的输出

   case {1, 2, 4, 9}

sys = [ ];                                 %没有定义的flag

   otherwise

error ( [Unhandled flag = , num2str ( flag) ] ) ;

% 容错处理

end;

function [ sys, x0, str, ts] =mdlInitializeSizes( t, x, u, flag, chann)

sizes. NumOutputs = 2;                     %输出参数的数量

sizes. Num Inputs = 0;                     %输入参数的数量,没有u所以为零

sizes. DirFeedthrough = 0;                 %没有直接馈通所以为零

function sys =mdlOutputs( t, x, u, chann)  %输出所调用的函数

if chann = = 0

    disp (DDEfaild! ) ;

else

  rq (1) = ddereq ( chann,current) ; %采集INTOUCH中标记名为current变量的数据

  rq (2) = ddereq ( chann,voltaga) ; %采集INTOUCH中标记名为voltaga变量的数据

  for i = 1: 2

  sys( i) = rq ( i) ;

  end

end

MatlabInTouch发送数据时,mdlOutput函数不同外(采用ddepoke函数) ,其他的基本相似。

将以上函数进行封装便可以在SIMULINK环境中运行。在运行时,首先打开InTouchwindowviewer,并向MATLAB命令窗口输入chann = ddeinit (view,tagname)来建立MATLABInTouch的连接。

 

2.5 本章小结

本章介绍了几种实现组态软件扩展的方法,对每种方法都进行了较为详细的说明和介绍,并附有一些实际运用的例子,成功实现了组态软件控制算法的扩展。着重介绍了DDE协议,并以InTouchMATLAB之间的动态数据交换为例详细的介绍两种实现通信的方法,InTouch实现现场的数据采集通过DDE协议传到MATLAB中,在MATLAB中计算出结果后再将数据传回InTouch中。

基于美国Wonderware公司出品的InTouch专业组态软件具有可视化编程、使用简单、组态灵活、组网方便、与流行的数据库有良好的接口、可以和许多应用程序很好的协同工作等优点,本次设计选用组态软件是InTouch。选用的先进控制策略是模糊控制,在MATLAB的环境下实现。采用DDE技术实现二者之间的通信,在MATLAB中编写M文件来实现两者之间的数据交换,达到扩展组态软件的控制算法的目的

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

模糊控制功能在InTouch平台DDE技术在组态软件中扩展先进控制功能的方法 第7页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。