文档库 最新最全的文档下载
当前位置:文档库 › 基于DDE机理的组态王与MATLAB通信技术及应用

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

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

 

山西电子技术2010年第4期

软件技术 

收稿日期:2010-06-01

作者简介:樊剑峰(19762),男,河南安阳人,工程师,本科,主要从事冶金及相关行业的控制系统研究和应用工作。

文章编号:167424578(2010)0420052202

基于DDE 机理的组态王与MAT LAB 通信技术及应用

樊剑峰,王新彦

(安阳钢铁集团有限责任公司,河南安阳455004)

摘 要:为了充分发挥组态王6.0的可视化界面功能与MAT LAB 强大的数值分析和图形绘制功能的各自优

势,利用DDE 技术,实现了组态王6.0与MAT LAB 的通信,开发了一种过程控制实验装置的实时监控系统。该监控系统具有实时监测、控制系统分析、控制系统设计等功能。应用表明:该实时监控系统运行可靠,操作方便,而且使得实时监控功能更加强大、灵活。

关键词:组态王6.0;MAT LAB;实时监控;DDE 技术中图分类号:TP222 文献标识码:A

0 引言

近年来,随着计算机技术及应用的飞速发展,PC 机作为

上位机在工业控制领域占据了主导地位,W indows 系统下的组态软件,如组态王(KI N G V I E W ),应用也越来越广泛。组态软件提供了强大的人机界面和通讯功能,而且开发周期短,但其计算能力不强,难以实现复杂的控制算法。MAT 2LAB (M atrix Laborat ory )应用软件拥有丰富的多学科工具箱、强大的工程计算和图像图形处理功能[1]。因此,在监控系统软件的开发中应协同应用组态软件和MAT LAB 。以组态软件作为系统主控,进行动态工艺图显示、P LC 参数设置、实时数据采集等操作;以MAT LAB 作为后台应用程序实现控制系统分析、控制系统设计、曲线绘制等功能[2]。这样,有利于发挥组态软件和MAT LAB 的各自优势,使得编程更加高效灵活,功能更加强大。

1 过程控制实验装置的实时监控系统

过程控制实验装置由上位机、P LC 、电动调节阀、交流变频器、交流电机、三相水泵、液位传感器、流量变送器、温度变送器、压力变送器、加热器、双容贮水罐及若干数字显示仪表组成。其实时监控系统是基于组态王6.0和MAT LAB 开发的,结构见图1

图1 基于DDE 机理的通信结构

上位机利用组态王6.0与P LC 的串口通讯,实现对下位

机P LC 的实时数据采集和监控器参数设置。MAT LAB 通过与组态王6.0的通信,实现了对过程控制装置的控制系统分析、控制系统设计功能。因此,该实时监控系统有以下几方面功能:工艺流程的动态显示;P LC 的参数设置和显示;实时数据的采集和存储,以及实时曲线的显示;历史数据的显示查询,以及历史曲线的显示;报警事件的产生、处理、保存及查询;控制系统的分析;控制系统的设计。

2 组态王6.0与MAT LAB 的通讯

组态王6.0与MAT LAB 均支持动态数据交换(DDE )技术,使得二者能够通过数据交换实现互相通讯。在通讯过程

中,发起方的应用程序称为客户端(client ),响应方的程序称为服务器(server ),Matlab 和组态王6.0都是既作客户端又作服务器程序。当客户端应用程序发起DDE 时,他必须确认三个DDE 参数[3]。这三个参数由服务器提供,分别是服务器应用程序的名称(Server )、交换的主题(T op ics )和DDE 过程中传递的数据(Ite m s ),例如组态王6.0的这三个参数分别为:vie w 、tabna me 和链接设备寄存器。当服务器端应用程序接受到一个主题的交换请求时,它将回应请求并建立一个DDE 。

当Matlab 作为客户端应用程序时,为完成与组态王6.0的通信,M atlab 提供了以下函数[4]:

初始化函数channel =ddeinit (service,t op ic ),连接建立函数

rc =ddeinit (channel,ite m,callbak,upm tx,for mat,ti m e 2out ),数据请求函数

data =ddereq (channel,ite m,f or mat,ti m eout ),数据发送函数

rc =ddepoke (channel,ite m,data,f or mat,ti m eout ),链接释放函数

rc =ddeunadv (channel,ite m,for mat,ti m eout ),通信终止函数rc =ddeter m (channel )。

3 工程简化实例及过程参数辨识

3.1 过程描述

控制对象由两个串联的液体储罐组成(见图2),图中

LT 、LC 分别表示液位变送器和液位控制器,Q 1、Q 0、R 分别表示输入流量、输出流量和液位二的设定值。在该控制系统

