最近看到利用事件结构中超时TIMEOUT事件进行数据采集的方法,过去我也过这种方法.

      优点:不再需要单独的数据采集循环,使用SHFIT REGISTER就可以在其他事件中共享数据.

      但是这种用法是存在一定缺陷的,假如TIMEOUT的设定值是100MS,那么事件结构在100MS内如果没发生事件,则产生一次超时事件,但是如果 100MS内有任何其他事件发生时,将不会响应本次的超时事件,如果在100MS内一直有其他事件发生,那么事件结构将永远不会产生超时事件.

看一下测试程序

Picture
由于下面的循环每隔10MS触发一次事件,导致根本不会产生TIMEOUT事件.
如果去掉下面的循环,则TIMETOUT事件正常产生,误差是1MS,这也是LV软件定时的最高精度了
Picture
所以,如果想用TIMEOUT进行数据采集,一定要注意不能产生其他事件,这也是TIMEOUT不适合数据采集的原因.
Picture



Leave a Reply.