新闻中心

EEPW首页 > 测试测量 > 设计应用 > 关于labview的DAQ输出缓冲区

关于labview的DAQ输出缓冲区

作者:时间:2017-01-09来源:网络收藏
DAQ输出缓冲区的大小是由写入的样本数决定的,一般为样点数的2倍左右。

所以能及时的响应波形信号改变。不会产生巨大的延迟。若将输出缓冲区的大小设置的很大,那么就会在改变波形参数的时候产生巨大的延迟。因为存进缓冲区的数据必须逐一的输出。而缓冲区合适的时候,会不时的丢弃一部分数据,而随时的相应新的波形。

本文引用地址:http://www.eepw.com.cn/article/201701/337117.htm

就像这个例子



当我把输出缓存区设置成很大(10000)时,我在程序中改变波形属性,就会等很长很长时间才能输出相应的波形。原因是我每隔100ms就会忘缓存中写数据,在这之前写了非常多的数据保存在缓存中(还没来得及生成),所以需要延迟很多时间才能生成。

所以说 要注意 匹配好 多次写入VI的数据数量,以及刷新时间 等等!!!

多谢谢多测试,慢慢精通。

而输入缓冲区的大小则是由采样速度决定的。具体的可以参见lavview的帮助。橙色部分显示。

如何确定缓冲区大小?

输入任务

如采样模式为有限采样(定时函数/VI上的采样模式设置为有限采样),NI-DAQmx将划分出一块缓冲区,大小与每通道采样数属性相等。例如,指定每通道采样数为1000,应用程序使用两条通道,则缓冲区大小为2000个采样的大小。因此,缓冲区的大小足够存放要采集的所有样本。

如采样模式为连续采样(定时函数/VI上的采样模式设置为连续采样),NI-DAQmx将划分出一块缓冲区,大小与每通道采样数属性相等,除非缓冲区大小的值比小表所列的值更小。如每通道采样数属性的值小于下表所列的值,NI-DAQmx将使用下表中的值。

注:因为性能原因,连续采集的默认缓冲区大小与启用数据记录时所需缓冲区的大小可能有细微差别。

通过调用输入缓冲配置函数/VI可重写默认缓冲区大小。

当定时函数/VI的采样模式设置为硬件定时单点采集时,NI-DAQmx不会创建缓冲区。

输出任务

开始一次新的生成之前需要执行写入操作的数据决定缓冲区的大小。第一次调用“写入”函数/VI的“多采样”实例时会创建一个缓冲区并确定其大小。

也可使用输出缓冲区函数/VI创建一个输出缓冲区。必须在写入数据之前使用该VI。

定时函数/VI的每通道采样数不决定输出缓冲区的大小。反之,它是要生成的采样的总和。如缓冲区大小是n,将每通道采样数设置为3×n,将缓冲区的数据设置为正好3倍。如要生成整一倍的数据,将每通道采样数设置为n。

当定时函数/VI的采样模式设置为硬件定时单点采集时,NI-DAQmx不会创建缓冲区。



评论


技术专区

关闭