搜档网
当前位置:搜档网 › 基于Labview与Matlab混合编程的应用研究

基于Labview与Matlab混合编程的应用研究

基于Labview与Matlab混合编程的应用研究
基于Labview与Matlab混合编程的应用研究

基于Labview与Matlab混合编程的应用研究

袁培铎

(河海大学电气工程学院,江苏南京210098)

摘 要:介绍了Labvie w与Matlab混合编程的方法,通过两个实例,介绍了利用Matlab scri p t节

点实现混合编程的应用。Labview与Matlab编程软件的结合运用,可实现优势互补,有利于控

制系统程序的仿真,提高编程效率,也是一条开发智能虚拟仪器的有效途径。

关键词:Labvie w;M atlab;Matlab scri p t节点;混合编程;虚拟仪器

中图分类号:TP311111 文献标识码:B 文章编号:167125276(2007)0620129203

Research and Appli ca ti on of the M i xed Program m i n g Ba sed on Labv i ew and M a tl ab

Y UAN Pei2duo

(Ho ha iU n i ve rs ity,N an ji ng210098,C h i na)

Abstract:This pap e r i n tr oduce s the m e tho ds o f how t o use Labvi ew and M a tl a b m i xe d p r o gramm i ng,a nd the app li ca ti o n s o f m i xed p r o g ramm i ng i n the t w o e xam p l e s of M a tl a b sc ri p t no de.I t s i m p li fi e s the p r o gramm i ng and i m p r o ve s p r o gramm i ng effi c i ency by the u se of Labvi ew a nd M a tl a b m i xe d p r og ramm i ng,w h i ch is a lso a n e ffe c ti ve w ay t o de ve l o p i nte lli gen t visua l i n s trum e nts.

Key words:La bvi ew;M a tl a b;M a tl a b sc ri p t no de;m i xe d p r o gramm i ng;visua l i ns trum e n ts

0 引言

在工程领域中,Labvie w和M atlab是倍受程序开发人员青睐的两种语言。Labview是美国N I公司推出的一种非常优秀的面向对象的图形化编程语言(G语言),是一个具有良好开放性的虚拟仪器开发平台,正广泛应用于自动化测量与控制,它大大简化了过程控制和测试软件的开发。目前,虚拟仪器已经成为测试应用中的主流技术,它使用户可通过软件来建立自定义的仪器,它的出现也从根本上更新了仪器的概念。

Labvie w图形化虚拟仪器编程语言直观,可视化强,在虚拟仪器技术上已得到了广泛的应用。它整合了诸如GP I B、VX I、PX I、RS2232和RS2485以及数据采集卡等硬件通信的全部功能,还内置了便于应用的TCP/I P、Active的软件标准的库函数。通过这些强大的硬件接口能力,Lab2 view可以方便与其它硬件系统通信,采集数据。但是在对各种算法的支持方面,Labvie w的工具箱非常有限,在进行一些需要大量数据运算处理的复杂应用,以及复杂的控制算法的时候,Labvie w就显得有些力不从心。

而Matlab具有Labvie w不可比拟的强大计算能力,完备的工具箱,以及复杂的算法。Matlab是Math Works公司开发的“演算纸”式的程序设计语言。Matlab以其强大的科学计算功能、大量稳定可靠的算法库,已成为数学计算工具方面事实上的标准。它提供了强大的矩阵运算和图形处理功能,编程效率高,几乎在所有的工程计算领域都提供了准确、高效的工具箱。但MAT LAB也有不足之处,例如界面开发能力较差,并且数据输入、网络通信、硬件控制等方面都比较烦琐。

通过Labvie w与Matlab的接口,把Labvie w采集到的数据送到M atlab中进行复杂的运算处理,最后再送达Labview进行输出或显示。实现Labvie w与Matlab的混合编程,充分发挥两者的优势,从而可以快速开发功能强大的智能化虚拟仪器,具有非常实用的价值。

1 Labvie w与Matlab混合编程的方法

Labvie w与Matlab混合编程有多种方法,如应用ActiveX 自动化、C O M、DLL、DDE技术等,通过Labvie w强大的外部接口调用Matlab工具箱,实现了对Matlab的自动化控制,运行速度快,与Labvie w的兼容性好,但是过程相对繁琐。

