labview的深入探索之事件結構中的TIMEOUT進行數據采集合適嗎?
最近看到利用事件結構中超時TIMEOUT事件進行數據采集的方法,過去我也過這種方法.
優(yōu)點:不再需要單獨的數據采集循環(huán),使用SHFIT REGISTER就可以在其他事件中共享數據.
但是這種用法是存在一定缺陷的,假如TIMEOUT的設定值是100MS,那么事件結構在100MS內如果沒發(fā)生事件,則產生一次超時事件,但是如果100MS內有任何其他事件發(fā)生時,將不會響應本次的超時事件,如果在100MS內一直有其他事件發(fā)生,那么事件結構將永遠不會產生超時事件.
看一下測試程序
由于下面的循環(huán)每隔10MS觸發(fā)一次事件,導致根本不會產生TIMEOUT事件.
如果去掉下面的循環(huán),則TIMETOUT事件正常產生,誤差是1MS,這也是LV軟件定時的最高精度了
所以,如果想用TIMEOUT進行數據采集,一定要注意不能產生其他事件,這也是TIMEOUT不適合數據采集的原因.