基于DDE机理的组态王与MATLAB通信技术及应用.pdf

上传人:爱问知识人 文档编号:5020494 上传时间:2020-01-29 格式:PDF 页数:3 大小:353.54KB
返回 下载 相关 举报
基于DDE机理的组态王与MATLAB通信技术及应用.pdf_第1页
第1页 / 共3页
基于DDE机理的组态王与MATLAB通信技术及应用.pdf_第2页
第2页 / 共3页
基于DDE机理的组态王与MATLAB通信技术及应用.pdf_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于DDE机理的组态王与MATLAB通信技术及应用.pdf》由会员分享,可在线阅读,更多相关《基于DDE机理的组态王与MATLAB通信技术及应用.pdf(3页珍藏版)》请在三一文库上搜索。

1、 山西电子技术 2010年第4期 软件技术 收稿日期: 2010 - 06 - 01 作者简介:樊剑峰(19762 ) , 男,河南安阳人,工程师,本科,主要从事冶金及相关行业的控制系统研究和应用工作。 文章编号: 167424578(2010) 0420052202 基于DDE机理的组态王与MAT LAB通信技术及应用 樊剑峰,王新彦 (安阳钢铁集团有限责任公司,河南 安阳455004) 摘 要:为了充分发挥组态王6. 0的可视化界面功能与MATLAB强大的数值分析和图形绘制功能的各自优 势,利用DDE技术,实现了组态王6. 0与MATLAB的通信,开发了一种过程控制实验装置的实时监控系统。

2、该监 控系统具有实时监测、 控制系统分析、 控制系统设计等功能。应用表明:该实时监控系统运行可靠,操作方便,而且 使得实时监控功能更加强大、 灵活。 关键词:组态王6. 0; MATLAB;实时监控; DDE技术 中图分类号: TP222 文献标识码:A 0 引言 近年来,随着计算机技术及应用的飞速发展, PC机作为 上位机在工业控制领域占据了主导地位,W indows系统下的 组态软件,如组态王(KI NGV IEW ) ,应用也越来越广泛。组 态软件提供了强大的人机界面和通讯功能,而且开发周期 短,但其计算能力不强,难以实现复杂的控制算法。MAT2 LAB (MatrixLaborator

3、y)应用软件拥有丰富的多学科工具箱、 强大的工程计算和图像图形处理功能 1。因此 ,在监控系统 软件的开发中应协同应用组态软件和MATLAB。以组态软 件作为系统主控,进行动态工艺图显示、PLC参数设置、 实时 数据采集等操作;以MATLAB作为后台应用程序实现控制 系统分析、 控制系统设计、 曲线绘制等功能 2。这样 ,有利于 发挥组态软件和MATLAB的各自优势,使得编程更加高效 灵活,功能更加强大。 1 过程控制实验装置的实时监控系统 过程控制实验装置由上位机、PLC、 电动调节阀、 交流变 频器、 交流电机、 三相水泵、 液位传感器、 流量变送器、 温度变 送器、 压力变送器、 加热器

4、、 双容贮水罐及若干数字显示仪表 组成。其实时监控系统是基于组态王6. 0和MATLAB开发 的,结构见图1。 图1 基于DDE机理的通信结构 上位机利用组态王6. 0与PLC的串口通讯,实现对下位 机PLC的实时数据采集和监控器参数设置。MATLAB通过 与组态王6. 0的通信,实现了对过程控制装置的控制系统分 析、 控制系统设计功能。因此,该实时监控系统有以下几方 面功能:工艺流程的动态显示; PLC的参数设置和显示;实时 数据的采集和存储,以及实时曲线的显示;历史数据的显示 查询,以及历史曲线的显示;报警事件的产生、 处理、 保存及 查询;控制系统的分析;控制系统的设计。 2 组态王6.

5、 0与MATLAB的通讯 组态王6. 0与MATLAB均支持动态数据交换(DDE)技 术,使得二者能够通过数据交换实现互相通讯。在通讯过程 中,发起方的应用程序称为客户端(client) ,响应方的程序称 为服务器( server) ,Matlab和组态王6. 0都是既作客户端又 作服务器程序。当客户端应用程序发起DDE时,他必须确 认三个DDE参数 3。这三个参数由服务器提供 ,分别是服 务器应用程序的名称(Server)、 交换的主题(Topics)和DDE 过程中传递的数据( Items) ,例如组态王6. 0的这三个参数 分别为: view、tabname和链接设备寄存器。当服务器端应