Labvie w提供了H I Q Scri p t节点,通过它也可以方便地与Matlab、Excel、Word等进行通信。另外N I公司和Math Works公司合作推出一个工具包———SI T(si m ulati on interface t oolkit),用来实现Labview和Si m ulink交互式编程。有了这一工具包,就可以将Labview图形化开发环境与Math Works公司的Si m ulink建模和仿真软件连接起来。在Labvie w环境下控制和查看Si m ulink模式数据,或在Labvie w环境下运行Si m ulink模式。

常用的混合编程方法是调用MAT LAB脚本节点,即Matlab Scri p t节点,通过这种方式,用户可以在Labview中使用Matlab强大的数值运算功能。这种方法不能控制MAT LAB服务器,打开脚本的速度慢,当节点中的脚本执行完毕后,M atlab也不能自动关闭。所以虽然快捷方便,但不利于较大应用程序开发。但这是N I公司提供的一种相对容易的方式,也是Labvie w开发组推荐使用的方式。

基于调用M atlab Scri p t节点的方法,来进行Labvie w 与Matlab的混合编程,可以通过下面的两个例子来说明。所用软件版本为Labvie w8.2和M atlab6.5。

2 混合编程在P I D控制参数调节中的应用举例

P I D控制器广泛应用于当今的工业过程控制中,但其

?

9

2

1

?

M ac hine B uilding A uto mation,D ec2007,36(6):129~131,153

htt p:∥ZZHD.chinaj ournal .net .cn E 2mail:ZZHD@chainaj ournal .net .cn 《机械制造与自动化》

控制参数整定一直是难点问题。以一个二阶系统为例,在该系统前面加上P I D 控制器,并构成单闭环的负反馈控制系统(图1)。通过给系统添加单位阶跃输入,来研究在PI D 控制器的作用下,系统输出随着PI D 参数调节的变化情况。分析系统的阶跃响应指标如调节时间、超调量和稳态误差随着PI D 参数变化的效果,从而达到参数整定的作用。

在图1中,二阶系统G (s )=1

(0.5S +1)(0.05S +1)

;

P I D 控制器传递函数:G 1(s )=Kp 1+

1TiS

+Td ?S ;其中

Kp 、Ti 、Td 分别为比例增益、积分时间常数和微分时间

常数。

图1 系统结构框图

Labvie w 中的程序称为V I,每个V I 由前面板、框图程

序和图标/连接端口3个部分组成,其中前面板用于模拟真实仪器的用户面板,完成仪器的操作控制、设置输入参数和观测输出量,常由开关、旋钮、按钮、图形、图表等构成;框图程序用于与每一个前面板相对应,利用图形编程语言对前面板上的控件对象进行控制,将系统所需要的功能模块进行有序的安置。

在Labvie w 程序框图(图2)上引入Matlab scri p t 节点,它在函数μ数学μ脚本与公式μ脚本节点下。在节点内编写仿真该系统阶跃响应的m 文件。Matlab scri p t 节点左边框共有四个输入参数:Kp 、Ti 、Td 参数和m 参数,m 参数为波形图显示的范围,在本例中,即为间隔0.01s,从0显示到m 。y 为数组,稳态误差取主数组的最后一个元素与稳态值的差,换算成百分值。求超调量先取y 数组的最大元素,需要一个“数组最大值与最小值”函数,它在编程μ数组下,y 数组经此函数后,再与稳态值1相减,求绝对值,最后换算成百分值即为超调量

图2 P I D 控制系统程序框图

y 数组送波形图表显示,为了直观显示P I D 参数调节的效果,可在波形图表上把G (s )系统未经P I D 调节的阶跃响应曲线(y 2)也显示出来,需要添加一个“创建数组”函数,y 和y 2经此函数再送达波形图表。最后添加while 循环结构,从而在调节参数后,可即时显示出阶跃响应的变化。P I D 控制程序前面板如图3

所示:

图3 P I D 控制程序前面板

小波降噪程序前面板如图4所示,在波形图中的虚线为未经P I D 调节的系统阶跃响应曲线,实线为经过P I D 参

数调节的系统阶跃响应曲线。

运行程序后,通过调节P I D 参数,可以实时地看到阶跃响应曲线的变化,最大超调量和稳态误差也在前面板中即时显示,上升时间和调节时间等性能我们可以从曲线中看出。

