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

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

用DAQ或DAQmx采集数据,硬件采样率是200kS/s,但是软件采样频率无法达到:1ms周期,怎样控制使软件能以毫秒级为间隔显示数据?

你能保证你的程序在1ms以内完成一次循环吗?
---------------------------
Lady And Basketball Vividly In my Exciting World !!!
Daniel.Tang E-mail: tangye@friendess.com
0 项奖励
11 条消息(共 18 条)
4,807 次查看
这个我测试过,好像循环一次都用不了0.1ms,因为循环里面就只是采集一下数据,没做别的事情
但总觉得不是很好的解决方法。感觉等待的这1ms应该存在误差吧
程序中虽然可以设置1ms但是windows本身的精度好像达不到1ms,据说5ms才能保证精度
 
 师文江 ,你的实验做好了没?
怎么解决的,请相告,谢谢!
0 项奖励
12 条消息(共 18 条)
4,792 次查看

Windows是不能实现精确定时的,这个我们大家都是知道的。在这种情况下,我觉得可以用LabVIEW中的Timed Loop循环代替一般的Loop循环,设置period为1ms,虽然这样也不能完全做到精确定时1ms,但比用一般循环里Wait Until next ms multiple定时效果要好。可看附件中的两幅图,分别对应Timed Loop循环和一般的Loop循环得出的效果。另外一个方法就是用LVRT来实现,可用LabVIEW中的Timed Loop中的1MHz时基来精确定时。通过上位机来显示RT对象采集的1ms的数据。

P.S: 我不理解的是为何要这么精确的定时显示图形,如果要知道1ms内采的数据的话,可通过计算来得到:200kS/s,每毫秒就是200个采样点。

 

0 项奖励
13 条消息(共 18 条)
4,764 次查看

我有个疑问为什么要单点做采集,既然要求在1ms,放在缓存中一起读过来

而且如果你要1ms循环一次,其他平行的while循环怎么办?

整个程序就采集不做其他响应了,ms不合情理阿

0 项奖励
14 条消息(共 18 条)
4,747 次查看

   1ms只是大致的时间间隔,能来得及采集就行了。David Ding 回答的较好,我这儿有一个精确时钟的程序。

    我的实验还没有作完,要给大家、公司一个交代,好不容易呀!他妈的!

0 项奖励
15 条消息(共 18 条)
4,739 次查看
如果要求1ms采集一次数据,实时地对数据进行判断,根据判断结果决定是否再继续进行采集
这样的话,用硬件采集放在缓冲区中,岂不是无法完成实时判断了吗?
0 项奖励
16 条消息(共 18 条)
4,721 次查看
如果要求1ms采集一次数据,实时地对数据进行判断,根据判断结果决定是否再继续进行采集
这样的话,用硬件采集放在缓冲区中,岂不是无法完成实时判断了吗?
0 项奖励
17 条消息(共 18 条)
4,630 次查看
哈哈哈
问的好,问出了概念模糊的地方,篮球之鬼回答了你们,你们要去理解。
“理解万!”懂了就懂了,不懂就随便他们吧。
0 项奖励
18 条消息(共 18 条)
4,568 次查看