6、用 程序接受到一个主题的交换请求时,它将回应请求并建立一 个DDE。 当Matlab作为客户端应用程序时,为完成与组态王6. 0 的通信,Matlab提供了以下函数 4: 初始化函数channel = ddeinit( service, topic) ,连接建立 函数 rc = ddeinit ( channel, item, callbak, upmtx, format, time2 out) ,数据请求函数 data = ddereq(channel, item, format, timeout) ,数据发送函 数 rc = ddepoke(channel, item, data, for

7、 mat, ti meout) ,链接释 放函数 rc = ddeunadv( channel, item, format, timeout) ,通信终止 函数rc = ddeterm (channel)。 3 工程简化实例及过程参数辨识 3. 1 过程描述 控制对象由两个串联的液体储罐组成(见图2) ,图中 LT、LC分别表示液位变送器和液位控制器,Q1、Q0、R分别 表示输入流量、 输出流量和液位二的设定值。在该控制系统 中,液位二的信号由LT传送给LC,LC根据液位信号和设定 值的偏差操纵电机,从而通过调整电机转速来调节Q1,最终 实现对液位二的控制。 该过程为自衡非震荡,具有相互影响的

8、双容过程,其数 学模型可以用如下传递函数描述: G(s)= Kp Tps+1e -. 其中:Kp、Tp 、 分别指过程的增益、 时间常数和时间滞后。 图2 双容液位系统单回路控制结构简图 3. 2 过程参数的估计及程序实现 过程参数可使用Matlab中的Isqcurvefithan函数进行估 计。根据阶跃信号作用下过程的输出曲线的形状,先确定过 程的模型属于哪一种类型的过程结构,然后采用非线性最小 二乘法进行曲线的拟合,从而确定过程的参数Kp、Tp和 。 而组态王6. 0只是用来编制窗体,以及调用Matlab命令,具 体操作步骤如下 5: (1)使控制器处于手动操作,设置参数使得控制器输出 单

9、位阶跃变化; (2)由组态王6. 0采集阶跃响应数据,并实时传送给 Matlab; (3) Matalb在获得数据后,利用Lsqcurvefit函数进行参 数估计,并拟合曲线输出; (4) Matlab将被辨识的参数过程传递给组态王6. 0,以 便显示。 以下将给出响应程序,并附有详细注释。 (1) Matlab源程序如下: 编制函数文件 fun( 含有时滞一阶惯性过程的阶跃响 应函数 ) , 以备调用 7。Function y = onedt(x0, tt) % tt为时 间,X0为曲线拟合的估计值, X0 (1) , X0 (2) , X0 (3)分别为 Kp、Tp、t Dd = ( tt

10、 - x0(3) )3( tt x0(3) ) ; y = x0(1)3(1 - exp ( - dd/x0(2) ) ) ; Matlab接受和发送数据,进行过程参数估计,并命名 该文件为proc_iden. m clear; format short g; Channel = ddeinit (view,tagname ) ; %初始化DDE 通信 %向过程发送命令,使MV发生单位阶跃变化 Rc1 = ddepoke(channel,PLC200. V116, x(0) ) ; % PLC200. V116为MV的项目名 %MATLAB以T =3为周期,接收120个PV数据 For i =

