#目的:解决使用DAQ assistant遇到“错误-200279:该应用程序无法匹配上硬件采集速度”问题
#原因解释:
在连续DAQmx采集中,数据从DAQmx启动任务VI执行之时写入缓冲区,直到执行DAQmx停止任务VI或DAQmx清除任务VI。在执行DAQmx启动任务VI和执行第一个DAQmx读取之间,DAQmx PC缓冲区正在填充数据。如果此间隔太长,则缓冲区可能会被完全填满,并且在DAQmx读取VI将其从缓冲区中取出之前将覆盖初始数据,从而导致错误-200279。
#可能导致该问题的原因:
- 连续采样的DAQmx应用程序的读取速率低于采样率,导致样本在DAQmx PC缓冲区中累积,直到发生覆盖。
- DAQmx PC缓冲区太小,无法容纳任务所需的数据量,导致在获取数据之前在DAQmx PC缓冲区中进行覆盖。
#循环所用时间测试:
使用循环基准测试技术(如下所示)来验证while循环实际上是否以期望的速度执行:
#解决方案:
1.将continuous sample改成N samples,设置待读取采样数为采样率的1/10左右;实际读取速率取决于设置的采样率与while循环的时间
2.将continuous sample改成1 samples(on demand),实际读取速率取决于硬件(采集器)的读取速率
3.不使用DAQ assistant,替换为基础函数DAQ.mx完成所需要的读写功能