中,液位二的信号由LT 传送给LC,LC 根据液位信号和设定值的偏差操纵电机,从而通过调整电机转速来调节Q 1,最终实现对液位二的控制。

该过程为自衡非震荡,具有相互影响的双容过程,其数学模型可以用如下传递函数描述:

G (s )=

K p T p s +1

e -τ

.

其中:K p 、T p 、

τ分别指过程的增益、时间常数和时间滞后。

图2 双容液位系统单回路控制结构简图

3.2 过程参数的估计及程序实现

过程参数可使用M atlab中的Isqcurvefithan函数进行估计。根据阶跃信号作用下过程的输出曲线的形状,先确定过程的模型属于哪一种类型的过程结构,然后采用非线性最小

二乘法进行曲线的拟合,从而确定过程的参数K

p 、T

p

和τ。

而组态王6.0只是用来编制窗体,以及调用M atlab命令,具体操作步骤如下[5]:

(1)使控制器处于手动操作,设置参数使得控制器输出单位阶跃变化;

(2)由组态王6.0采集阶跃响应数据,并实时传送给Matlab;

(3)Matalb在获得数据后,利用L sqcurvefit函数进行参数估计,并拟合曲线输出;

(4)Matlab将被辨识的参数过程传递给组态王6.0,以便显示。

以下将给出响应程序,并附有详细注释。

(1)Matlab:

①编制函数文件fun(含有时滞一阶惯性过程的阶跃响应函数),以备调用[7]。Functi on y=onedt(x0,tt)%tt为时间,X0为曲线拟合的估计值,X0(1),X0(2),X0(3)分别为K p、T p、t

Dd=(tt-x0(3))3(tt>x0(3));

y=x0(1)3(1-exp(-dd/x0(2)));

②Matlab接受和发送数据,进行过程参数估计,并命名该文件为p r oc_iden.m clear;f or mat short g;

Channel=ddeinit(‘vie w’,’tagna me’);%初始化DDE 通信

%向过程发送命令,使MV发生单位阶跃变化

Rc1=ddepoke(channel,’P LC200.V116’,x(0));

%P LC200.V116为MV的项目名

%MAT LAB以T=3为周期,接收120个P V数据

For i=1:120

Tic

Data(i)=ddereq(channel,P LC200.V20);% P LC200.V20为P V的项目名

Pause(3-t oc);

End

T=0:3:357;

T=t(1,[1:2:40,40:4:120]);h=data(2,[1:2: 40,40:4:120]);

X0=[22020];%曲线拟合时的初始值,也可用其他值

X=lsqcurvefit(‘onedt’,x0,t,h);%曲线拟合

Y=onedt(x,t);

