DAQ的输出缓冲区的巨细是由写入的样本数决议的,一般为样点数的2倍左右。
所以能及时的呼应波形信号改动。不会发生巨大的推迟。若将输出缓冲区的巨细设置的很大,那么就会在改动波形参数的时分发生巨大的推迟。由于存进缓冲区的数据有必要逐个的输出。而缓冲区适宜的时分,会不时的丢掉一部分数据,而随时的相应新的波形。
就像这个比如
当我把输出缓存区设置成很大(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不会创立缓冲区。