- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
关于labview的DAQ输出缓冲区
所以能及时的响应波形信号改变。不会产生巨大的延迟。若将输出缓冲区的大小设置的很大,那么就会在改变波形参数的时候产生巨大的延迟。因为存进缓冲区的数据必须逐一的输出。而缓冲区合适的时候,会不时的丢弃一部分数据,而随时的相应新的波形。
就像这个例子
当我把输出缓存区设置成很大(10000)时,我在程序中改变波形属性,就会等很长很长时间才能输出相应的波形。原因是我每隔100ms就会忘缓存中写数据,在这之前写了非常多的数据保存在缓存中(还没来得及生成),所以需要延迟很多时间才能生成。
多谢谢多测试,慢慢精通。
而输入缓冲区的大小则是由采样速度决定的。具体的可以参见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不会创建缓冲区。
上一篇:关于labview中的消息与同步
下一篇:关于labview中的VI
server