前言:
LabVIEW 中的子VI类似于C语言中的函数,如果学习过simulink的话,你还可以联想到子系统。如果在 LabVIEW 中不使用子 VI,就好比所有的代码都写在main函数里面一样,根本不可能构建大的程序;而且程序框图太大,布局根本不方便,因此很多情况下,我们需要把程序分割为一个个小的模块来实现,这些小的模块就是子VI,本章将学习如何使用子VI。
一、创建子 VI
任何一个 VI 本身就可以作为子 VI 被其他 VI 调用,只是需要在普通 VI 的基础上定义连接端子和图标即可。下面通过一个简单的例子来学习如何创建子VI:
(1)新建一个空白 VI,编写程序框图来实现返回两个输入数据中的最小值。
(2)编辑 VI 图标。直接双击 VI 右上角的图标,打开 VI图标编辑器,对VI图标进行编辑,如下图所示:
编辑 VI 的图标是为了方便在主 VI 的程序框图中辨别子VI的功能,因此编辑子VI图标的原则是尽量通过该图标就能表明该子VI的用途。
(3)建立连接端子。连接端子就好比函数参数,用于子VI的数据输入与输出。初始情况下,连接端子是没有与任何控件连接的,即所有的端子都是空白的,每一个小方格代表一个端子。右击该图标,选择模式下的三端子模式。先点击左上角小方格,再单击输入控件X1,就实现了该端子与控件X1的连接。这时候该小方格就会自动更新为该控件所代表的数据类型的颜色。同样方法将左下角小方格与控件X2连接,右边方格与显示控件Min连接。
(4)保存该VI,VI名为Min.vi。保存该VI后,就可以在其他VI中调用该子VI 了。新建一 个VI,在函数面板的选择VI中实现对该子VI的调用,如下图所示:
中间那个图标就是我们的子VI啦!到此为止,我们已经实现了一个简申•的子VI及其调用。对于一般应用,这已经足够了。
二、用户登陆界面
有些时候可能需要在调用子VI时能打开子VI前面板,例如利用一个子VI来实现一个登录对话框。其实实现这个功能非常简单,只需要在主 VI中右击子 VI图标,选择 "设置子VI节点" 选项就会弹出如下图所示的配置对话框:
接下来我们利用显示子VI前面板来实现简单的登陆对话框:
子VI的程序如下所示:
运行main.VI的程序:
点击确定,退出main.vI程序中的while循环: