EDN首页   博客首页

日志档案

发表于 2006-10-10 19:12:39

31

标签: LabVIEW  

LabVIEWABC(1-1)

LabVIEW “错误”机制的补充

 

     LabVIEW ABC1)中,我们探讨了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 ABC1-2)或LabVIEW ABC1-1-1)。

 

 

20061010

 

系统分类: 测试测量   |   用户分类: LabVIEW ABC   |   来源: 原创   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(20095)    回复(0)  

投一票您将和博主都有获奖机会!