
2.5 控件
控件是LabVIEW图形语言的基石,没有控件,LabVIEW编程语言就是一纸空谈,因此,控件的熟悉掌握,对读者学习该语言至关重要。
随着LabVIEW的不断升级,控件样式越来越多,功能越来越合理,但系统仍保留旧版控件,因此控件数量直线上升,同时,图形化语言的表达能力也越来越强。
系统控件的外观取决于VI运行的平台,因此在VI中创建的控件外观应与所有LabVIEW平台兼容。在不同的平台上运行VI时,系统控件将改变其颜色和外观,与该平台的标准对话框控件相匹配。
控件分为8类:新式、NXG风格、银色、经典、系统、Express、.NET与Active、用户控件。
2.5.1 新式控件
新式控件包含编程常用的大部分控件,有相应的低彩对象,如图 2-20 所示,其具体内容介绍如下。
1.数值型控件
数值选板上的数值对象可用于创建滑动杆、滚动条、旋钮、转盘和数值显示框,如图2-21所示。

图2-20 “新式”选板

图2-21 “数值”选板
2.布尔型控件
布尔控件可用于创建按钮、开关和指示灯,如图2-22所示。
3.字符串与路径控件
字符串与路径控件可用于创建文本输入框和标签、输入或返回文件或目录的地址,如图2-23所示。

图2-22 “布尔”选板

图2-23 “字符串与路径”选板
4.数组、矩阵与簇控件
数组、矩阵与簇控件可用来创建数组、矩阵和簇。数组是同一类型数据元素的集合。簇将不同类型的数据元素归为一组。矩阵是若干行列实数或复数数据的集合,用于线性代数等数学操作,如图2-24所示。
5.列表、表格和树控件
列表框控件,用于向用户提供一个可供选择项的列表,如图2-25所示。

图2-24 “数组、矩阵与簇”选板

图2-25 “列表框、表格和树”选板
(1)列表框控件
列表框可配置为单选或多选。多选列表可显示更多条目信息,如大小和创建日期等。
(2)树形控件
树形控件用于向用户提供一个可供选择的层次化列表。用户将输入树形控件的项组织为若干组项或若干组节点。单击节点旁边的展开符号可展开节点,显示节点中的所有项。单击节点旁的符号还可折叠节点。
(3)表格控件
表格控件可用于在前面板上创建表格。
6.图形控件
图形控件可用于以图形和图表的形式绘制数值数据,如图 2-26 所示。关于图形和图表的详细介绍请参见本书后面章节。

图2-26 “图形”选板
7.下拉列表与枚举控件
下拉列表与枚举控件可用于创建可循环浏览的字符串列表,如图2-27所示。
(1)下拉列表控件
下拉列表控件是将数值与字符串或图片建立关联的数值对象。下拉列表控件以下拉菜单的形式出现,用户可在循环浏览的过程中作出选择。下拉列表控件可用于选择互斥项,如触发模式。例如,用户可在下拉列表控件中从连续、单次和外部触发中选择一种模式。
(2)枚举控件
枚举控件用于向用户提供一个可供选择的项列表。枚举控件类似于文本或菜单下拉列表控件,但是,枚举控件的数据类型包括控件中所有项的数值和字符串标签的相关信息,下拉列表控件则为数值型控件。
8.容器控件
容器控件可用于组合控件,或在当前 VI 的前面板上显示另一个 VI 的前面板。(Windows)容器控件还可用于在前面板上显示.NET 和ActiveX 对象,如图2-28所示。

图2-27 “下拉列表与枚举”选板