11、1: 120 Tic Data ( i) = ddereq ( channel, PLC200. V20) ; % PLC200. V20为PV的项目名 Pause(3 - toc) ; End T =0: 3: 357; T = t(1, 1: 2: 40, 40: 4: 120 ) ; h = data (2, 1: 2: 40, 40: 4: 120) ; X0 = 2 20 20 ; %曲线拟合时的初始值,也可用 其他值 X = lsqcurvefit(onedt, x0, t, h) ; %曲线拟合 Y =onedt(x, t) ; Err = sum ( (h - y). 2; X

12、 = x, err; Plot ( t, h,r3 , t, y,k) ; grid; axis ( 0 360 0 1. 2) ; Xlabel( 时间t) ; legend ( 阶跃响应的采样值, 拟合曲线 , 2) ; Set(gcf,Name, 过程参数辨识 ) ; %MATLAB向组态王6. 0发送数据。 Rc21 = ddepoke(channel,PLC200. V100, x(1) ) ; Rc22 = ddepoke ( channel,PLC200. V104, x(2) ) ; Rc23 = ddepoke(channel,PLC200. V108, x(3) ) ; R

13、c24 = ddepoke(channel,PLC200. V112, x(4) ) ; Rc3 = ddeterm (channel) ; %终止DDE通信 (2)在组态王6. 0运行界面调用Matlab应用程序: startApp (“C: MATLAB6p5binwin32matlab. exe” ) ; 在过程控制装置“ 手动 ” 操作稳态运行,且组态王6. 0 处于“view状态时,按“ 打开Matlab” 键启动Matlab应用程 序,然后在其命令窗口中输入文件名“proce_iden”,按回车键 即可完成对过程参数的辨识。组态王6. 0和Matlab运行界 面分别如图3和图4所示

14、。图3中的err为过程输出拟合值 与实际抽样数据之间的误差平方和。 图3 组态王6. 0运行界面 图4 matlab运行界面简图 另外,在获得过程参数后,对于较简单的过程,可采用 PI D控制。在Matlab中依据相应的公式计算PLC控制器的 PI D参数,随后即可对被控对象实施PI D控制。另外,由于 该实时监控系统可实现组态王6. 0实时数据采集和Malab 实时数据接收和发送,对于较复杂的过程,如大时间滞后、 时 变、 非线性过程,则可以实现过程的在线辨识和实时控制。 4 结束语 本文描述了一种新的过程控制实验装置的实时监控系 统。在该监控系统中,利用DDE技术,实现了组态王6. 0与

15、Matlab的通信,充分发挥了组态王6. 0可视化界面功能与 Matlab强大的数值分析和图形绘制功能的各自优势,从而实 (下转第62页) 35 第4期 樊剑峰,等:基于DDE机理的组态王与MATLAB通信技术及应用 图2 大台阶输出和大小台阶同时输出时的波形 3 用“ 小台阶 ” 改善音频指标的原理 由于“ 二进制台阶 ” 放大模块的开关控制信号,是用数 字音频代码的低6位来控制,具体控制对应关系见表1。 表1 “ 二进制台阶 ” 放大模块控制对应关系 数字代码位B7B8B9B10B11B12 二进制模块1/21 /41 /81 /161/321 /64 从表中可知,“ 二进制台阶 ” 放大

16、模块是由数字音频代 码的单个数字位来分别控制的。 如果数字代码位为逻辑高 电平,则对应的“ 二进制台阶 ” 放大模块就开通;若数字代码 位为逻辑低电平,则相应的“ 二进制台阶 ” 放大模块就被关 断。由于数字音频代码是由连续变化的音频信号转换得来, 其二进制代码的数值就不可能出现跃变,所以“ 二进制台 阶 ” 放大模块输出的射频电压最大跃变量为1/64的“ 大台 阶 ” 射频输出电压。 由以上分析可知, 6个“ 二进制台阶 ” 放大模块可实现的 射频电压等级为: 26- 1 = 64 - 1 = 63。对整个发射机而言, 42个“ 大台阶 ” 放大模块与6个“ 二进制台阶 ” 放大模块共同 参

17、与工作,总共可实现的射频电压等级为: 6342 + 63 + 42 =2 752 - 1 =211. 43- 1。也就是说可实现2 751个射频电压 等级,相当于11. 43 bit量化。 对于双极性信号来讲,如果其量化比特数每增加1 bit, 则因量化而产生的量化噪声功率,将降低为增加之前的四分 之一,相应地与量化相关的信噪比指标也就提高了6 dB。 可见,由于“ 二进制台阶 ” 的介入,使得发射机射频输出 的电压等级提高了许多倍,相应地量化噪声也就大大降低。 这样一来,对于数字调幅发射机的整机信噪比、 失真度指标 而言,就能够得到大幅度的提高。 The Big and Small Step

18、M odulation in D igital AM Wu Jian2ping (Shanxi Radio and TV Adm inistrative Center, Taiyuan Shanxi030001, China) Abstract: In order to i mprove the quality of audio signal recoveried from AM wave and reduce the audio distortion, the big and small step modulationMethod ismostly used in digital AM MW

19、 transmitter .The paper mainly introduces the composition of big and small step, the outputwave of it and the principles . Key words:big and s mall step; digitalAM; RF amplifiermodule (上接第53页) 现了过程控制实验装置的实时检测、 控制系统分析,控制系 统设计等功能。结果表明,该实时监控系统运行可靠,操作 方便,而且使得实时监控功能强大、 软件设计更加灵活。 参考文献 1 何衍庆,姜捷.控制系统分析、 设计和

20、应用 Matlab 语言的应用M .北京:化工工业出版社, 2002. 12. 2 张晓东,姚旺生.基于Matlab和组态软件的数据交换 技术J .微计算机信息, 2003, 19(2) : 21 - 22. 3 苏金明,黄国明,刘波. Matlab与外部程序接口M .北 京:电子工业出版社, 2004. 1. 4 邵新华,金原郁.基于组态软件郁VB的实时监控系统 J .控制工程, 2003, 10(5) : 439 - 440. 5 石莹,洪悦,钱晓龙. Matlab与组态软件的数据交换技 术J .仪器仪表学报, 2003, 24(4) : 337 - 340. 6 张光明,袁占亭,余冬梅. Matlab与工控组态软件RS2 View32的通信设计J .自动化仪表, 2005, 26 (3) : 36 - 38. 7 刘志俭. Matlab应用程序接口用户指南M .北京:科 学出版社, 2000. Design and Use of Technology about KINGVIEW 6. 0 andMatlab Based on DDE Fan Jian2feng, Wang Xin2yan (Anyang Iron Matlab; real2time control; DDE 26山 西 电 子 技 术 2010年

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 商业贸易


经营许可证编号:宁ICP备18001539号-1