本节书摘来自华章计算机《Arduino开发实战指南:LabVIEW卷》一书中的第3章,第3.3节,作者:余崇梓著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
3.3 LabVIEW的常用工具及调试工具
3.3.1 LabVIEW工具选板
在LabVIEW等图形化编程语言中,鼠标是主要的编程环境交互工具。 也就是说,鼠标指针能够用来完成各种不同的任务,如选择、连线、高亮文本等。
(1)工具选板
使用LabVIEW提供的工具可以新建、修改和调试VI。鼠标的操作模式对应于所选工具的图标,LabVIEW将根据鼠标光标的当前位置选择相应的工具。
在工具选板中可手动选择所需工具。选择View→Tools Palette可显示工具选板。如图3-11所示。
(2)自动工具选择器
工具选板的顶部是“自动工具选择器”按钮。 它被选中时,LabVIEW将根据光标的当前位置自动选择工具,如图3-12所示。如果需要关闭自动工具,可以取消选择或者选择选板中的其他项。
![image](https://yqfile.alicdn.com/a0c8773fa80f0ceae9c7576cc580fca1857b6575.png)
如果将LabVIEW工具比作家用工具,那么,下列每个单独的工具就好比螺丝刀、刀片、螺丝锥等,而自动工具选择器就是能够完成所有任务的瑞士军刀。
下面为LabVIEW中一些较为常见的工具。请注意,当选中“自动工具选择器”按钮时,鼠标光标会变为下列工具之一来完成LabVIEW中最常见的任务。
(3)操作工具
操作工具用于改变控件的值。操作工具大多用于前面板窗口,但也可用于在程序框图窗口中改变布尔常量的值。
(4)定位工具
定位工具用于选择或调整对象大小。使用操作工具选择对象后,可以移动、复制或者删除该对象。当鼠标移至对象的边界时,会自动转换为定位工具。
如果鼠标移至对象的调节尺寸节点上,光标模式将显示为对象大小可调整模式。
注意,当光标移至“XY图”角上的调节尺寸节点时,光标将变成双箭头。
前面板窗口和程序框图中皆可使用定位工具。
(5)标签工具
使用标签工具可以在输入控件中输入文本、编辑文本和创建自由标签。使用标签工具可以在数值控件中输入文本。当鼠标移至控件内部时,光标会转换为标签工具。单击可将光标置于控件内部。双击可选中当前文本。
当鼠标不在可以改变其模式的前面板或者程序框图的特殊区域时,将显示为十字线。 如“自动工具选择器”已启用,双击空白处可以转换为标签工具并创建自由标签。
(6)连线工具
连线工具用于连接程序框图上的对象。用连线工具将数值输入控件接线端连至for循环的计数接线端, 当光标移至接线端的输出/输入端或连线上时,它会自动转换为连线工具。
连线工具主要用于在程序框图窗口中以及前面板窗口中创建连线板。
(7)工具选板中的其他工具
对象快捷菜单工具用于通过鼠标左键访问对象的快捷菜单。右键单击LabVIEW中的任何对象也能进入菜单。
滚动窗口工具可在不使用滚动条的情况下,在窗口实现滚动。
断点工具用于在VI、函数、节点、连线和结构中设置断点,断点位置将暂停运行。
探针工具用于在程序框图的连线上创建探针。使用探针工具可查看产生问题或意外结果的VI中的即时值。
上色工具用于为对象上色。上色工具也显示了当前的前景和背景颜色设置。
取色工具用于获取上色工具使用的颜色。
3.3.2 LabVIEW前面板窗口工具栏
每个窗口都有与其相关的工具栏。通过前面板窗口的工具栏按钮可运行和编辑VI。
如图3-13所示,下列工具栏将出现在前面板窗口中。
单击运行按钮,运行VI。如果需要,LabVIEW可对VI进行编译。如果运行按钮呈白色实心箭头,可运行VI。白色实心箭头同时也表明:如果该VI已创建了连线板,则可作为子VI使用。
当VI运行时,如果是顶层VI,则运行按钮如图所示,表示其没有调用方,因此不是子VI。
如运行的是子VI,运行按钮将变为图中的样子。
如正在创建或编辑的VI出现错误时,运行按钮会显示为断开。如果在程序框图连线后,运行按钮仍显示为断开,则该VI不能运行。单击该按钮,显示错误列表窗口,该窗口列出了所有的错误和警告。
单击连续运行按钮,连续运行VI直至中止或暂停执行。再次单击该按钮可以停止连续运行。
VI运行时,将出现中止执行按钮。当没有其他方法停止VI时,单击该按钮立即停止VI。多个运行中的顶层VI使用当前VI时,按钮显示为灰色。
注意,中止执行按钮会在VI结束当前循环前立即停止VI。中止使用外部硬件等外部资源的VI,可能无法使该外部资源恰当复位或释放,从而使其停留在一个未知状态。因此,应当为VI设计一个停止按钮以防这类问题的发生。
单击暂停按钮,暂停运行VI。单击暂停按钮时,LabVIEW会在程序框图中高亮显示执行暂停的位置,并且暂停按钮显示为红色。再次单击暂停按钮,继续运行VI。
选择文本设置下拉菜单可改变所选VI部分的字体设置,包括大小、样式和颜色。
选择对齐对象下拉菜单,沿轴(包括垂直边缘、上边缘、左边缘等)对齐对象。
选择分布对象下拉菜单,可均匀分布对象,包括间隔、压缩等。
调整对象大小下拉菜单可以将多个前面板对象设置为同样大小。
有多个对象相互重叠时,可选择重新排序下拉菜单,将某个对象置前或置后。 使用定位工具选择其中一个对象,然后选择向前移动、向后移动、移至前面或移至后面。
LabVIEW搜索栏可以用来在LabVIEW Help、控件和函数模板以及ni.com中的NI技术支持、社区支持、下载和产品信息页面中定位所需信息。在类别列表中选择Tools→Options,然后选择搜索,可对LabVIEW的搜索类别进行配置。
单击整理程序框图(Clean Up Diagram)按钮重新整理程序框图上的已有连线和对象,以获得更清晰的布局。选择Tools→Options,打开选项对话框,选择类别列表中的Block Diagram→ Cleanup,可对清除选项进行配置。
3.3.3 LabVIEW调试工具
NI LabVIEW软件包含强大的调试工具,可帮助用户识别代码中的问题区域,做出正确的修改。用户可能会遇到两种类型的软件故障:运行程序停止和错误结果或错误行为发生。
运行箭头变为断线图标表明LabVIEW不能运行VI,错误列表窗口中会列出VI断开的具体原因。第二种类型错误通常难以辨别原因,但LabVIEW拥有多种工具可帮助用户观察执行的代码,使得整个过程变得更为容易。
(1)修正断开的VI
如一个VI无法执行,则表示该VI是断开的或不可执行的。如在创建或编辑VI出现错误时,运行按钮会显示为断开。
通常,这是由于所需的输入没有连线,或者连线是断开的。单击断开的运行按钮,打开错误列表窗口。错误列表对话框会列出所有错误,并且描述错误的原因。双击错误可直接找到错误的出处。
(2)查找VI断开的原因
警告并不阻碍VI的运行。警告仅帮助用户避免VI中的潜在问题,而错误会使VI断开。在运行VI前须排除所有错误。
单击断开的运行按钮或选择View→Error List可以查找VI断开的原因。错误列表(Error List)列出了所有的错误;存在错误的项目(Items with Errors)列出了所有包含错误的文件名。如果两个或多个项目具有相同的名称,该部分会显示每一项目的特定应用程序示例;错误和警告(Errors and Warnings)列出了存在错误的项目选中的VI的错误和警告信息;详细情况(Details)描述了错误信息,有时还会建议如何纠正错误。单击帮助(Help)按钮,显示LabVIEW帮助(LabVIEW Help)中详细描述错误并包含纠正错误的分步指令的主题。
单击显示错误按钮或双击错误描述,可高亮显示程序框图或前面板中包含错误的区域。
(3)修正错误的行为
如果VI仍能运行但生成了错误的结果,那么就表明是代码功能性错误。LabVIEW拥有多种工具来帮助分析VI不按预期运行的原因。
运行VI时,在程序框图工具中显示的按钮可用于调试VI。以下是在程序框图中出现的工具栏,如图3-14所示。
单击高亮显示执行过程按钮,可在运行VI时显示程序框图的动态执行过程。注意程序框图中数据的流动情况。再单击该按钮可以停止执行高亮显示。
执行过程高亮显示表明了程序框图上的数据通过沿着连线移动的圆点从一个节点移动到另一个节点的过程。使用高亮显示执行的同时,结合单步执行,可查看VI中的数据从一个节点移动到另一个节点的全过程。
注:高亮显示执行过程会导致VI的运行速度大幅降低。
单击保存连线值按钮可保存执行时数据流中各个点的连线值,将探针置于连线上时,用户可以马上获取通过该连线的最新数据值。 在获取连线上的值之前,VI必须至少成功运行过一次。
单步调试工具如图3-15所示,单击单步步入按钮,打开节点然后暂停。再次单击单步步入按钮时,将执行第一步操作,然后在子VI或结构的下一个操作前暂停。也可按下Ctrl+向下箭头键。单步执行VI是指按节点逐个执行VI。每个节点在准备执行时会闪烁。
单击单步步过按钮,将执行一个节点而在下一个节点处暂停。也可按下Ctrl+向右箭头键。通过单步步过执行节点,将不会单步步入执行节点。
单击单步步出按钮,将完成对当前节点的执行并暂停。VI执行结束后,单步步出按钮将变为灰色。也可按下Ctrl+向上箭头键。通过单步步出执行,可单步执行节点并定位至下一个节点。
如VI中包含警告信息且在错误列表窗口中已勾选显示警告选项,将显示警告信息。警告意味着程序框图存在潜在的问题,但是它不会阻止VI运行。
(4)探针工具
使用探针工具,可在VI运行时检查连线上实时传递的值。
如果执行一系列操作的程序框图比较复杂,且每一步的执行都可能返回错误值,可以使用探针工具。探针工具结合执行过程高亮显示、单步执行以及断点,可用于确定是否产生了数据错误以及错误发生在哪里。如有可用数据,高亮显示执行过程、单步调试或在断点处暂停时,探针都会立即更新并在探针监测窗口(Probe Watch Window)中显示数据。当执行过程由于单步执行或断点而在某一节点处暂停时,可用探针探测刚才执行的连线,查看流经该连线的数值。