图2-28 “容器”选板
(1)选项卡控件
选项卡控件用于将前面板的输入控件和显示控件重叠放置在一个较小的区域内。选项卡控件由选项卡和选项卡标签组成。可将前面板对象放置在选项卡控件的每一个选项卡中,并将选项卡标签作为显示不同页的选择器。可使用选项卡控件组合在操作某一阶段需要用到的前面板对象。例如,某VI在测试开始前可能要求用户先设置几个选项,然后在测试过程中允许用户修改测试的某些方面,最后允许用户显示和存储相关数据。在程序框图上,选项卡控件默认为枚举控件。选项卡控件中的控件接线端与程序框图上的其他控件接线端在外观上是一致的。
(2)子面板控件
子面板控件用于在当前VI 的前面板上显示另一个VI 的前面板。例如,子面板控件可用于设计一个类似向导的用户界面。在顶层VI 的前面板上放置上一步和下一步按钮,并用子面板控件加载向导中每一步的前面板。
9.I/O控件
I/O控件可将所配置的DAQ通道名称、VISA资源名称和IVI 逻辑名称传递至I/O VI,与仪器或 DAQ 设备进行通信。I/O 名称常量位于函数选板上。常量是在程序框图上向程序框图提供固定值的接线端,如图2-29所示。
(1)波形控件
波形控件可用于对波形中的单个数据元素进行操作。波形数据类型包括波形的数据、起始时间和时间间隔(delta t)。
关于波形数据类型的详细信息见图形和图表中的波形数据类型一节内容。
(2)数字波形控件
数字波形控件可用于对数字波形中的单个数据元素进行操作。
(3)数字数据控件
数字数据控件显示行列排列的数字数据。数字数据控件可用于创建数字波形或显示从数字波形中提取的数字数据。将数字波形数据输入控件连接至数字数据显示控件,可查看数字波形的采样和信号。
10.变体与类控件
变体与类控件可在前面板中放置变体和LabVIEW对象控件,如图2-30所示。

图2-29 “I/O”选板

图2-30 “变体与类”选板
11.修饰控件
修饰控件包括一系列线、箭头、方框、圆形、三角形等形状的修饰模块,这些模块如同搭建一些美观的程序界面的积木,合理组织、搭配这些模块可以构造出绚丽的程序界面。该控件可对前面板对象进行组合或分隔。这些对象仅用于修饰,并不显示数据。
在前面板上放置修饰后,使用重新排序下拉菜单可对层叠的对象重新排序,也可在程序框图上使用修饰,如图2-31所示。
“修饰”子选板中的各种控件只有其前面板的图形,而没有在程序框图中与之相对应的图标,这些控件的主要功能就是进行界面的修饰,是LabVIEW中最为特殊的前面板控件。将这些控件进行适当的组合,可以设计出非常美观的程序界面。

图2-31 “修饰”选板
12.引用句柄控件
引用句柄控件可用于对文件、目录、设备和网络连接进行操作。引用句柄控件用于将前面板对象信息传送给子VI,如图2-32所示。

图2-32 “引用句柄”选板
引用句柄是对象的唯一标识符,这些对象包括文件、设备或网络连接等。打开一个文件、设备或网络连接时,LabVIEW 会生成一个指向该文件、设备或网络连接的引用句柄。对打开的文件、设备或网络连接进行的所有操作均使用引用句柄来识别每个对象。引用句柄控件用于将一个引用句柄传进或传出VI。例如:引用句柄控件可在不关闭或不重新打开文件的情况下修改其指向的文件内容。
由于引用句柄是一个打开对象的临时指针,因此它仅在对象打开期间有效。如关闭对象,LabVIEW 会将引用句柄与对象分开,引用句柄即失效。如再次打开对象,LabVIEW 将创建一个与第一个引用句柄不同的新引用句柄。LabVIEW 将为引用句柄所指的对象分配内存空间。关闭引用句柄,该对象就会从内存中释放出来。
由于LabVIEW 可以记住每个引用句柄所指的信息,如读取或写入的对象的当前地址和用户访问情况,因此可以对单一对象执行并行但相互独立的操作。如一个VI 多次打开同一个对象,那么每次的打开操作都将返回一个不同的引用句柄。VI 结束运行时LabVIEW 会自动关闭引用句柄,但如果用户在结束使用引用句柄时就及时将其关闭将可以最有效地利用内存空间和其他资源,这是一个良好的编程习惯。关闭引用句柄的顺序与打开时相反。例如,如对象A先获得了一个引用句柄,然后在对象A上调用方法以获得一个指向对象B的引用句柄,在关闭时应先关闭对象B 的引用句柄然后再关闭对象A的引用句柄。
2.5.2 NXG风格控件
NXG风格控件包含编程常用的大部分控件,是LabVIEW 2018版新增的控件,如图2-33所示。
1.数值型控件
数值选板上的数值对象可用于创建滑动杆、旋钮、量表和数值显示框,如图2-34 所示。

图2-33 “NXG风格”选板

图2-34 “数值”选板
2.布尔型控件
布尔控件可用于创建按钮、复选框和LED指示灯,如图2-35所示。
3.字符串与路径控件
字符串和路径控件可用于创建文本输入框和组合框、输入或返回文件或目录的地址,如图2-36所示。

图2-35 “布尔”选板