在上面的例子中,采用了Labview 与Matlab 的混合编程,用Labvie w 编写用户界面,通过界面设置并输入P I D 参数,将参数通过Labvie w 与Matlab 接口传递给M atlab 程序,利用Matlab 控制系统工具箱完成系统仿真功能,最后将结果回传给Labvie w 显示,这将有利于控制系统的仿真,大大提高了编程效率。

3 混合编程在小波降噪中的应用

在虚拟仪器中,对所得的信号数据进行处理以提取我们所需要的信号是非常重要的。Labvie w 提供了一些信号处理函数,具有滤波,加窗等技术。但Matlab 的强大计算及信号处理功能却是Labvie w 不能比拟的。小波变换分析理论是近十几年发展起来的新的信号处理技术,因其在

?

031?

图4 小波降噪程序前面板

时域和频域都可达到高的分辨率,被称为“数学显微镜”,在数字信号处理领域应用广泛,发展很快。

M atlab 小波工具箱(wavelet t oolbox )提供了许多小波分析功能函数,把M atlab 的W avelet Toolbox 用到Labvie w,就可以大大加强Labview 的信号处理功能。实验方案为:Labview 通过数据采集或仿真生成含用噪声的信号,通过仪器前面板设置信号处理的参数,将参数通过Labvie w 与Matlab 的接口传递给M atlab 的小波分析功能函数wden,完成对含有白噪声的正弦信号处理,并将提取出来的低频正弦信号显示出来。

在本例中,调用了M atlab 的W avelet Toolbox 中的小波降噪函数wden 函数,实现了对可选的虚拟正弦波、方波、和锯齿波的降噪处理。在程序中,使用了条件结构来实现对产生波形的选择。n 为小波降噪的层数。两个波形图有一个显示含噪声的信号波形,另一个同时显示两个波形:加噪声前的原始信号波形(虚线)和消噪后的信号波形(实线),从而可以对比这两个波形来分析消噪的效果。

最后设计出的小波降噪程序前面板和程序框图分别如图4、图5所示

:

图5 小波降噪程序框图

wden 函数的脚本节点内源代码为:

xd =wden (x,‘heursure ’,‘s ’,‘one ’,n,‘sy m8’

)运行程序,先设置信号频率,采样频率,以及消噪导数,通过选择不同的波形,波形图可以分别显示出降噪前后的波形。通过层数n 的增加,可以看到降噪后的波形越来越清 。通过比较也可以看出,对正弦波小波降噪后的效果最好,一般在n =6时,原始正弦波形和消噪后的波形就能较好吻合。

通过上面的例子,在Labvie w 中调用M atlab 程序,充分利用了Labvie w 的图形化界面和Matlab 的工具箱以及可以进行复杂算法的优势,达到了取长补短的目的。

4 结论

上面所举只是两个很简单的应用,没有加入外部数据的采集。而且在实际应用中,接口方法也往往非Matlab scri p t 节点法所能胜任,需要采用DLL 、COM 组件等复杂接口技术,实现Labvie w 与Matlab 的无缝集成。在进行混合编程开发虚拟仪器的过程中,通常由Labvie w 设计用户图形界面,负责数据采集、硬件控制、运行控制、网络通信,而Matlab 则提供神经网络、小波分析等复杂算法供调用。

总之,在Labview 环境中调用M atlab 语言的混合编程,一方面可应用Labvie w 强大的G 语言的编程方法,提

(下转第153页)

?电气技术与自动化?晋景涛,等?

石膏墙板生产线自动配料控制系统的研究设计

R =ρ

L

S

(4)

式中:ρ———电阻丝的电阻率;

L ———电阻丝的长度;S ———电阻丝的截面积。

当电阻丝受到拉力F 作用时,将伸长ΔL ,横截面积相应减小ΔS ,电阻率则因晶格发生变形等因素的影响而改变Δp ,故引起电阻但变化ΔR 。对式(4)全微分,并用相对变化量来表示,则有

ΔR R =ΔL L -ΔS S

+

Δρ

ρ(5)式中,ΔL

L

=ε为电阻丝的轴向应变,若径向应变为

Δr/r ,由材料力学可知

Δr

r

=-μ(ΔL /L )=-με;式中μ为