Err=su m((h-y).^2;

X=[x,err];

Pl ot(t,h,‘r3’,t,y,‘k’);grid;axis([03600 1.2]);

Xlabel(‘时间t’);legend(‘阶跃响应的采样值‘,‘拟合曲线’,2);

Set(gcf,‘Na me’,‘过程参数辨识’);

%MAT LAB向组态王6.0发送数据。

Rc21=ddepoke(channel,‘P LC200.V100’,x(1));

Rc22=ddepoke(channel,‘P LC200.V104’, x(2));

Rc23=ddepoke(channel,‘P LC200.V108’,x(3));

Rc24=ddepoke(channel,‘P LC200.V112’,x(4));

Rc3=ddeter m(channel);%终止DDE通信

(2)在组态王6.0运行界面调用M atlab应用程序:

start A pp(“C:\MAT LAB6p5\bin\win32\matlab.exe”);

在过程控制装置“手动”操作稳态运行,且组态王6.0处于“view状态时,按“打开Matlab”键启动Matlab应用程序,然后在其命令窗口中输入文件名“p r oce_iden”,按回车键即可完成对过程参数的辨识。组态王6.0和Matlab运行界面分别如图3和图4所示。图3中的err为过程输出拟合值

与实际抽样数据之间的误差平方和。

图3 组态王

6.0运行界面

图4 matlab运行界面简图

另外,在获得过程参数后,对于较简单的过程,可采用P I D控制。在M atlab中依据相应的公式计算P LC控制器的P I D参数,随后即可对被控对象实施P I D控制。另外,由于该实时监控系统可实现组态王6.0实时数据采集和M alab 实时数据接收和发送,对于较复杂的过程,如大时间滞后、时变、非线性过程,则可以实现过程的在线辨识和实时控制。4 结束语

本文描述了一种新的过程控制实验装置的实时监控系统。在该监控系统中,利用DDE技术,实现了组态王6.0与Matlab的通信,充分发挥了组态王6.0可视化界面功能与Matlab强大的数值分析和图形绘制功能的各自优势,从而实

(下转第62页)

35

 第4期 樊剑峰,等:基于DDE机理的组态王与MAT LAB通信技术及应用

图2 大台阶输出和大小台阶同时输出时的波形

3 用“小台阶”改善音频指标的原理

由于“二进制台阶”放大模块的开关控制信号,是用数

字音频代码的低6位来控制,具体控制对应关系见表1。

表1 “二进制台阶”放大模块控制对应关系

数字代码位

B7B8B9B10B11B12二进制模块

1/2

1/4

1/8

1/16

1/32

1/64

从表中可知,“二进制台阶”放大模块是由数字音频代码的单个数字位来分别控制的。如果数字代码位为逻辑高

电平,则对应的“二进制台阶”放大模块就开通;若数字代码

位为逻辑低电平,则相应的“二进制台阶”放大模块就被关断。由于数字音频代码是由连续变化的音频信号转换得来,其二进制代码的数值就不可能出现跃变,所以“二进制台阶”放大模块输出的射频电压最大跃变量为1/64的“大台阶”射频输出电压。

由以上分析可知,6个“二进制台阶”放大模块可实现的

射频电压等级为:26

-1=64-1=63。对整个发射机而言,42个“大台阶”放大模块与6个“二进制台阶”放大模块共同参与工作,总共可实现的射频电压等级为:63×42+63+42

=2752-1=211.43

-1。也就是说可实现2751个射频电压等级,相当于11.43bit 量化。

对于双极性信号来讲,如果其量化比特数每增加1bit,则因量化而产生的量化噪声功率,将降低为增加之前的四分之一,相应地与量化相关的信噪比指标也就提高了6d B 。

可见,由于“二进制台阶”的介入,使得发射机射频输出的电压等级提高了许多倍,相应地量化噪声也就大大降低。这样一来,对于数字调幅发射机的整机信噪比、失真度指标而言,就能够得到大幅度的提高。

The B i g and S ma ll Step M odul a ti on i n D i g it a l AM

W u J ian 2p ing

(Shanxi Radio and TV A dm inistrative Center ,Taiyuan Shanxi 030001,China )

Abstract:I n order t o i m p r ove the quality of audi o signal recoveried fr om AM wave and reduce the audi o dist orti on,the big and s mall step modulati on M ethod is mostly used in digital AM MW trans m itter .The paper mainly intr oduces the compositi on of big and s mall step,the out put wave of it and the p rinci p les .

Key words:big and s mall step;digital AM;RF amp lifier module (上接第53页)

现了过程控制实验装置的实时检测、控制系统分析,控制系统设计等功能。结果表明,该实时监控系统运行可靠,操作方便,而且使得实时监控功能强大、软件设计更加灵活。

参考文献

[1] 何衍庆,姜捷.控制系统分析、设计和应用———Matlab

语言的应用[M ].北京:化工工业出版社,2002.12.

[2] 张晓东,姚旺生.基于M atlab 和组态软件的数据交换

技术[J ].微计算机信息,2003,19(2):21-22.

[3] 苏金明,黄国明,刘波.M atlab 与外部程序接口[M ].北

京:电子工业出版社,2004.1.

[4] 邵新华,金原郁.基于组态软件郁VB 的实时监控系统

[J ].控制工程,2003,10(5):439-440.

[5] 石莹,洪悦,钱晓龙.Matlab 与组态软件的数据交换技

术[J ].仪器仪表学报,2003,24(4):337-340.

[6] 张光明,袁占亭,余冬梅.Matlab 与工控组态软件RS 2

V ie w32的通信设计[J ].自动化仪表,2005,26(3):36-38.

[7] 刘志俭.Matlab 应用程序接口用户指南[M ].北京:科

学出版社,2000.

D esi gn and Use of Technology about K I NGV I

E W 6.0and M a tl ab Ba sed on DD E

Fan J ian 2feng,W ang Xin 2yan

(A nyang Iron &S teel Co .,L td,A nyang Henan 455004,China )

Abstract:I n order t o fully utilize the superi ority of KI N G V I E W 6.0and Matlab,res pectively with the visual interface of the f or mer and the str ong capacity of computing and graphic dis p lay of the latter,a real 2ti m e monit oring syste m of experi m ental installati on f or p r ocess contr ol is devel oped,in which the serial communicati on bet w een KI N G V I E W 6.0andMAT LAB is realized thr ough DDE .M an 2y functi ons are achieved in the real 2ti m e syste m,such as real 2ti m e monit oring,contr ol syste m analysis,contr ol syste m design and s o on .The app licati on shows that the real 2ti m e monit oring syste m is easy t o be perf or med and reliable .Moreover,its functi ons are str on 2ger and more flexible .

Key words:KI N G V I E W 6.0;Matlab;real 2ti m e contr ol;DDE

26山 西 电 子 技 术 2010年 

相关文档