logo资料库

LabVIEW与Matlab接口的方法.pdf

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
1 LabVIEW 与 Matlab 接口的方法  陈金平 LabVIEW 与 Matlab 接口的方法 The Method of Interfacing Between LabVIEW and Matlab 0  引言 虚拟仪器技术是计算机技术、现代测控技术和电子 仪器技术相互结合、渗透的产物。在虚拟仪器系统中 ,数 据的分析处理、控制、结果输出和用户界面等功能都由软 件完成 ,硬件仅仅是为了解决信号的输入输出 ,因此 ,软 件是整个仪器系统的核心 ,从某种意义上可以说 :“软件 即仪器”。虚拟仪器系统的软件设计可以采用通用的可 视化编程语言 ,如 Visual C + + 、Visual Basic 、Delphi 等 ,但 更为方便高效的还是专用的虚拟仪器软件开发平台 , 如美国国家仪器公司 (National Instruments , NI) 的 Lab VIEW、LabWindows/ CVI ,惠普公司的 VEE 等 ,而其中首 推 NI 公司的图形化编程语言 LabVIEW。 1  LabVIEW 的功能及特点 LabVIEW 是 NI 公司推出的一种虚拟仪器软件开 发平台 ,自 1986 年正式推出 ,经过短短不到 15 年的时 间 ,已经发展到以最新板本 LabVIEW6 1 为核心 ,包括 控制与仿真 、高级数字信号处理 、统计过程控制 、模糊 控制和 PID 控制等众多附加软件包 ,运行于 Windows NT/ 98 、Linux、Macintosh、Sun 和 HP - UX 等多种平台的 工业标准软件开发环境 。 LabVIEW 在包括航空航天 、通信 、汽车 、半导体和 生物医学等众多领域内得到了广泛的应用 。其最大的 特色是采用编译型图形化编程语言 ———G语言( Graph Pro gramming) ,即用户设计好程序的大体框架后 ,如同 画流程图一般 ,只需将系统提供的各种图形化功能模 块连接起来 ,就可得到所需的应用软件 。LabVIEW 中 的程序称为 VI (virtual instruments) ,每个 VI 都由前面 板和框图程序以及图标/ 连接端口三部分组成 。 除了具备其它编程语言所提供的常规函数功能 外 ,LabVIEW 内部还集成了大量的生成图形界面的模 板 ,如各种表头 、旋钮 、开关 、LED 指示灯 、图表等 ;丰富 实用的数值分析 、信号处理功能 ,如 FFT 变换 、各种滤 陈金平 (新疆大学 ,乌鲁木齐  830008) 波器 、信号发生器等 ;以及对 RS - 232 、GPIB 、VXI、数据 采集板卡 、网络等多种硬件的设备驱动功能 ,并免费提 供数十家世界知名仪器厂商的几百种源码级仪器驱 动 ,大大方便和简化了用户的设计开发工作 。Lab VIEW 使得过去繁琐 、枯燥的软件开发变得简单 、方便 , 尤其适合不熟悉传统文本编程语言(如 C、BASIC 等) 的 工程技术人员 ,被誉为工程师和科学家的语言 。 但是 ,在大型的系统测试和仿真过程中 ,需要软件 进行一些很复杂的数值计算时 ,LabVIEW 的图形化编 程语言就显得力不从心 ,Matlab 是一种常用的高效率 数学运算工具 ,它建立在向量 、数组和复数矩阵的基础 上 ,使用方便 ,将它和 LabVIEW 有机地结合起来会大 大减少编程的工作量 ,提高编程效率 。本文通过求解 一常微分方程初值问题的例子 ,介绍了两种编程语言 的接口方法 。 2  在 LabVIEW 中调用 Matlab 语言的方法 在测试系统设计和软件开发过程中 ,数学分析与 信号处理是两个不可缺少的重要内容 。LabVIEW 将数 据采集和测试分析中常用的数学和信号分析算法程序 集成在一起 ,提供了先进的数学和信号分析环境 ,所有 的数学分析节点都集中在 Mathematics 子模板中 。在此 模板中有一 Matlab Script 节点 ,利用此节点就可以实现 在 LabVIEW 中对 Matlab 语言的调用 。下面通过具体例 子介绍调用方法 。举例如下 : 用 Runge Kutta 法计算下列微分方程的解 ( 初值问 题) : y′= - 50 y + 50 x2 + 2 x  ,  0 ≤ x ≤1 y (0) = 1 2. 1  编制 M 文件 启动 Matlab6 0 ,利用其 M 文件编辑器编写 M 文件 如下 : function y = ff 2 ( x , y) y = - 50 ·y + 50 ·x ·x + 2 ·x ; 35
3 3 3 3 3 图 3  前面板 3  结论 在 LabVIEW 环境中调用 Matlab 语言简单可行 ,并 能够扩展 LabVIEW 功能 。该两种语言混合编程 ,一方 面可应用 LabVIEW 强大的 G 语言的编程方法 ,提高开 发数据采集 、工业控制等虚拟系统的效率 ;另一方面可 利用 Matlab 能够进行复杂数值计算的优势大大增强 LabVIEW 功效 ,特别适合大型复杂测控系统的开发 。 以上例子的 VI 程序在 LabVIEW 6 以及中文 Windows 98 环境中运行通过 。 参考文献 1  杨乐平 ,李海涛 ,肖相生. LabVIEW 程序设计与应用[ M] . 北京 :电 1 和 Matlab6 0 语言 子工业出版社 ,2001 2  王沫然. MATLAB6 0 与科学计算 [ M] . 北京 : 电子工业出版社 , 2001   收稿日期 :2002 - 11 - 30 。 作者陈金平 ,男 ,1965 年生 ,2001 年毕业于东华大学 ,硕士 ,讲师 ;主 要研究领域 :测控技术 、软件工程 ,发表论文 7 篇 。 CZ3000 系列配电器 、隔离器 、 信号转换器系列产品 主要技术性能 20~35V ,d. c. 供电 电源 ,输入 、输出信号之间 1 500V 以上隔离 传输精度高 ,稳定性好 、温漂小 多种故障检测 ,输入 、输出短路保护 DIN35 导轨安装 上海辰竹仪表有限公司 地址 : 上海市漕宝路 103 号   邮编 : 200233 电话 : http : ∥www. chenzha - inst. com (021) 64360668  传真 : (021) 64846984 《自动化仪表》第 25 卷第 3 期  2004 年 3 月 存盘退出 ,文件名为 ff 2 m ;路径为 Matlab 默认路径 (注 意 :若将 M 文件存在其他文件夹中 ,应将该路径添加 到 Matlab 环境中去) 。分别用 ode45 和 ode23 两个函数 求解 ,以比较两个函数求解过程的差异 。 2. 2  LabVIEW 编程 ① 启 动 LabVIEW , 在 其 框 图 程 序 中 加 入 Matlab Script 节点 ,在节点中输入以下内容 : [ x , y ] = ode 45 (′ff 2′,[ a , b] , c) ; [ x1 , y1 ] = ode23 (′ff 2′,[ a , b] , c) ; 其中 :[ x , y ] , [ x1 , y1 ]分别为 ode 45 和 ode23 两个函数 计算结果 ; a 代表积分下限 ; b 代表积分上限 ; c 代表初 始条件 ,′ff 2′即为 ff 2 m 文件 。 ② 在 Matlab Script 节点上增加 3 个输入端口并在 框图程序中增加 3 个数字量控制 : a →积分下限 ; b → 积分上限 ; c →初始条件。输入端口属性均为实数 。同 时增加 4 个输出端口 , x 、y 、x1 、y1 ,输出端口属性均为 实矩阵 ,如图 1 所示 。 图 1  Matlab Script 节点 以上是调用 Matlab 的关键步骤 ,特别是输入和输 出端口的属性一定要设置正确 ,它们由 ode 45 和 ode23 两函数格式中的参数性质所决定 。 ③ 利用 LabVIEW 的数组 、For 循环和 XY 波形记 录控件将 ode 45 和 ode23 两函数的计算结果通过 4 个 输出端口显示出来 ,而这正是 LabVIEW 的强项 ,在此 不加详述 。其完整的框图程序如图 2 所示 ,其前面板 如图 3 所示 。 图 2  框图程序   在前面板中输入任意积分上下限和初始条件 ,运 行后均可得到相应的结果 。图 3 是按本文例子中的给 定条件运行的结果 ,从中可以看出两种计算方法的区 别 。 45 PROCESS AUTOMATION INSTRUMENTATION, Vol. 25 , No. 3 ,Mar. , 2004
分享到:
收藏