首页 理论教育 LabVIEW调试VI工具及注意事项

LabVIEW调试VI工具及注意事项

时间:2023-06-28 理论教育 版权反馈
【摘要】:调试VI时,可以使用如下的工具和操作。不过值得注意的是,高亮显示执行过程会导致VI运行程序的速度大幅降低。单步执行按钮,仅在单步执行模式下影响VI或子VI的运行,在运行模式下,不影响VI的运行。检查数据溢出 LabVIEW不提供数据溢出警告。3)子VI不能运行。此时子VI图标变灰。

LabVIEW调试VI工具及注意事项

若在运行VI后得到了非预期的数据,或希望更多地了解程序框图数据流,可以利用调试技术了解程序运行的过程,以发现并纠正VI或程序框图数据流的问题。调试VI时,可以使用如下的工具和操作。

1.高亮显示执行过程

单击程序框图工具栏中的高亮显示执行过程按钮978-7-111-33186-5-Part01-534.jpg,可以查看程序框图的动态执行过程。该工具通过沿线移动的圆形点显示数据在程序框图上从一个节点移动到另一个节点的过程。使用高亮显示执行过程的同时,结合单步执行,可以查看VI中的数据从一个节点移动到另一个节点的全过程。不过值得注意的是,高亮显示执行过程会导致VI运行程序的速度大幅降低。

2.保存连线值

单击程序框图工具栏中的保存连线值按钮978-7-111-33186-5-Part01-535.jpg,可以在程序运行时保存流过连线的数据流的值。

3.单步执行

单步执行可以查看VI运行时程序框图上的每个执行步骤。单步执行按钮,仅在单步执行模式下影响VI或子VI的运行,在运行模式下,不影响VI的运行。

单击程序框图工具栏中的开始单步执行按钮978-7-111-33186-5-Part01-536.jpg(单步步入)和开始单步执行按钮978-7-111-33186-5-Part01-537.jpg(单步步过)进入单步执行模式。将光标移至单步步入、单步步过或单步步出按钮上,可以看到一个提示框,提示框中描述了单击按钮后下一步的执行情况。

如果单步执行VI,同时选择高亮显示执行过程,则该执行符号将出现在当前运行的子VI的图标上。

4.探针

使用探针工具可以查看流过连线的数据。在程序框图工具选板中,选择探针数据按钮,将光标放置在对象上,或右键单击连线从弹出的快捷菜单中选择“自定义探针通用探针”,即可使用通用探针。

5.断点

使用工具选板中的断点工具可以在程序框图上的VI、节点或连线上设置一个断点,使程序运行到断点时暂停执行。

在连线上设置断点后,数据流过该连线后程序将暂停执行。在程序框图上设置一个断点,程序框图在所有节点执行后暂停执行。VI暂停于某个节点或连线上的断点时,程序框图窗口将作为当前窗口弹出,同时一个选取框将高亮显示含有断点的节点或连线。将断点工具移动到断点上时,断点工具的黑色区域变成白色。

程序执行到断点暂停时,暂停按钮显示为红色,可进行以下操作。

1)使用单步执行按钮单步执行程序。

2)在连线上添加探针查看中间数据。

3)改变前面板控件的值。

4)单击暂停按钮继续执行到下一个断点或程序结束(没有下一个断点时)。(www.xing528.com)

进行程序调试除了要正确熟练地使用程序调试工具,还应掌握其他一些程序调试的方法及程序设计中防止发生错误的技巧。

(1)建立出错处理机制 大部分LabVIEW内置函数图标底部都有一对错误输入和错误输出参数串联起来,这样当前一个函数发生错误时,它的出错信息传递到后面的函数,后一个函数将不执行任何操作,只把出错信息继续向后传递,直到程序最后进行出错处理。

LabVIEW本身具有处理出错的功能,程序运行中某一个函数发生错误时,会自动挂起,高亮度显示出错函数的图标,并弹出出错信息对话框。

(2)检查部分代码段对程序的影响 去掉程序的某部分,看程序性能是否有所改进。文本语言中用“注释”来使代码的一部分失去作用,而LabVIEW中使用选择结构来达到同样的目的。把需要检查的一段代码放在选择结构子框图中,用一个布尔量来控制是否让它运行。

(3)检查端口连线是否正确 在某一条连线上单击鼠标,则全部选中了与此线相连接的端口,这样可以比较清楚地发现连线是否连接到适当的端口。

(4)使用上下文帮助窗口 使用“菜单→帮助→显示即时帮助”,来激活上下文帮助窗口,窗口内显示鼠标指向的函数的基本功能和各个端口的定义。这样可以对照当前的连接,检查连线是否正确。

(5)检查函数端口的默认值 当函数端口类型可选时,在使用中如果不连接,则使用默认值作为参数值进行传递。例如,当一个函数的布尔型参数的输入端口默认值为真,如果程序中没有为这个端口进行连线,就会按该端口的值为假进行程序设计,那就会产生错误的结果。

(6)检查是否有没接线的子程序 使用层次结构窗口检查是否有没接线的子程序。LabVIEW允许程序中存在不连接的子VI,并以进行处理机制来运行该子VI,除非子VI的某一输入端口被设置为必须连接的类型。如果没连线的子VI有错误,则整个程序也不能运行。

(7)检查未定义数据 LabVIEW中有两种是没有意义的,一种是非数字,一般是由于无效的数学运算得到的,例如,对一个负数进行开方运算,就会产生非数字;另一种是无穷大,是由运算产生的浮点数,例如,一个数被零除。

(8)检查数据溢出 LabVIEW不提供数据溢出警告。尤其是程序中可能存在浮点数到整型数的转换或大的整型数到小的整型数的转换。例如,把一个16位整型数接入到一个只能接受8位整型数的函数输入端口上,就不会有数据溢出警告,这种转换本身就存在数据丢失的潜在危险。

(9)检查簇成员的顺序 仔细检查簇成员的顺序,是否于目标端口一致。LabVIEW在编辑状态下检查数据类型和簇的大小是否匹配,但是不能检查出相同数据类型的成员是否匹配。

LabVIEW程序中常见的程序错误有:

1)由于数据类型不匹配造成程序框图包含断线。改正方法是:转换数据类型或用合适的数据类型替换数据源。

2)某些函数的Required参数未连线。改正方法是:找到错误源,正确连线。

3)子VI不能运行。改正方法是:修复子VI。

4)子VI被放入程序框图后,又编辑过它的接口板。此时子VI图标变灰。解决办法是:使用Replace快捷菜单命令,用同一个子VI做一次替换。

5)有时在程序框图中看不到错误程序,却不能运行,可能是错误连线被节点遮盖。解决办法是:按<Ctrl+B>键删除错误连线。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