图2-36 “字符串与路径”选板
4.数组与簇控件
数组、矩阵和簇控件可用来创建数组和簇。数组是同一类型数据元素的集合。簇将不同类型的数据元素归为一组,如图2-37所示。
5.列表、表格和树形控件
列表、表格和树控件,用于向用户提供一个可供选择项的列表,如图2-38所示。

图2-37 “数组与簇”选板

图2-38 “列表、表格和树”选板
(1)列表框控件
列表框可配置为单选或多选。多选列表可显示更多条目信息,如大小和创建日期等。
(2)树形控件
树形控件用于向用户提供一个可供选择的层次化列表。用户将输入树形控件的项组织为若干组项或若干组节点。单击节点旁边的展开符号可展开节点,显示节点中的所有项。单击节点旁的符号还可折叠节点。
(3)表格控件
表格控件可用于在前面板上创建表格。
6.图形控件
图形控件可用于以图形和图表的形式绘制数值数据,如图2-39所示。
7.下拉列表与枚举控件
下拉列表与枚举控件可用于创建可循环浏览的字符串列表,如图2-40所示。
(1)下拉列表控件
下拉列表控件是将数值与字符串或图片建立关联的数值对象,包括文本下拉列表控件、图片下拉列表控件两种,下拉列表控件以下拉菜单的形式出现,用户可在循环浏览的过程中作出选择。下拉列表控件可用于选择互斥项,如触发模式。例如,用户可在下拉列表控件中从连续、单次和外部触发中选择一种模式。

图2-39 “图形”选板

图2-40 “下拉列表与枚举”选板
(2)枚举控件
枚举控件用于向用户提供一个可供选择的项列表。枚举控件类似于文本或菜单下拉列表控件,但是,枚举控件的数据类型包括控件中所有项的数值和字符串标签的相关信息,下拉列表控件则为数值型控件。
8.选项卡控件
选项卡控件用于将前面板的输入控件和显示控件重叠放置在一个较小的区域内。选项卡控件由选项卡和选项卡标签组成。选项卡控件中的控件接线端与程序框图上的其他控件接线端在外观上是一致的。
9.波形控件
波形控件可用于对波形中的单个数据元素进行操作。
10.修饰控件

图2-41 “修饰”选板
修饰控件包括平面盒、横线与竖线修饰模块,这些对象仅用于修饰,并不显示数据,如图2-41所示。
2.5.3 经典控件
许多前面板对象具有高彩色位的外观。为了获取对象的最佳外观,显示器最低应设置为16 色位。经典选板上的控件适于创建在 256 色和 16 色显示器上显示的 VI。选板如图 2-42所示。
1)经典数值控件:与新式子选板上的控件相比,经典数值选板上还有经典颜色盒和经典颜色梯度选项,用于设置颜色值,如图2-43所示。
2)经典布尔控件:经典布尔选板上的布尔控件,如图2-44所示。

图2-42 “经典”选板

图2-43 “经典数值”选板

图2-44 “经典布尔”选板
3)经典字符串及路径控件:经典字符串与路径选板上的控件,如图2-45所示。
4)经典数组、矩阵与簇控件:经典数组、矩阵与簇选板上的控件,如图 2-46所示。

图2-45 “经典字符串及路径”选板

图2-46 “经典数组、矩阵与簇”选板
5)经典列表、表格和树控件:经典列表、表格和树选板上的控件,如图 2-47所示。
6)经典图形:经典图形选板上的图形控件,如图2-48所示。

图2-47 “经典列表、表格和树”选板

图2-48 “经典图形”选板
7)下拉列表及枚举控件:经典下拉列表及枚举选板上的控件,如图2-49所示。
8)经典容器控件:经典容器选板上的控件,如图2-50所示。

图2-49 “经典下拉列表及枚举”选板

图2-50 “经典容器”选板
9)经典I/O控件:经典I/O选板上的控件,如图2-51所示。
10)经典引用句柄控件:经典引用句柄选板上的控件,如图2-52所示。

图2-51 “经典I/O”选板

图2-52 “经典引用句柄”选板
2.5.4 银色控件
银色子选板是LabVIEW 2013版后新增的控件,对比之前的旧版控件,银色控件在外观上更形象、逼真,控件类型上与之间版本大致相同,稍有改动。下面详细介绍子选板中的控件,如图2-53所示。
1)数值控件:数值选板上的控件,如图2-54所示。

图2-53 “银色”子选板

图2-54 “数值”选板
2)布尔控件:布尔选板上的控件,如图2-55所示。
3)字符串与路径控件:字符串与路径选板上的控件,如图2-56所示。

