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

设计与动态数据交换技术应用研究 第7页

更新时间:2008-6-13:  来源:毕业论文

可视化组态的啤酒生产工艺流程监控系统

4.17 报表向导三

    4.在向导的第四步中设置时间格式、基准行列、基准时间等,如图4.18。其中基准行列用于设定表页中从第几行第几列开始生成报表,如果选择了自适应选象那么产生的报表中将去掉多余的行列,而基准时间用于设定报表的起始时间,此时间可以是变量类型。若图片无法显示请联系QQ752018766

4.18  报表向导四

  5.在向导的最后一步中选择需要在报表中显示的变量,如图4.19。可用右边的按钮对添加的变量进行排序。

4.19 报表向导五

     6 .经过以上几步以后一张完整的报表已经产生,如图4.20

4.20 完整的报表

4.2.7 报警页面

使用力控报警控件可以在系统运行过程中,及时将控制过程和系统的运行情况通知操作人员。

1.在树型菜单中的系统配置里,双击报警设置,弹出“报警设置”对话框,如下图4.21:

4.21 报警设置

 根据设计的需要,选择记录和标准报警声音两个选项就好。

   在力控的在工具箱上的“常用组件”中选择如下图所示: 

4.22 报警组件外观

  对多功能报警的外观和记录格式的设置画面,首先选中多功能报警,然后双击出现如下图:

4.23 报警系统设置

