LabVIEW与MATLAB的混合编程技术浅析_第1页
LabVIEW与MATLAB的混合编程技术浅析_第2页
LabVIEW与MATLAB的混合编程技术浅析_第3页
LabVIEW与MATLAB的混合编程技术浅析_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、    labview与matlab的混合编程技术浅析    宋凡峰 吴广祥【摘 要】matlab是一种高效率的工程计算软件,labview是一种高性能的图形化虚拟仪器编程软件,本文首先分析了几种labview与matlab混合编程技术的优缺点,然后在labview中通过matlab script节点调用matlab,利用matlab图像处理工具箱中的函数进行图像处理。【关键词】虚拟仪器;labview;matlab scriptmatlab是一款强大的科学计算软件,它集数值分析、矩阵运算、信号处理和图形显示于一体,针对不同领域的应用,具有信号处理、图像

2、处理、神经网络等几十个专用工具箱;matlab缺点在于界面开发能力较差,并且数据输入、网络通信、硬件控制等方面都比较繁琐。虚拟仪器是是一个按照仪器需求组织的数据采集系统,labview是开发虚拟仪器的、基于图形化编程g语言的高效软件,它图形界面丰富,可以容易地制作各种界面。但在对各种算法的支持方面,labview的工具箱非常有限,这就限制了大型应用程序的快速开发。如果能把二者的优点想整合,利用混合编程技术在labview中调用和操作matlab,就可以相互补充,充分发挥两者的优势,开发出高效率的虚拟仪器。一、labview中调用和操作matlab的方法labview和matlab混合编程的实现

3、主要有以下几种方法。(一)利用matlab script节点调用matlab算法在matlab script节点中,用户可以编辑matlab程序,也可以直接调入已经存在的matlab程序,并在labview环境下运行。用户可以很方便地在自己的labview应用程序中使用matlab编写的算法和功能丰富的工具箱。matlab script节点对输入、输出数据的类型有明确的要求。目前两者之间的数据通信仅支持real、real vector、real matrix、complex、vector complex、matrix六种格式的数据,而且还必须根据具体情况进行选择。用该方法实现labview与m

4、atlab的混合编程简单、实用,其缺点是没有脱离matlab的环境,而只是将它在后台执行,所以这种方法必须在计算机中安装有matlab。(二)利用com组件调用matlab算法com技术的核心就是二进制接口规范,此规范独立于编程语言和操作系统。从matlab6.5开始增加matlab com builder功能,它可以帮助用户将用m语言开发的算法自动、快速地转变为独立的com组件对象。通过com组件,可以同其他用户共享已经开发的算法,并且可以免费地随同com应用程序发布matlab算法。labview在其functioncommunicationactivex模块中提供了一组与组件操作相关的子

5、vi,其中automation open节点打开一个与com对象相连的refnum,然后该refnum 能够被传递给模块中的其他函数节点,从而实现具体的com对象操作,最后close automation节点关闭refnum。利用com技术,matlab builder for com能够将低速执行的m文件编译成二进制的com组件,嵌入到labview程序中。这种方法对于规模较大,性能、速度、内存管理要求较高的labview应用程序来说,是非常有利的。(三)利用动态链接库技术动态链接库(dll)是基于windows程序设计的一个重要的组成部分。在labview下利用dll技术调用matlab,

6、首先是用m文件翻译器matcom将matlab的,源文件翻译为cpp代码,并编译为dll文件;然后用labview提供的调用库函数(call library function,clf)节点,在labview中实现dll函数的调用。该方法必须安装matcom,但是matcom对class类和图形窗口的支持不够,使得图像处理的一些功能不能使用,无法画出像matlab中那样精细的图像。比较以上三种方法可知,利用动态链接库的方法不适合调用matlab进行图像处理;利用com组件可以完成调用matlab图像处理的功能,但比较繁琐,适合于大型系统设计;利用matlab script节点可以方便地完成mat

7、lab图像处理功能,满足一般需求,开发出小型高效的虚拟仪器系统。二、labview与matlab混合编程图像处理的实现labview的每个程序就是一个vi,它包括前面板和框图程序窗口两部分。在labview中利用matlab script实现matlab图像处理方法为:在框图程序窗口中,通过functions palette- mathematics-formula-matlab script,打开matlab script节点,可以直接在其框图中写入matlab图像处理程序,也可以在框图中点击右键,在弹出菜单中选择“import”,在对话框中选择要导入的图像处理m程序文件即完成了节点程序的写

8、入。一般情况下推荐使用后者,在matlab环境下编译通过的m文件导入节点可以节省调试时间,提高开发效率。在框图内书写或调用文件时要保证每一条语句的完整性,或者完整写在一行,或者分行要有连接符,否则,程序运行会产生错误。matlab script节点的参数传递可通过添加输入输出完成。在节点边框上单击鼠标右键,在弹出式菜单中选择“add input”或“add output”,注意數字图像是以矩阵格式存储的,所以输入输出图像的数据格式选择为real matrix。三、结束语通过labview与matlab混合编程,二者扬长避短,优秀的labview图形化编程语言与强大的matlab工程计算语言结合,必将大大提高虚拟

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论