断点和探针1. 断点 断点和探针是调试 LabVIEW 代码时最常用的两个工具LabVIEW 中的断点在使用和功能上都比较简单、直观:使用工具选板上的断点工具,在想要设置或者取消断点的代码处点击鼠标即可;或直接在程序框图的节点、数据线上右击鼠标,就可以看到设置或取消断点的菜单项 断点几乎可以设置在程序的任何部分当程序运行至断点处,就会暂停,等待调试人员的下一步操作很多其他语言的调试环境都有条件断点,LabVIEW 的端点没有类似的设置,LabVIEW 是使用条件探针来实现条件断点功能的 断点是会保存在 VI 中的关闭带有断点的 VI,程序执行至断点处还是会停下来,并且这个 VI 会被自动打开 如果某个 VI 不允许你设置断点,很可能这个 VI 被设为不允许调试了此时,只要在 VI 属性中重新设置一下即可LabVIEW 的调试环境.2)2. 探针 探针的功能类似于其他语言调试环境中的查看窗口,用于显示变量当前状态下的数据LabVIEW 与其他语言不同之处在于,LabVIEW 是数据流驱动型的图形化编程语言LabVIEW 中的数据传递主要不是使用变量,而是通过节点之间的连线完成的。
所以 LabVIEW 的探针也不是针对变量的,而是加在某根数据线上的 LabVIEW 的探针也是图形化显示的比如为一根数字类型的数据线加探针,探针一般就是一个数字型显示控件,见图1Error Cluster 类型的数据线的探针,则看上去就像是个 Error Cluster,见图2 图1、图2:数值型和错误信息型数据线的探针3. 选取其他类型控件作为探针 如果你觉得 LabVIEW 默认的探针不美观或不适用,则可以在数据线上点击鼠标右键,选择 Custom Probe -> Controls -> ... 选取一个其他控件作为探针,如图3但是要注意,你选取的控件的数据类型要与数据线的数据类型一致才可以图3:使用仪表盘控件作为数值型数据线的探针4. 条件探针 在你设置断点后,程序在每次执行到断点的时候都会停下来但有的时候,调试者希望程序只在被监测的数据满足某一条件时,才暂停运行比如,被监测的数据在正常情况下应大于零,调试者希望一旦数据小于零则暂停在 LabVIEW 中,可以使用条件探针来实现这样的功能 图4:数值型条件探针 以图4 为例,如果你希望程序中的循环在运行 8 次以后才停下来,就可以使用条件探针。
在记录循环次数的 i 的输出数据线上点击鼠标右键,选择 Custom Probe 下以 Conditional 开头的探针,打开探针上的 Condition 页,就可以设置条件了此时,若被探测的数据满足你所设置的条件,程序就会暂停5. 用户自定义探针 如果你觉得 LabVIEW 自带的探针功能还不够强大,或者你自己创建了一种数据类型,而LabVIEW 没有适合它的探针,这时你可以自己创造一个满意的探针出来 用户自定义的探针其实也是一个 VILabVIEW 自带了一些已经做好的探针,这些探针都被放置在 \vi.lib\_probes 文件夹下你可以打开这里面的 VI 看一看已有的自定义探针是如何做的比如我们在图4 中所使用的 I32 型条件探针的 VI 是 ConditionalSigned32.vi 需要新建一个自定义探针时,先在数据线上点击鼠标右键,选择 Custom Probe -> New这时 LabVIEW 会弹出一个向导界面按照向导的提示,输入所需信息,LabVIEW 会为你生成一个用作探针的 VI 框架,对这个 VI 稍作修改,即可成为一个新的探针。
这个探针 VI 有一个输入和一个输出输入的是被探测的数据,输出是一个布尔类型,表示程序是否需要暂停这个 VI 的界面也就是探针的外观探针所实现的功能完全依赖于如何对其编程。