LabVIEW与MATLAB联合编程实战

      20多年来,NI LabVIEW被数百万名工程师和科学家用来开发繁复的测试、测量和控制应用程序。尽管LabVIEW提供从交互式助手到可配置式用户自定义界面的各种特性与工具,却通过图形化通用编程语言(所知的G)以及相关的集成化编译器、连接器和调试工具,显得与众不同。

       尽管G代码能够出色地代表并行机制并让开发人员无须理解和管理计算机内存,却未必适合所有任务。特别是,数学公式和方程往往能够更简洁地被文本代表。因此,您可使用LabVIEW,将图形化编程与多种形式的文本编程相结合。搭配LabVIEW时,您能选择文本方式、图形化方式或将两者结合。

      例如,LabVIEW包含公式节点的概念,它能评估程序框图上类似于C的文本数学公式和表达式。这些数学公式可并排执行并集成图形化LabVIEW代码。同样,MathScript节点将面向数学的文本编程加入通常兼容常用类.m文件语法的LabVIEW。

MathScript 介绍

      如果你有需要做一数学模型的验证或统计相关的演算,应该对于 MATLAB 不陌生。MATLAB 是一套广为使用于数学相关演算的工具,它与 LabVIEW 一样具有大量的数学函式,而且使用上又不像 C 语言一般需要注意一些繁锁的语法,所以常被使用在数学相关的运算上。

       LabVIEW 本身强调以图形化的概念,提供一个易学、易用的程序开发环境,也因此 LabVIEW 为了提供 MATLAB 使用者一个亲和的界面,而创造出 MathScript 这个模块,期望能够让使用者在 LabVIEW 中也可以使用与 MATLAB 相同的方式来做运算。


       LabVIEW MathScript模块是LabVIEW编程环境的一个附加软件,包含750多种用于信号处理、分析和数学运算的内置文本函数。该模块还提供了一个交互式可编程界面。专为脚本编程而设计的MathScript交互式窗口提供命令行界面,方便用户下载、保存、设计和执行文本文件脚本。MathScript节点专为脚本部署而设计,作为LabVIEW的一项嵌入式功能,可将基于文本的变量与图形化LabVIEW代码的输入与输出连接起来。该模块适用于LabVIEW以及所有LabVIEW Real-Time硬件终端。

       请注意,必须安装与 LabVIEW和LabVIEW MathScript Module的相同版本和位数。LabVIEW MathScript Module仅与 Windows 操作系统兼容。请查看 MathScript 版本的自述文件,以确定兼容的操作系统。

MathScript 交互窗口介绍

      LabVIEW 提供了一个很实用的工具,就是 MathScript 交互窗口,Matlab又称做演算纸式编程语言。不同于其他编程语言,它的运算结果是立即输出的,每一步的运行结果都是根据前面的运算结果计算得来。MathScript模仿了Matlab的开发界面,提供了交互式窗口。启动LabVIEW后,开启的方式为 Menu >> Tools >> MathScript Window…:启动MathScript交互窗口,如下图所示。利用MathScript节点,我们可以直接输入m文件脚本语言或从文本文件中导入。

      注意:以下提示在LabVIEW数学脚本窗口中工作时可能很有用。

      1.将光标放在命令窗口中,然后使用键盘上的向上和向下箭头键滚动命令历史记录。

      2.右键单击“变量”页上的“预览窗格”,然后从快捷菜单中选择“取消停靠窗口”,以在可以调整大小的单独窗口中显示变量。


      通过命令窗口输入命令,如果命令语法正确,回车后会自动运行。我们也可以点击Script标签来输入下列命令:

      a=0.0005;       %长

      b=0.0005;       %宽

      lambda=632.8e-9;    %波长

      f=1;        %焦距

      xm=6000*lambda*f;

      def=1e-5;

      I0=1;

      [x,y]=meshgrid(-xm:def:xm);

      alpha=(pi*a*x)/(f*lambda);

      beta=(pi*b*y)/(f*lambda);

      I=I0*(sin(alpha).^2.*sin(beta).^2./((alpha.^2+eps).*(beta.^2+eps)));

      figure

      imshow(I*255);

      xlabel('x');

      ylabel('x');

      figure

      mesh(x,y,I)

      xlabel('x');

      xlabel('x');

      zlabel('光强');

      在Script页面上点击Run按钮,将出现Plot 1窗口显示矩孔衍射的俯视图,出现Plot 2窗口显示矩孔衍射的三维图。可以通过点击Plot 1窗口及Plot 2窗口的右上角的x来关闭窗口。如下图所示:


MathScript 节点

      使用MathScript节点:利用MathScript节点,可以在VI中嵌入MathScript脚本,这种方式类似于公式节点。首先创建一个VI,然后在VI的程序框图中加入MathScript节点——下图中的蓝色矩形区域。如下图所示。


       MathScript节点内部相当于一个文本编辑器。通过工具条中的文本操作按钮,可以直接在MathScript节点中输入程序代码,也可以通过其他编辑器复制粘贴已经存在的代码。MathScript节点内部具有错误检查功能,一旦输入的代码不符合MathScript节点的语法,在行号内就会显示错误。

       MathScript节点使用十分简单,关键是深入了解MathScript节点的语法、函数的程序结构。我们可以使用MathScript节点在LabVIEW中迚行编程开发和原型化算法。并且可以在MathScript节点的边界定义、命名输入和输出,来指定图形化LabVIEW程序和文本化MathScript节点之间传输的数据。完成以下步骤可以在MathScript节点中进行编程开发和原型化算法。您将在已经生成的VI中运行该脚本。其步骤具体如下:

        1.在程序框图上,选择View-Functions Palette来显示Functions选板。

        2.在编程模板的图标上移动光标定位到Structures选板上。

        3.点击Structures图标显示Structures选板。

        4.在Structures选板上移动光标定位到MathScript节点上。

        5.点击MathScript Node图标。

        6.在程序框图上,点击并拖放鼠标画出矩形框来放置MathScript节点。

        7.在MathScript节点内部点击并输入下列命令:

        a=0.0005;       %长

        b=0.0005;       %宽

        lambda=632.8e-9;    %波长

        f=1;        %焦距

        xm=6000*lambda*f;

        def=1e-5;

        I0=1;

        [x,y]=meshgrid(-xm:def:xm);

        alpha=(pi*a*x)/(f*lambda);

        beta=(pi*b*y)/(f*lambda);

        I=I0*(sin(alpha).^2.*sin(beta).^2./((alpha.^2+eps).*(beta.^2+eps)));

        8.右击MathScript节点框并从快捷菜单中选择Add Output。

        9.在输出端子中键入x,y,I,为脚本中的x,y,I变量提供输出。

        10.右击x,y,I输出端子并从快捷菜单中选择Choose Data Type>>Auto Select Type来指定x,y,I输出变量的数据类型。

        11.连接x,y,I输出到3D Surface端子。现在您可以从脚本中获取合适的数据并利用LabVIEW丰富的用户界面功能来可视化地分析结果。程序框图应如下所示:


       LabVIEW MathScript在如算法开发、信号处理和分析等任务方面完善补充了传统的LabVIEW图形化编程。LabVIEW MathScript为用户提供单一的开发环境,在这一环境中,用户可以选择最佳的语法,无论是文本化、图形化还是两者的结合,从而使用户能加快完成任务。此外,由于MathScript通常兼容m文件脚本语法,您可以充分利用LabVIEW的优势以及来自网上、教科书公开的m文件脚本或您已有的m文件脚本。


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空