2.5 VI与子VI设计步骤
实例1 体验VI设计
一、学习目标
1.认识虚拟仪器软件LabVIEW的编程环境。
2.掌握虚拟仪器软件LabVIEW应用程序(VI)的设计步骤。
3.掌握虚拟仪器软件LabVIEW前面板和程序框图的设计方法。
二、设计任务
有一台仪器(比如电压表),需要调整其输入值(比如电压大小),当调整值(电压值)超过设定值(电压上限)时,通过指示灯颜色变化发出警告。
三、任务实现
1.建立新VI
运行LabVIEW 2015,在启动窗口选择“创建项目”,再双击“新建一个空白VI”,进入LabVIEW的编程环境。
这时出现两个未命名窗口。一个是前面板窗口,用于编辑和显示前面板对象;另一个是程序框图窗口(又称为后面板),用于编辑和显示流程图。
2.程序前面板设计
切换到LabVIEW的前面板窗口,显示控件选板,给程序前面板添加控件。
本实例中,程序前面板有1个旋钮,1个仪表,1个指示灯,共3个控件。
1)为了调整数值,往前面板添加1个旋钮控件:控件→数值→旋钮,其位置如图2-28所示。选择“旋钮”控件,将其拖动到前面板空白处单击。将标签改为“调压旋钮”。
2)为了显示数值,往前面板添加1个仪表控件:控件→数值→仪表,其位置如图2-28所示。选择仪表控件,将其拖动到前面板空白处单击。将标签改为“电压表”。
图2-28 旋钮、仪表控件位置
3)为了显示报警信息,往前面板添加1个指示灯控件:控件→布尔→圆形指示灯,其位置如图2-29所示。选择圆形指示灯控件,将其拖动到前面板空白处单击。将标签改为“上限灯”。
图2-29 圆形指示灯控件位置
控件添加完成后,可以调整控件大小和位置。设计的程序前面板如图2-30所示。
图2-30 程序前面板
3.程序框图设计
(1)添加节点
每一个程序前面板都对应着一段程序框图。在程序框图中对VI进行编程,以控制和操作定义在前面板上的输入和输出对象。
切换到程序框图窗口,可以看到前面板添加的控件图标,选择这些图标,调整其位置。通过函数选板添加节点。
1)添加1个数值常量:函数→数值→数值常量,其位置如图2-31所示。选择“数值常量”节点,将其拖动到窗口空白处单击。将数值设为“8”。
图2-31 数值常量节点
2)添加1个比较函数“≥”:选择“函数”→“比较”→“大于等于?”,其位置如图2-32所示。选择“≥”比较节点,将其拖动到窗口空白处单击。右击比较节点图标,弹出快捷菜单,选择“显示项”子菜单,选择“标签”,可以看到图标上方出现标签“大于等于?”
图2-32 比较节点
添加的所有节点及其布置如图2-33所示。
(2)节点连线
使用工具箱中的连线工具,将所有节点连接起来。
当需要连接两个端点时,在第一个端点上单击连线工具,然后移动到另一个端点,再单击即可实现连线。端点的先后次序不影响数据流动的方向。
当把连线工具放在节点端口上时,该端口区域将会闪烁,表示连线将会接通该端口。当把连线工具从一个端口接到另一个端口时,不需要按住鼠标键。当需要连线转弯时,单击一次鼠标键,即可以改变连线方向。
1)将“调压旋钮”控件的输出端口与“电压表”控件的输入端口相连。
2)将“调压旋钮”控件的输出端口与比较函数“≥”的输入端口“x”相连。
3)将数值常量“8”与比较函数“≥”的输入端口“y”相连。
4)将比较函数“≥”的输出端口“x>=y?”与“上限灯”控件的输入端口相连。
连好线的程序框图如图2-34所示。
图2-33 程序框图—节点布置图
图2-34 程序框图—节点连线图
4.运行程序
切换到前面板窗口,单击工具栏“连续运行”按钮,运行程序(再次单击该按钮可以停止程序的连续运行)。
程序运行时,用鼠标单击“调压旋钮”控件,按住不放,转动旋钮,改变输入数值,可以看到“电压表”指针随着转动;当数值大于等于8时,“上限灯”颜色发生变化。
程序运行界面如图2-35所示。
图2-35 程序运行界面
5.保存程序
从前面板窗口“文件”下拉菜单中选择“保存”或者“另存为...”子菜单,出现“命名VI”对话框,选择文件目录,输入文件名,保存VI。
既可以把VI作为单独的程序文件保存,也可以把一些VI程序文件同时保存在一个VI库中,VI库文件的扩展名为.llb。
NI公司推荐将程序的开发文件作为单独的程序文件保存在指定的目录下,尤其是开发小组共同开发一个项目时。
6.打开程序
从前面板窗口“文件”下拉菜单中选择“打开…”子菜单可出现打开文件对话框(或在启动窗口中选择“打开”按钮)。对话框中列出了VI目录及库文件,每一个文件名前均带有一个图标。
打开目录或库文件后,选择想要打开的VI文件,单击“确定”按钮打开程序,或直接双击图标将其打开。
打开已有的VI还有一种较简便的方法,如果该VI在之前使用过,则可以在“文件”菜单下的近期打开的文件下拉列表中,找到VI并打开。
实例2 子VI的创建与调用
一、学习目标
掌握子VI的创建与调用方法。
二、设计任务
1.设计一个VI,完成两数相加(a+b=c),然后把该VI创建成子VI。
2.再设计一个VI,调用已建立的子VI。
三、任务实现
1.子程序的创建
(1)程序前面板设计
新建VI。切换到LabVIEW的前面板窗口,通过控件选板给程序前面板添加控件。
1)添加2个数值输入控件:控件→数值→数值输入控件。将标签分别改为“a”和“b”。
2)添加1个数值显示控件:控件→数值→数值显示控件。将标签改为“c”。
设计的程序前面板如图2-36所示。
(2)连接端口的编辑
1)右击VI前面板的右上角连接端口,在弹出的菜单中选择“模式”,会出现连接端口选板,选择其中一个连接端口(本例选择的连接端口具有2个输入端口和1个输出端口),如图2-37所示。
图2-36 子VI前面板
图2-37 选择的连接端口
2)在工具选板中将鼠标变为连线工具状态。
3)用鼠标在控件a上单击,选中控件a,此时控件a的图形周围会出现一个虚线框。
4)将鼠标移动至连接端口的一个输入端口上,单击,此时这个端口就建立了与控件a的关联关系,端口的名称为a,颜色变为棕色。
当其他VI调用这个SubVI时,从这个连接端口输入的数据就会输入到控件a中,然后程序从控件a在程序框图中所对应的端口中将数据取出,进行相应的处理。
同样建立数值输入控件b与另一个输入端口的关联关系;建立数值显示控件c与输出端口的关联关系,如图2-38所示。
图2-38 建立控件a、b、c与连接端口的关联关系
在完成了连接端口的定义之后,这个VI就可以当作SubVI来调用了。
(3)程序框图设计
切换到LabVIEW的程序框图窗口,调整控件位置,添加节点与连线。
1)添加1个加函数:函数→数值→加。
2)将数值输入控件a的输出端口与加函数的输入端口“x”相连。
3)将数值输入控件b的输出端口与加函数的输入端口“y”相连。
4)将加函数的输出端口“x+y”与数值显示控件c的输入端口相连。
5)保存程序,文件名为“addSub”。
连线后的程序框图如图2-39所示。
(4)运行程序
切换到前面板窗口,单击工具栏“连续运行”按钮,运行程序。
改变数值输入控件a、b的值,数值显示控件c显示两数相加的结果。
程序运行界面如图2-40所示。
图2-39 子VI程序框图
图2-40 子VI运行界面
2.子程序的调用
新建1个LabVIEW程序。
(1)程序前面板设计
切换到LabVIEW的前面板窗口,通过控件选板给程序前面板添加控件。
1)添加2个数值输入控件:控件→数值→数值输入控件。将标签分别改为“a”和“b”。
2)添加1个数值显示控件:控件→数值→数值显示控件。将标签改为“c”。
设计的程序前面板如图2-41所示。
图2-41 主VI前面板
(2)程序框图设计
切换到LabVIEW的程序框图窗口,调整控件位置,添加节点与连线。
1)添加SubVI:选择函数选板中的“选择VI...”子选板,如图2-42所示,弹出“选择需打开的VI”对话框,如图2-43所示,在对话框中找到需要调用的SubVI,本例是addSub.vi,选中后单击“确定”按钮。
2)将addSub.vi的图标放至程序框图窗口中。
3)将数值输入控件a的输出端口与addSub.vi图标的输入端口“a”相连。
4)将数值输入控件b的输出端口与addSub.vi图标的输入端口“b”相连。
5)将addSub.vi图标的输出端口“c”与数值显示控件c的输入端口相连。
6)保存程序,文件名为“addMain”。
连线后的主VI程序框图如图2-44所示。
(3)运行程序
切换到前面板窗口,单击工具栏“连续运行”按钮,运行程序。
改变数值输入控件a、b的值,数值显示控件c显示两数相加的结果。
程序运行界面如图2-45所示。
图2-42 “选择VI...”子选板
图2-43 “选择需打开的VI”对话框
图2-44 主VI程序框图
图2-45 主VI运行界面