自定义_自定义探针
- LabVIEW:2015
想必探针这个调试工具大家都是用过的,用来监测系统当前状态下某条连线(数据流)的值,不仅简单而且实用。不过你未必知道还有自定义探针或者说你还不曾用过自定义探针,也就是说除了LabVIEW提供的系统自带探针之外,还可以创建属于自己的探针,自定义探针的功能更加强大,不仅可以监控连线的值,还可以添加逻辑条件代码,当条件满足时暂停代码的执行,类似断点的功能,同时还可以对原始数据进行处理和提取,以便更高效地进行系统的调试。
下面通过一个简单的例子,看看如何自定义探针?
界面上有一个LED和一个按钮,按钮用来控制LED的亮灭,这里用JKI状态机来实现,如下图所示:
如果想监控系统运行中JKI状态机的所有状态怎么办?可以通过高亮显示来观看系统的运行过程(效率太低),也可以通过断点和探针配合使用(效率较高但是默认的系统探针只能显示当前值),需要自己在脑子里或其它地方记录所有的状态和执行顺序。
如果想让系统只在某个条件下才暂停运行(如当LED被点亮时暂停程序执行),显然通过打断点是不太合适的(程序每次运行到断点处时,都会暂停运行),该怎么办?
上述说的问题可以通过自定义探针一次性解决,灵活使用自定义探针,将会帮助我们更高效地调试一些更为复杂的系统,下面看一下自定义探针的实现过程。
在想监控的连线上,单击鼠标右键,在弹出的菜单中选择“Custom Probe >> New…”,如下图所示:
此时会弹出创建探针的一个对话框,可以选择在已有的探针基础上进行创建,也可以选择创建一个新的探针,这里选择第二个,然后单击下一步,如下图所示:
紧接着是设置探针的文件名、探针在快捷菜单中的名称(默认与文件名相同)、以及探针的保存位置,默认为\LabVIEW Data\Probes,还可以将探针文件保存在\user.lib\_probes\default路径下,当探针文件被保存在第二种路径下时,LabVIEW将会把这个自定义探针用作这种数据类型的默认探针,这里演示保存在第一种路径下,如下图所示:
单击“Save”按钮进行保存后,桌面会弹出一个创建好的探针VI,如下图所示:
其中有三个控件(Current State、Boolean、Value String),其中Boolean和Value String默认在前面板中被隐藏了,如果你需要也可以将它们显示出来,这三个控件不要删除,否则LabVIEW将不会将它识别为探针,它们的功能分别是:
Current State:连线的原始输入数据,即监控的数据;
Boolean:当Boolean输出为真时,将会暂停程序执行如同断点的效果;
Value String:将原始数据进行处理后输出;
在这个演示的例子中,为了记录监控的所有历史状态,在前面板中放置一个列表,同时为了在满足条件时暂停运行,再放置一个字符串输入控件用来输入条件,并隐藏Current State控件,如下图所示:
通过FGV记录所有历史数据,并添加条件成立的逻辑代码,程序框图实现如下图所示:
保存并关闭JKI State.vi,再次右击连线位置会发现,Custom Probe中多出了一个JKI State.vi,如下图所示:
下面看看运行效果,如下视频所示:
欢迎扫码关注,在看、转发并分享朋友圈,您的支持是我不断更新的动力!
还没有评论,来说两句吧...