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

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

实时采集控制

我有一个M系列 6221的采集卡,我想用它先采集频率为100Hz左右的振动信号,然后经过处理,再输出频率为100Hz左右的反馈信号,这个应该是可以实现的。

但是不知道它的实时性怎么样?是不是这个响应时间(同步时间?我不太清楚该用什么词来表达)应该小于0.1s或者更小?但是我稍微测试了一下,先用DAQmx Write.VI输出电压信号到模拟输出端,然后再用DAQmx Read.VI采集信号,发现我如果调整了输出频率,采集到的信号和原来的信号一样--没有变化--或者过很长时间才开始变化,这样,是不是说明它的输出不是实时的了,该怎么设置呢?

请各位不吝赐教!我是一个菜鸟,谢谢各位!

0 项奖励
1 条消息(共 5 条)
4,330 次查看

你好!我假设你是在普通的Windows系统进行该开发,一般而言,除开硬件本身的同步性能外也取决于你的数据采集后处理的时间。如果不需要处理,即采集到一段数据后立即输出,时间差大概在us~ms级。

 

NI应用工程师

Ben

0 项奖励
2 条消息(共 5 条)
4,273 次查看

谢谢Ben。

那你可否告诉我怎么提高它的输出实时性呢?

我看有些帖子说是因为在输出过程中,首先是将数据输入到缓存,然后再从缓存输出。如果缓存里的数据比较多,那么它的输出延时就比较厉害,是不是这个原因?那么怎么改变缓存大小呢?谢谢你。

0 项奖励
3 条消息(共 5 条)
4,233 次查看

在Windows系统来说,它的实时性肯定是无法保障的,软件定时的精度大概1ms级别,只能是代码尽量优化来减少延迟时间,不可能保证很好的实时性能的。至于你提到的设置缓存大小,是DAQmx定时函数参数"每通道采样"来决定的。

 

另外,如果需要高性能的实时,需要考虑实时系统甚至是FPGA来实现硬件实时定时,这取决于你的项目需求。

 

 

NI应用工程师

Ben

0 项奖励
4 条消息(共 5 条)
4,218 次查看

谢谢Ben。

0 项奖励
5 条消息(共 5 条)
4,193 次查看