NI LabVIEW,CVI,数据采集等产品讨论区

取消
显示结果 
搜索替代 
您的意思是: 

Labview的超时和等待函数时间精度和电脑配置有关吗?

我自己写的程序中有一个模块功能是这样的:
1.先是一个等待通知,超时设置为450ms(正常情况下没有通知,等待450ms后超时);
2.等待通知结束后进行一些操作,耗时小于1ms;
3.通过时间计数器计算1和2所用总时间再加2ms
4.软件设计要求整个流程耗时498ms,因此498减去之前计算的总时间,使用等待ms函数把时间等掉。

为了测试时间精度,我在等待通知和整个模块都加了个顺序结构,通过时间计数器相减计算时间,并通过波形图表显示。结果发现时间精度有点离谱,等待通知的超时设置为450,可实际可能会超过10ms+,等待ms函数也会有10ms左右误差。而且用两台电脑跑出来的结果还不一样。

1.PNG2.PNG

第一个波形图表为等待通知的耗时,设置为450,最高却到了466。
第三个波形图表为最后的等待函数时间,根据第二个图表进行动态调整,将整个流程控制为498ms。
第四个波形图表为整个流程的耗时,照道理经过等待函数的动态调整,最后耗时应该是498ms,可最终误差感觉也是偏大了点。
另外这是我用另一台电脑跑同一个程序,结果居然还不太一样。

3.PNG

5.PNG

0 项奖励
1 条消息(共 3 条)
801 次查看

朋友,有实现方式的逻辑结构,可能更好交流。

0 项奖励
2 条消息(共 3 条)
750 次查看

你是用的Windows系统吗,因为windows系统是非实时操作系统,所以很难精确控制在毫秒级。你可以了解一下实时操作系统。

0 项奖励
3 条消息(共 3 条)
723 次查看