数据收集的缓冲区:
在运用DAQmx API函数操控数据收集卡进行数据收集时,会在PC创立一个数据缓冲区,之前设置的通道采样数巨细一般是1000,有时设置4096,偶然会遇到“设置的采样数超出数据缓冲区”之类的过错,现在来看看DAQmx详细是怎么分配数据缓冲区巨细的。
(1)有限采样:DAQmx区分的缓冲区巨细与每通道采样数的数值持平。
(2)接连采样:DAQmx区分的缓冲区巨细与每通道采样数的数值持平,可是当每通道采样数的值小于下表所列的值时,DAQmx运用下表中的值:
在运用DAQmx API函数操控数据收集卡进行数据收集时,会在PC创立一个数据缓冲区,之前设置的通道采样数巨细一般是1000,有时设置4096,偶然会遇到“设置的采样数超出数据缓冲区”之类的过错,现在来看看DAQmx详细是怎么分配数据缓冲区巨细的。
(1)有限采样:DAQmx区分的缓冲区巨细与每通道采样数的数值持平。
(2)接连采样:DAQmx区分的缓冲区巨细与每通道采样数的数值持平,可是当每通道采样数的值小于下表所列的值时,DAQmx运用下表中的值:
采样率 | 缓冲区巨细 |
未指定速率 | 10 kS |
0-100 S/s | 1 kS |
101-10,000 S/s | 10 kS |
10,001-1,000,000 S/s | 100 kS |
>1,000,000 S/s | 1 MS |
从上表中,初略可见当设置采样率低于10kS/s时,缓冲区至少能够寄存1s内收集的数据量,当采样率高于10kS/s时,缓冲区能寄存的数据量就远小于1s内收集的数据了,这种情况下需1s内进行缓冲区数据的屡次读,避免缓冲区数据被覆盖掉。
(3)当守时函数的采样形式设置为硬件守时单点收集时,NI-DAQmx不会创立缓冲区。
NI-DAQmx API是运用循环缓冲区的,即读取掉缓冲区前面部分的数据后,当收集的数据抵达缓冲区尾部时,会将新收集的数据放到缓冲区开端数据已被读取的区域。DAQmx数据传输方法多选用DMA方法完成。