按照相应的操作提示就完成了报警页面的设置。

 通过上述的几个步骤就完成了啤酒监控系统的所有监控画面,并可以投入运行,在上述的制作过程中,要特别的注意脚本动作的书写和一些液位、温度的初值和它们的温度范围,及一些属性的设置要根据工业的实际要求进行设置。5  力控6.0MATLAB 之间的DDE数据通信

     本章主要介绍利用动态数据交换(DDE技术,建立MATLAB与力控之间的通信,这样,就可以利用组态软件生成友好的交互式人机界面,而用MATLAB完成复杂的控制算法,弥补组态软件算法能力不强的弱点,发挥MATLAB的计算功能。

5.1 DDE通信原理

动态数据交换(DDE)是建立在Windows内部消息系统、全局原子和共项全局内存基础上的一种协议,可用来协调Windows应用程序之间的数据交换和命令调用。DDE协议通过对使用消息参数wParamlParam来传递全局原子和全局共享内存句柄的方式的精确定义,使其能在进程间传递更多的信息,增强进程间共享数据和处理数据的能力。通常DDE主要用来传递那些不需要用户经常干涉的数据流。在建立原始链路后,有关的应用程序即将其接管过去,而无需用户进一步的介入。DDE所提供的是一种更加集成的工作环境[10]

DDE的实现需要有两个应用程序参与一个“对话”以便交换信息。提供数据和执行命令的一方被指定为服务器,获取数据的一方称为客户。服务器和客户机是程序在一次具体会话中的角色,其区别在于所能启动的“事务”类型的不同。对于每一个DDE对话,会话双方要指定或专门建立文护会话的不可见DDE窗口以负责对DDE消息的处理。一个DDE对话是由参与会话的窗口句柄来标识的。正因如此,任何一个窗口都不应当参与与其他窗口只的多于一个的DDE对话。如果在一个客户和服务器之间存在多个对话过程,必须为每一个新的对话过程在一对一的基础上提供一个附加窗口。

5.1  DDE会话事务流程

在任何通信中,通信双方都必须统一所交换数据的标识和格式。DDE协议采用的是由服务、主题和项目组成的一个三级层次命名来对DDE所传数据单元进行标识。一个特定的DDE会话唯一地由其服务名和主题名进行定义。在初始化一个DDE对话时,由DDE客户询问此特定DDE服务器的应用程序名和主题名。通常是将使用服务器应用程序的可执行文件名作为服务名。DDE的主题分类是一个包含多个数据项的普通数据类型。有效的主题及项目的选择由DDE服务器任意设置。由于客户和服务器窗口一起来识别一个DDE对话,因此在对话过程中不能改变应用程序或主题。但却可以在需要的时候对项目名称进行更改。

DDE的事务   DDE对话是在两个进程之间进行的一种逻辑连接,通过这种连接可以进行数据交换。在客户和服务器之间进行的每一次会话都是由一系列事务所构成的。对于每个事务可以包含一个数据请求/数据服务和一个对应的响应。DDE服务器和客户所能启动的事务是不同的。

服务器只能启动两种事务:向客户发送一个项目和终止一次对话;而DDE客户则可以启动如下八种服务:枚举DDE服务及主题、与服务器建立一次对话、向服务器请求一个项目、与服务器建立一个数据连接、终止数据连接、请求服务器执行一个或多个命令、向服务器发送一个数据项和终止一次会话。

由于DDE对话是由客户程序启动的,因此在客户程序启动对话前要确保DDE服务器程序已投入运行。客户首先启动会话,服务器程序响应客户的请求并向客户发送数据,客户方则可以主动向服务器发送数据,并要求与服务器建立热/温数据链路。此后客户可以向服务器发送命令并要求服务器执行。客户和服务器中的任何一方均有权利要求对方结束此次对话。在进行这些事务处理时,必须严格按照消息接收顺序去进行处理。当应用程序在等待DDE响应而无法处理另一个请求时,会发出一条表示忙的WM_DDE_ACK消息。

5.2 MATLAB中的DDE

5.2.1 MATLAB作为服务器

在用户将MATLAB作为服务器进行访问时,必须提供服务器的名字、主题、项,这是非常必须的。在前面我们已经对MATLAB提供的主题进行了一定的讲解,下面我们将对MATLAB所提的全部DDE服务器功能进行说明,下图为其结构图。

5.2 MATLAB所提的全部DDE服务器功能

由上图可以看出,MATLAB一共支持两种类型的主题,分别为SystemEngine

5.2.2  MATLAB作为客户端

MATLAB作为客户端时支持七个DDE函数[5]

(1) ddeadv 设置咨询咨询链接

 语法:

rc=ddeadv(channel,’item’,’callback’)

rc=ddeadv(channel,’item’,’callback’,’upmtx’)

rc=ddeadv(channel,’item’,’callback’,’upmtx’,format)

rc=ddeadv(channel,’item’,’callback’,’upmtx’,format,timeout)

函数描述:

    ddeadv MATLAB和一个应用服务器之间建立一个咨询链接。当item指定的变量发生改变时,callback变量定义的字符串被传递到eval函数并进行计算。如果该咨询链接是一个热链接,DDE将修改更新upmtx,以反映item中的数据。

    如果用户忽略不在变量列表最后的可选变量,则必须使用空矩阵替换被矩阵忽略的变量。

    如果成功,ddeadv返回1到变量rc中。否则返回0

(2)ddeexec  发送执行字符串。

语法:

rc = ddeexec(channel,'command')

rc = ddeexec(channel,'command','item')

rc = ddeexec(channel,'command','item',timeout)

函数描述:

  ddeexec通过已经建立的DDE会话发送一个执行字符串到另一个应用程序中,将字符串作为命令变量来定义。如果用户忽略不在变量列表最后的可选变量,必须使用空矩阵替代忽略的变量。

  如果成功,ddeexec返回1到变量rc中。否则返回0

(3) ddeinit 开始一个DDE对话。

   channel = ddeinit(‘service’,’topic’)

函数描述:

 返回用执行对话的通道的句柄,该句柄可以被其它的MATLABDDE函数使用。‘service’是为对话指定服务或者应用程序名称的字符串,‘topic’是一个指定对话的主题的字符串。

(4) ddepoke 发送数据到应用程序。

 语法:

rc = ddepoke(channel,'item',data)

rc = ddepoke(channel,'item',data,format)

rc = ddepoke(channel,'item',data,format,timeout)

函数描述:

ddepoke通过已经建立的DDE对话向应用程序传送数据。ddepoke在传递数据到服务器之前将数据格式化为如下形式:

字符串矩阵将元素逐个转换为字符,并传递得到的字符串缓冲器。

数值矩阵将被作为由Tab键分隔的列和使用回车键、线分隔行的数据来传递。非稀疏矩阵则只传递实数部分。

如果用户忽略不在变量列表最后的可选变量,必须使用空矩阵代过替被忽略的变量。

如果成功,ddepoke返回1到变量rc中。否则返回0

(5) ddereq 从应用程序中获得数据

语法:

data = ddereq(channel,'item')

data = ddereq(channel,'item',format)

data = ddereq(channel,'item',format,timeout)

函数描述:

  ddereq通过已经建立的DDE对话从应用服务器中获取数据。ddereq返回一个矩阵,矩阵中包含要求的数据。如果函数执行出错则返回空矩阵。

如果用户忽略不在变量列表最后的可选变量,必须使用空矩阵代替被忽略的变量。

如果成功,ddereq返回需要的数据到矩阵中。否则返回空矩阵。

(6) ddeterm:终止DDE对话。

语法:

rc=ddeterm(channel)

函数描述

rc=ddeterm(channel)

接受一个此前通过ddeinit创建的DDE对话创建的通道句柄。ddeterm结束该对话,rc是一个返回代码,其中0表示失败,1表示成功。

(7) ddeunadv:释放咨询链接。

语法:

rc = ddeunadv(channel,'item')

rc = ddeunadv(channel,'item',format)

rc = ddeunadv(channel,'item',format,timeout)

函数描述:

ddeunadv释放MATLAB和应用服务器之间此前通过调用ddeadv函数产生的咨询链接。变量channel,itemtformat必须与调用ddeadv开始咨询链接时完全一致。如果用户包含timeout变量但接受默认格式,必须指定format为空矩阵。

如果成功,ddeunadv返回1到变量rc中,否则返回变量0

5.3力控中的DDE

力控®的实时数据库是数据处理的核心平台,它支持DDE标准,可以和其他支持DDE标准的应用程序(如:EXCEL)进行数据交换。一方面,力控®`数据库可以作为DDE服务器,其他DDE客户程序可以从力控®数据库中访问数据。另一方面,力控®`数据库也可以作为DDE客户程序,从其他DDE服务程序中访问数据。

5.3.1 力控®数据库作为DDE服务器设置

力控®数据库作为DDE服务器设置如下:

服务(SERVICE)名称:为“DB”

话题(TOPIC)名称:为“DB”

DDE项目(ITEM)名称:为数据库中的点参数名,如“TAG1.PV”“TAG1.DESC”

5.3.2 力控®数据库作为DDE客户程序

当力控○R 数据库作为客户端访问DDE服务器程序时,是将DDE服务器程序当作一个I/O设备,数据库中的点参数通过I/O数据连接与DDE服务器程序进行数据交换,连接项的名称要参考相关DDE服务器程序的说明。

5.4  力控6.0MATLAB 之间的DDE数据通信

在介绍了上面的力控6.0MATLABDDE的通信原理后,现在就应用在啤酒监控系统中来:

5.4.1 在力控中建立DDE通信画面

由于该通信是从力控中给定一个数据传送到MATLAB中,并在MATLAB中通过数字PID控制算法进行运算,并把运算结果送到力控中并用曲线表示出来。

在工程中新建一个画面“DDE”,并选定与MATLAB通信的数据糊化锅温度”,在数据库变量中定义三个变量:“weidu.PV” “wendu1.PV” “u.PV”。三个变量分别为 “力控中给定温度” 、“MATLAB经运算后的输出温度” 、“控制器输出” 。

根据上述的方法创建力控中的DDE通信画面,如下图5.3

若图片无法显示请联系QQ752018766

5.3 力控中的DDE通信画面

这样就基本完成了力控中的DDE通信画面了。

5.4.2 MATLAB中创建DDE通信

    MATLAB中新建一个“m 文件” ,按上述通信原理写“m 文件”,代码如下:

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

设计与动态数据交换技术应用研究 第7页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

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