电阻丝材料的泊松系数,因为ΔS /S =2(Δr/r ),代入式(5)可得

ΔR

R

=(1+2

μ)ε+Δρ/ρ(6)通常把单位应变引起的电阻值相对变化称作电阻丝的灵

敏系数,其表达式为:

k 0=ΔR /R ε=(1+2

μ)+Δρ/ρ

ε

(7)从式(7)可以看出,k 0受两个因素的影响,一是(1+2

μ),它是材料的几何尺寸变化引起的,另一个是Δρ/ρ

ε,它是

由材料的电阻变化率引起的。对于金属材料来说,以前者

为主,则得k 0=1+2μ。大量的实验证明,在电阻丝的拉

伸比例极限内,电阻的相对变化与应变成正比,即k 0为常数k 0。于是式(7)可以写成

ΔR /R =k 0ε(8)通常金属电阻丝的灵敏系数k 0=1.7×3.6。当超过了电

阻丝的拉伸比例极限时,k 0值将发生变化。

3.2 应变片的基本结构及测量原理

电阻丝应变片是用直径为0.025mm 具有高电阻串的电阻丝制成的,为了获得高的阻值,将电阻丝排列成栅

网状,称为敏感栅,并粘贴在绝缘的基片上。电阻丝的两

端焊接引线。敏感栅上面粘贴有保护用的覆盖层。

用应变片测量时,将其粘贴在被测对象表面上。当被测对象受力变形时,应变片的敏感栅也随同变形,其电阻值发生相应变化,通过转换电路转换为电压或电流的变化,这是用来直接测量应变。

通过弹性敏感元件将位移、力、力矩、加速度和压力等物理量转换为应变,则可用应变片测量上述各量,而做成各种应变式传感器。

应变片之所以应用得比较广泛,是由于它有如下优点:1)测量应变的灵敏度和精确度高,性能稳定、可靠,误差小于1%;2)应变片尺寸小、质量轻、结构简单、使用方便,且测量速度快。测量时对被测件的工作状态和应力分布基本上无影响,既可用于静态测量,又可用于动态测量;3)测量范围大,既可测量弹性变塑也可测量塑性变形。变形范围可从1%~2%至20%;4)适应性强。可在高温、超低温、高压、水下、强磁场以及核辐射等恶劣环境下使用;5)便于多点测量、远距离测量和遥测。

4 结束语

自动配料控制系统,提高了石膏墙板生产的自动化程度,该控制系统电路简单,长期连续工作,操作维护方便,可靠性高、运行成本低,在长沙归一建材石膏墙板生产线上应用。参考文献:

[1]廖常初.FX 系列P LC 编程及应用[M ].北京:机械工业出版

社,2005.

[2]邹伯敏.自动控制理论[M ].北京:机械工业出版社,2004.[3]张建民.传感器与检测技术[M ].北京:机械工业出版

社,1997.

收稿日期:2007-05-14

(上接第131页)

高开发数据采集、工业控制等虚拟系统的效率。另一方面可利用Matlab 能够进行复杂数值计算的优势,大大增强Labview 功效;提高了虚拟仪器的测试精度、稳定性和扩展性能,为测控系统的构建提供了一条有效途径;可快速开发出更具智能化的虚拟仪器,而且特别适合大型复杂测控系统的开发。

M atlab 具有丰富的工具箱,所以两者的合作使用空间是很大的。在很多领域诸如故障诊断、专家系统、复杂过程控制等方面是大有用武之地的。参考文献:

[1]杨乐平,李海涛,杨磊.Labview 程序设计与应用[M ].北京:

电子工业出版社,2005.

[2]刘君华.基于Labvie w 的虚拟仪器设计[M ].北京:电子工业

出版社,2003.

[3]郭一楠,程健.基于Labvie w 和Matlab 的过程控制虚拟仿真平

台的研究[J ].电气电子教学学报,2006.

[4]张烈平,牛秦洲.Matlab 和Labview 混合编程在控制系统仿真

中的应用[J ].桂林工学院报,2005.

[5]刘子民,何广民,白云.基于Labvie w 和Matlab 的虚拟仪器设

计及实现[J ].弹箭与制导学报,2006.

[6]姚世锋,薛德庆,等.Labvie w 与Matlab 混合编程[J ].软件技

术,2004.

收稿日期:2007-07-06

相关主题