关注:134 2014-01-19 19:39

对于有限点采集或连续采集,DAQmx的buffer大小是如何分配的?

已解决 悬赏分:0 - 解决时间 2025-05-06 16:02
  支持(0)  |   反对(0)   |  我来评论 2014-01-11 12:40
 

 1.如果采集是有限的(DAQmx Timing.vi 上的sample mode 设置为 Finite Samples),NI-DAQmx 会分配一个大小等于samples per channel值的缓冲区。
  2.如果是连续采集(DAQmx Timing.vi 上的sample mode 设置为 Continuous Samples),NI-DAQmx 将根据下表来分配缓冲区:
  Sample Rate              Buffer Size 
  0 - 100 S/s                 1 kS 
  100 - 10,000 S/s           10 kS 
  10,000 - 1,000,000 S/s    100 kS 
  > 1,000,000 S/s             1 MS
  也可以通过调用DAQmx Configure Input Buffer.vi (或针对输出操作的 DAQmx Configure Output Buffer.vi) 手动地配置缓冲大小,此时,NI-DAQmx 自动的缓冲大小选择就无效。上述配置VIs在NI Measurements » DAQmx - Data Acquisition » DAQmx Advanced Task Options 中。这些VI覆盖了NI-DAQmx自动的缓冲分配。DAQmx Configure Input Buffer.vi 根据它的输入参数buffer size来分配缓冲大小,这个参数是用来定义这个任务中buffer所能容纳的每个通道的采样点数。