标签:
LabVIEW
LabVIEW “错误”机制的补充
在LabVIEW ABC(1)中,我们探讨了LabVIEW的“错误”机制,说明错误簇也是遵循数据流的方式传递错误,并提出了建议和忠告。这里在补充两点建议和忠告,也是我在编程时曾遇到过的问题。
1、 错误簇最好不要在For循环中使用(或通过)
因为For循环中没有从循环中跳出的能力,也就是说:指定了For循环的循环次数后,必须完成指定的循环,才能结束程序的执行。由此可见,错误簇也一定按指定的循环数叠代多次才能传递出去。在那些需要使用到循环的地方,为避免此类事情发生最好使用While循环来代替For循环。
而在While循环中,我们可以通过提取错误簇中的status的状态来终止While循环的运行。在使用到While循环时,加入这部分也是一个非常好的习惯。
2、 避免在Express VI “Time Delay.vi”中使用错误簇连接
其道理与上面所说的一样,“Time Delay.vi”也不会从延迟中跳出来,一定要等到延迟结束才会将错误传递下去。通过图1-1的例子可以很清楚的看到这个现象。

图1-1错误簇在“Time Delay.vi”中的转递试验
在图1-1中,我们将错误簇中的status状态,先设定为:F,然后运行程序,我们会看到探针[1]显示2000;然后我们将错误簇中的status状态,在设定为:T,然后运行程序,我们会看到探针[1]显示的仍然是2000。
我认为这是一个“bug”,如果像我们在LabVIEW ABC(1)中讲到的那样,使用vi模版中的SubVI with Error Handling框架就不会有这个问题了。至少,外边的发生的错误是直通的。
我对LabVIEW中“错误”机制目前就认识到这个程度。如果以后对这部分还有新的认识,我还将以这种方式来表述。如:标题可能为:LabVIEW ABC(1-2)或LabVIEW ABC(1-1-1)。
2006年10月10日午
系统分类:
测试测量 | 用户分类:
LabVIEW ABC | 来源:
原创 | 【推荐给朋友】 | 【添加到收藏夹】