图2-55 “布尔”选板

图2-56 “字符串与路径”选板
4)数组、矩阵与簇控件:数组、矩阵与簇选板上的控件,如图2-57所示。

图2-57 “数组、矩阵与簇”选板
5)列表、表格和树控件:列表、表格和树选板上的控件,如图2-58所示。

图2-58 “列表、表格和树”选板
6)图形控件:图形选板上的图形控件,如图2-59所示。
7)下拉列表与枚举控件:下拉列表与枚举选板上的控件,如图2-60所示。

图2-59 “图形”选板

图2-60 “下拉列表和枚举”选板
8)修饰控件:修饰选板上的控件,如图2-61所示。
9)I/O控件:I/O选板上的控件,如图2-62所示。

图2-61 “修饰”选板

图2-62 “I/O”选板
2.5.5 系统控件
系统控件专为在对话框中使用而特别设计,包括下拉列表和数值滑动杆、进度条、滚动条、列表框、表格、字符串和路径控件、选项卡控件、树形控件、按钮、复选框和单选按钮。这些控件仅在外观上与前面板控件不同,颜色与系统设置的颜色一致,如图 2-63所示。

图2-63 “系统”选板
1)数值控件:数值选板上的控件,如图2-64所示。

图2-64 “数值”选板
2)布尔控件:布尔选板上的控件,如图2-65所示。
3)字符串与路径控件:字符串与路径选板上的控件,如图2-66所示。

图2-65 “布尔”选板

图2-66 “字符串与路径”选板
4)下拉列表与枚举控件:下拉列表与枚举选板上的控件,如图2-67所示。
5)容器控件:容器选板上的控件,如图2-68所示。

图2-67 “下拉列表与枚举”选板

图2-68 “容器”选板
6)列表、表格和树控件:列表、表格和树选板上的控件,如图2-69所示。
7)修饰控件:修饰选板上的控件,如图2-70所示。

图2-69 “列表、表格和树”选板

图2-70 “修饰”选板
2.5.6 Express控件
Express 控件按照输入控件与输出控件的区别进行分类,多设置为常用空间,如图 2-71所示。

图2-71 “Express”选板
1)数值输入控件:数值输入控件选板上的控件,如图2-72所示。
2)按钮与开关控件:按钮与开关选板上的控件,如图2-73所示。

图2-72 “数值输入控件”选板

图2-73 “按钮与开关”选板
3)文本输入控件:文本输入控件选板上的控件,如图2-74所示。
4)Express用户控件:Express用户控件选板上的控件,如图2-75所示。

图2-74 “文本输入控件”选板

图2-75 “Express用户控件”选板
5)数值显示控件:数值显示控件选板上的控件,如图2-76所示。
6)指示灯控件:指示灯选板上的控件,如图2-77所示。

图2-76 “数值显示控件”选板

图2-77 “指示灯”选板
7)文本显示控件:文本显示控件选板上的控件,如图2-78所示。
8)图形显示控件:图形显示控件选板上的控件,如图2-79所示。

图2-78 “文本显示控件”选板

图2-79 “图形显示控件”选板
2.5.7.NET与ActiveX控件
位于“.NET 与 ActiveX”选板上的“.NET 与 ActiveX”控件用于对常用的“.NET”或“ActiveX”控件进行操作。可添加更多“.NET”或“ActiveX”控件至该选板,供日后使用,如图2-80所示。

图2-80 “NET与ActiveX”选板
选择“工具”→“导入”→“.NET 控件至选板”,弹出“添加.NET 控件至选板”对话框,如图2-81所示。
选择“工具”→“导入”→“ActiveX控件至选板”,弹出“添加ActiveX控件至选板”对话框,如图 2-82 所示,可分别转换.NET 或 ActiveX 控件集,自定义控件并将这些控件添加至.NET与ActiveX 选板。

图2-81 “添加.NET控件至选板”对话框

图2-82 “添加ActiveX控件至选板”对话框
创建.NET 对象并与之通信需要安装.NET Framework 1.1 Service Pack 1 或更高版本。建议只在LabVIEW 项目中使用.NET对象。如装有Microsoft.NET Framework 2.0或更高版本,可使用应用程序生成器生成.NET互操作程序集。
2.5.8 用户控件
用户控件可包含添加至子选板的自定义控件,这些自定义控件保存在LabVIEW用户库中。默认情况下用户控件选板不包含任何对象。