2.2 编程准备知识
2.2.1 配置前面板及对象
1.控件样式
前面板控件的样式是指控件在前面板中呈现的视觉效果,经验丰富的程序员为了保持界面的扁平化风格,往往会选择经典样式的控件。图2-2-1列出了控件选板中新式、系统、银色、经典样式的控件举例。
图2-2-1 前面板控件样式风格
2.输入控件与显示控件相互转换
在默认情况下,控件选板中的对象会根据其典型用途将其配置为输入控件或显示控件。输入控件与显示控件是可以相互转换的。
(1)放置在前面板的翘板开关,默认显示为输入控件,LabVIEW默认将其看作一个输入类型的设备。而指示灯(LED),则默认显示为显示控件,因为通常认为指示灯是输出设备。
(2)有些选板包含同一类型或类对象的输入控件和显示控件。例如,数值选板既包含数值输入控件又包含数值显示控件,因为这些控件可以通过转换实现既可以输入数值,又可以输出显示数值。
【练习2-18】
参看如图2-2-2所示步骤,掌握输入控件与显示控件的转换方法。
图2-2-2 输入控件与显示控件
3.显示和隐藏控件部件
在某些情况下,为了满足前面板界面设计的要求,必须将一些控件的标签、基数等参数设置隐藏。
【练习2-19】
参看如图2-2-3所示步骤,以数值输入控件为例,隐藏其标签、标题及显示基数。
图2-2-3 隐藏控件某些部件
4.替换前面板的对象
在程序调试过程中,若觉得将前面板之前放置的某个控件更换为其他控件更为恰当,可以选中该控件后直接将其删除。或者,将原控件替换为新的控件。
【练习2-20】
以数值输入控件为例,参看如图2-2-4所示步骤,掌握将其替换为滑动杆输入控件的方法。5.添加或缩减前面板
图2-2-4 替换前面板的对象
【练习2-21】
参看如图2-2-5所示方法,掌握在不改变窗口大小的情况下增加前面板空间的方法。
图2-2-5 添加或缩减前面板
该方法也适用程序框图空间的添加或缩减。
6.对齐对象
对前面板中杂乱放置的控件对象执行快速对齐操作时,可以使用对齐工具。
【练习2-22】
参看如图2-2-6所示方法,掌握设置对象左边缘对齐的方法。
图2-2-6 设置对象对齐的方法
该方法也适用于程序框图的接线端及其他对象的对齐操作。
7.清空前面板显示控件
当VI运行一次过后,前面板控件可能会显示VI上一次运算留下的数据信息。再次运行该VI时,前面板的控件初始化的显示可能是不准确的,这对于需要初始化显示的程序是不方便的。
【练习2-23】
参看如图2-2-7所示方法,掌握清空前面板显示控件的方法。
8.为对象和背景上色
设置LabVIEW的前面板背景及对象的颜色,可以进一步细化、优化程序的界面设计。
【练习2-24】
参看如图2-2-8所示的方法,以波形图表显示控件为例,为其设置前景色和背景色。
颜色选择器提供了丰富的颜色设置,图2-2-9为颜色选择器具体使用说明。
图2-2-7 清空前面板显示控件
图2-2-8 设置对象和背景色
图2-2-9 颜色选择器具体使用说明
9.配置输入控件与显示控件
需要详细设置前面板控件的相关属性项时,可通过“属性”对话框或快捷菜单进行设置。在VI未运行的情况下,右击控件,打开快捷菜单,选择“属性”命令,弹出“属性”对话框。
右击对象,可查看快捷菜单。以数值输入控件和液罐显示控件为例,说明两者共有的快捷菜单选项,如图2-2-10所示。
图2-2-10 数值输入控件快捷菜单和液罐显示控件快捷菜单共有项
10.用户定义颜色
LabVIEW编写的程序(VI或exe可执行文件),很可能不是由单个VI构成的。为了满足设计风格的统一,在界面风格设置时尽可能考虑使用一致的前面板背景色及特别对象的颜色设置。对前面板背景色和对象使用颜色选择器的自定义颜色设置,能实现使用相同的颜色配置,从而实现统一的界面风格设计。
【练习2-25】
参看如图2-2-11所示方法,掌握用户为应用程序定义颜色的方法。
系统颜色因计算机显卡性能的不同而有所差异,当使用系统颜色配置VI时,VI将使用当前计算机特定的系统颜色配置。
11.复制和粘贴对象
对象的复制、粘贴操作的目的是创建与源对象相同的对象副本,LabVIEW中该操作与大部分Windows 应用程序类似,通过选择“编辑”→“复制和编辑”→“粘贴”命令实现。在选择好复制对象的前提下,先后使用快捷键“Ctrl+C”和“Ctrl+V”也可以实现相同的功能。此外,还可以通过鼠标的快速操作实现对象的副本创建。
以上操作对前面板和程序框图均有效。
图2-2-11 用户定义颜色
【练习2-26】
参看如图2-2-12所示的方法,以数值输入控件为例,使用鼠标与键盘快捷操作方法快速创建对象副本。
将选中的对象从一个VI拖曳至另一个VI,也可实现VI之间的对象复制。
图2-2-12 创建对象副本
12.将一个对象的颜色复制到另一个对象
对象自身的颜色也能通过相应操作实现复制,无须仔细设置调色板。
【练习2-27】
参看如图2-2-13所示的方法,将布尔指示灯的绿色应用到液罐,并替换液罐原本的蓝色。
图2-2-13 从一个对象复制颜色至另一个对象
13.创建透明对象
在某些情况下,对象的前景色或背景色需要设置为透明,从而满足多个对象叠放或整体嵌入前面板的界面效果。在通常情况下,对象前景色和背景色是默认设置了颜色显示的。
【练习2-28】
参看如图2-2-14所示的方法,以波形图控件为例,掌握设置波形图前景色为透明的方法,并尝试将波形图的波形显示区域设置为透明。
图2-2-14 设置对象透明
透明度只影响对象外观,不影响鼠标和键盘操作的响应。由于系统控件的颜色取决于运行VI的平台,因此用户无法更改系统控件的颜色。系统控件的颜色将与系统设置的颜色保持一致。
14.显示所有隐藏的控件
当前面板包含自定义控件和全局变量(后续章节会详细讲解相关概念)且设置了隐藏显示时,这系列的隐藏信息可能会间接造成调试程序时的问题。选择“编辑”→“显示隐藏的输入控件和显示控件”命令查找隐藏的控件,可以快速发现隐藏的问题。
“显示隐藏的输入控件和显示控件”选项仅对自定义控件或全局变量VI的编辑菜单有效。该选项不能用于锁定的VI或保留为运行状态的VI。
15.隐藏、显示前面板对象
将前面板的控件设置为隐藏或显示,在调试程序时可以起到和调试探针类似的作用。此外,设计界面时也可应用隐藏或显示设置优化界面设计。已经设置为隐藏的前面板控件,程序框图对应的接线端仍然会显示。
【练习2-29】
参看如图2-2-15所示方法,以字符串输入控件为例,掌握设置隐藏、显示该控件的方法。
图2-2-15 隐藏、显示前面板对象
在前面板中,选择对应的输入控件或显示控件,打开快捷菜单,选择“高级”→“隐藏输入控件”命令,将显示的控件设置为隐藏。已设置隐藏的控件,在前面板无法用反向操作设置为显示,需要切换到程序框图完成相应的设置。
16.显示控件的滚动条
字符串输入控件和路径输入控件的高度和宽度是固定的,若需要显示较长的字符串或路径,则可能出现显示不完全的现象。此时为显示控件添加滚动条就能解决问题了。
【练习2-30】
参看如图2-2-16所示方法,以路径输入控件和字符串输入控件为例,为其设置显示控件的垂直滚动条和水平滚动条。
图2-2-16 显示控件的滚动条
17.分布对象
设计前面板控件布局时,利用工具栏的分布对象按钮进行操作,可以快速地将选中的控件统一进行对象分布操作,如图2-2-17所示。
图2-2-17 “分布对象按钮”面板
【练习2-31】
参看如图2-2-18所示方法,以前面板中的数值输入控件为例,将其下边缘对齐与水平居中。
图2-2-18 分布对象
选择“编辑”→“分布所选项”命令,可在另一组对象上重复分布操作,按下“Ctrl+D”快捷键,也可在另一组对象上重复分布操作。
18.组合和锁定对象
编辑前面板的功能布局时,对不同功能、性质的输入控件和显示控件进行规划、组合和锁定,可以防止编辑或使用过程中的误删或位置移动。
【练习2-32】
参看如图2-2-19所示方法,尝试编写该界面,将两个下拉列表输入控件设置为一个组合,并设置为锁定。
图2-2-19 组合与锁定对象
19.重新排列对象
若前面板的控件存在堆叠放置的情况,则输入VI运行后将导致屏幕显示刷新速度降低,还可能引起控件闪烁等问题。遇到此种情况,利用排序操作将相关的对象调整顺序后可以改善因堆叠放置引发的问题。
【练习2-33】
参看如图2-2-20所示方法,掌握将重叠的对象重新排列的方法。
图2-2-20 重新排列对象
在程序框图中也可以执行上述操作。
20.缩放前面板对象
设计前面板界面时,“根据窗格缩放对象”选项可以快速地让控件适应当前前面板窗格的尺寸,从而节省微调控件高度、宽度的时间。
【练习2-34】
参看如图2-2-21所示方法,以波形图显示控件为例,根据窗格缩放对象。
21.设置控件的快捷键
一个好用的测量程序在操控方面会尽可能考虑减少鼠标、键盘繁琐的命令操作,取而代之的是简洁的快捷键操作。“Shift”键和“Ctrl”键可作为快捷方式中的修饰键。
【练习2-35】
参看如图2-2-22所示方法,以滑动杆输入控件为例,为其设置选中、增量、减量的快捷键,并运行VI,验证使用设置的快捷键。
需要注意的是,一个控件只能指定一个快捷键;LabVIEW对隐藏控件的快捷键不做响应。
图2-2-21 根据窗格缩放对象
图2-2-22 设置控件的快捷键
22.设置前面板对象的“Tab”键顺序
当 VI 处于运行的情况下,若想减少鼠标使用次数或在没有鼠标外设的情况下对前面板中的各个控件进行交互操作,可以通过重复地单次按下键盘的“Tab”键,实现依次选择前面板控件的操作。“Tab”键选择的默认顺序是根据对象放置在前面板上的先后顺序或在选项卡中的顺序决定的。“Tab”键与控件之间关联的选择顺序是可以调整设置的,以满足优先使用频度较多的控件需求。
【练习2-36】
参看如图2-2-23所示方法,以“比较窗”VI为例,为前面板中的输入控件调整“Tab”键的顺序。
图2-2-23 设置“Tab”键的顺序
23.显示/隐藏标签及数字显示
前面板的一些数值控件(滑动杆、仪表等),附带了标签、数字辅助显示功能,在需要时可以增强控件数据的可读性。
【练习2-37】
参看如图2-2-24所示方法,以滑动杆控件为例,掌握设置显示/隐藏标签及数字显示的方法。
图2-2-24 显示/隐藏标签及数字显示
24.导入窗格背景
前面板默认的背景是纯色显示的,通过设置背景色或更换背景图像可以满足前面板的个性化界面设计需求。
【练习2-38】
参看如图2-2-25所示方法,将前面板背景设置为金属花纹板图像,并将其设置为平铺。再尝试导入一张自定义的图像作为前面板背景图像。
图2-2-25 导入窗格背景
25.Windows平台上的图像导入
除前面的背景设置操作外,对于来自其他应用程序的图像,也可以导入LabVIEW中。
将图像文件拖曳至LabVIEW或选择“编辑”→“导入图片至剪贴板”命令均可实现图像的导入。
【练习2-39】
若要从图形程序中导入任何格式(除动画格式外)的所有图像,可通过下列两种方法实现。(1)在图形编辑程序或 Web 浏览器中将图像复制到剪贴板,将图形编辑程序或 Web 浏览器切换至LabVIEW,图像会自动传到LabVIEW可用的剪贴板上,可在窗格或程序框图上单击以确定粘贴图像的位置;若未通过单击确定粘贴图像的区域,LabVIEW将把图像粘贴在前面板或程序框图的中央。
(2)选择“编辑”→“粘贴”命令,将图像放置在LabVIEW中。
若通过复制粘贴操作导入图片,则该图片将失去透明度。
【练习2-40】
从Windows浏览器中拖曳一个图像文件(GIF、JPG、CLP、EMF、WMF、BMP、PNG或animated MNG)并放置在LabVIEW中。尝试下列步骤:
在Windows浏览器中选择要导入的图像文件,将文件拖曳至LabVIEW窗口,将光标移动到需要粘贴的区域,然后释放鼠标左键,文件中图像即出现在LabVIEW中。
【练习2-41】
使用LabVIEW导入图片至剪贴板功能,导入GIF、JPG、CLP、EMF、WMF、BMP、PNG及animated MNG等格式的图片。尝试下列步骤:
选择“编辑”→“导入图片至剪贴板”命令,在弹出的对话框中浏览并选择要导入的图像文件,选中文件并单击“确定”按钮,可在窗格或程序框图上单击以确定粘贴图像的位置;若未通过单击确定粘贴图像的区域,LabVIEW将把图像粘贴在前面板或程序框图的中央。
2.2.2 程序框图的连线
连线是程序框图中各个对象间数据传递的载体。连线上传递的是数据,在连线上放置探针就可以获得调试程序需要的数据。
1.连线的外观和结构
连线的颜色、样式和粗细视其数据类型的不同而不同,这与接线端以不同颜色和符号来表示前面板控件的数据类型的方法相似。
【练习2-42】
参看图2-2-26,以“比较窗函数”VI为例,了解连线的连线段、片段、交叉点的概念。
图2-2-26 连线外观与结构
2.查找断线原因
VI正常运行的必需条件是不允许程序框图中有断线,若程序框图中存在断线(连错的线和应该连线而未连接的线),则VI将无法运行。断开的连线显示为黑色的虚线,中间有个红色的×图案。
【练习2-43】
参看图2-2-27,掌握查找引起VI断线的原因。
图2-2-27 查找引起VI断线的原因
借助“即时帮助”窗口工具(快捷键为“Ctrl+H”)可确定准确的连线位置。将光标移到某个VI或函数接线端时,“即时帮助”窗口会列出该VI或函数的每一个接线端。
3.手动连线
相对于自动连线操作,手动连线是程序框图中使用最多的连线方法。
【练习2-44】
参看如图2-2-28所示步骤,完成断线VI的连线。
图2-2-28 为断线VI连线
若需交换函数上两个输入端之间连线的位置,又不想通过手动删除和替换连线操作,可以使用另一种替换的操作方法,按住“Ctrl”键并单击其中一个输入接线端即可实现。
若用连线连接两种不同的数据类型,并且这两种数据类型的相似度较高,LabVIEW可以通过强制类型转换使这两种数据类型匹配。此时,程序框图上将出现一个强制转换点。部分强制转换会占用额外的内存,增加执行时间,并且会降低运算结果的精度。
4.自动连接对象
当所选对象(如某函数)移动到程序框图上其他对象(如另一函数)的附近时,两对象附近将显示临时连线,用以提示两对象间有效的连线方式。此时,释放选择对象,重新选择对象并保存,在按住鼠标左键的同时移动该对象,两对象之间将完成自动连线。
在默认情况下,从函数选板中选择对象,或通过在按住“Ctrl”键的同时拖动对象来复制一个程序框图上已有的对象,自动连线方式将启用。使用定位工具移动程序框图上已有的对象,自动连线功能将被禁用。
选择“工具”→“选项”命令,打开“选项”对话框,从“类别”下拉列表中选择“程序框图”选项,并取消勾选“启用自动连线”复选框,可取消自动连线功能。
【练习2-45】
参看如图2-2-29所示步骤,以先加后乘运算为例,通过自动连线实现“加”函数的结果与“乘”函数的输入的自动连线。
5.连线的路径选择
连线操作时,连线的路径是由LabVIEW自动规划的。在选择路径时,LabVIEW会自动地减少连线转折,同时尽可能自动连线至输入控件的右侧和显示控件的左侧。
(1)若需对已有连线进行自动连线路径选择,可右击该连线,打开快捷菜单,选择“整理连线”选项。
(2)开始连线后,按下“A”键可以暂时取消自动连线路径选择功能,转为手动连线。再次按下“A”键可重新启用该连线的自动连线路径选择功能。
(3)连线结束后,LabVIEW会重新启用自动连线路径选择功能。完成前一次连线操作,松开鼠标左键后,LabVIEW也会再次启用自动连线路径选择功能。
(4)选择“工具”→“选项”命令,打开“选项”对话框,在“类别”下拉列表中选择“程序框图”选项,取消勾选“启用自动连线路径选择”复选框,即可取消所有新连线的自动连线路径选择。
(5)即使启用了自动连线路径选择功能,还可以通过按空格键对连线进行水平或垂直方向切换。若LabVIEW发现了一个新的连线方向,则该连线会切换到那个方向。
(6)使用快捷键“Ctrl+U”,可对整个程序框图和对象进行自动整理。若先选择一部分连线及对象,再使用快捷键“Ctrl+U”,则仅对已选择的对象和连线进行自动整理。
图2-2-29 自动连接对象
6.选择连线
使用工具选板的定位工具单击、双击或连续三次单击连线可以选中相应的连线,这与快捷方式章节中描述的操作一致。
(1)单击连线:选中连线的一个直线线段。
(2)双击连线:选中连线的一个分支。
(3)连续三次单击连线:选中整条连线。
7.在连线上添加标签
程序框图中的连线默认是没有备注信息的,若想为程序框图中个别连线标注提示信息,以便辨识,可以通过为连线添加标签实现。
【练习2-46】
参看图2-2-30,为前面练习中纠正VI断线而重新连线的连线添加标签。
图2-2-30 为连线添加标签
自带标签可移动至连线的任意位置,但无法将自带标签锁定在连线上。
8.纠正断线
程序框图处于编辑的过程中,时常会出现断线的情况。遇到断线,需要具体情况具体分析,切忌盲目将所有断线全部删除,避免造成巨大的恢复操作工作(提示:可以使用快捷键“Ctrl+Z”撤回上一次操作)。下面列出了常用的纠正断线的方法。
(1)用定位工具连续三次单击连线并按下“Delete”键可以删除断线。
(2)选择“编辑”→“删除断线”命令或按下“Ctrl+B”快捷键,可以清除所有断线。也可选中结构或部分程序框图代码,然后按下“Ctrl+B”快捷键,选中的断线将被移除。
(3)若删除连线的一个分支,则可能会导致整条连线断裂。重新连接连线分支,可修复断裂的连线。
(4)清除所有断线时应谨慎,因为程序框图连线尚未全部完成时也会出现断线。
(5)若删除一条自带标签连线的分支,则断线上仍然会保留标签。若连接两段自带标签的连线,则连接至源接线端的连线标签成为新连线的标签。
2.2.3 接线端的显示方式
程序框图中的接线端显示方式分为图标和数据类型两种,图标显示方式的接线端较大,数据类型显示方式的接线端较小。在默认情况下,程序框图的接线端以图标方式显示。数据类型概念将在后面章节介绍。
选择“工具”→“选项”命令,打开“选项”对话框,从“类别”下拉列表中选择“常规”选项,取消勾选“以图标形式放置前面板接线端”复选框,统一将“图标”显示方式切换为“数据类型”显示方式。
【练习2-47】
参看图2-2-31,掌握程序框图中接线端的图标与数据类型显示方式的转换设置方法。
图2-2-31 图标接线端与数据类型接线端
2.2.4 程序框图节点
回顾图2-1-9的程序框图中的节点,节点是程序框图上的对象,具有输入/输出端,在VI运行时参与运算。节点相当于文本编程语言中的语句、运算符、函数和子程序。图2-2-32为程序框图的节点成员。
图2-2-32 程序框图的节点成员
2.2.5 使用“函数”选板
程序框图中的函数均源自“函数”选板,“函数”选板中的VI和函数是分类排列的。有些内置类别在默认情况下并不包含任何函数。当安装相应的模块、工具包或驱动程序后,空的内置类别中将显示相关函数或VI。
LabVIEW中还有非内置类别,这些类别仅在安装了特定模块、工具包或驱动程序后才出现。
1.设置选板的查看显示格式
“函数”选板提供了6种选板的显示格式,分别是类别(标准)、类别(图标和文本)、图标、图标和文本、文本、树形,用户可以根据使用习惯设置显示格式。
【练习2-48】
参看如图2-2-33所示步骤,掌握两种设置选板显示格式的方法。
图2-2-33 两种设置选板显示格式的方法
图2-2-33 两种设置选板显示格式的方法(续)
2.调整可见的选板
“函数”选板采用的是折叠显示方式,默认可见的选板一直处于显示状态。单击“函数”选板底部的向下箭头可以展开显示完整的“函数”选板。可见的“函数”选板默认显示的选板可能部分内容使用率极低,通过更改可见选板设置,将使用频率较高的选板突出显示,并关闭一些不常用的选板,提高选板的使用效率。
(1)安装了特定模块、工具包和驱动程序后,默认显示为空的内置类别中会显示相关对象。
(2)前面板的选板可见设置操作与“函数”选板类似。
【练习2-49】
参看如图2-2-34所示步骤,将“视觉与运动”“互连接口”“控制和仿真”“Express”设置为不可见。
图2-2-34 更改可见选板
2.2.6 使用函数
函数有助于实现程序所需的各种运算,这是通行的程序设计做法,LabVIEW编程也不例外。“函数”选板(见图2-2-35)中包含许多与数学运算相关的函数,在编程中直接调用这些函数可以提高开发效率。
图2-2-35 “函数”选板
1.放置函数
【练习2-50】
参看如图2-2-36所示步骤,掌握从“函数”选板中选择“加”函数并将其放置在程序框图中的方法。
图2-2-36 程序框图中放置函数
2.为函数添加接线端
函数的接线端(见图2-2-37)在数量上一般是固定的,但有一些函数的接线端数量是可变的。例如,要创建一个包含10个元素的数组,就必须向“创建数组”函数添加10个接线端。
图2-2-37 函数的接线端
【练习2-51】
参看如图2-2-38所示步骤,以“创建数组”函数为例,掌握为其添加、删除接线端的方法。
图2-2-38 添加、删除函数接线端