我正在使用 USB-6356 DAQ 板通过 SPI 控制 IC。
我正在使用NI SPI 数字波形库的一部分来创建数字波形,然后使用一个小型包装 VI 来传输代码。
我的 IC 在 RTD 上测量温度,目前控制 VI 有一个“推动单次测量”样式按钮。当我按下它时,运行 SPI 通信的一系列其他 VI 返回温度。
在按了一些次数后(非常快速地单击按钮会使这在时间上更快地发生,但不一定在单击次数上),VI 生成错误 -200361,名义上是 DAQ 板上的 FIFO 缓冲区溢出。
我不清楚这是否真的是问题的原因,但我不这么认为......
描述 USB-600{0,8,9} 设备此错误的NI 指南看起来很有希望,但遵循这些建议并没有帮助我。我用“DI.UsbXferReqCount”代替模拟等效项,因为我的读取任务是数字的。读取默认返回 4,所以我将属性更改为 write 并选择了“1”,但这没有什么区别。
我尝试使用设备管理器卸载 DAQ 板,拔下并重新插入,但这也没有改变任何东西。
我的猜测是,在读取和写入任务的“有限样本”部分结束后会生成额外的时钟样本,这些可能会添加溢出的空白数据,但返回的温度并不表示奇怪的数据,而且我会假设如果是这种情况,我的 VI 将无法将读入的数据解释为正确的温度。
我附上了我正在使用的 Transmit VI 的框图图像,但实际上要让它运行需要整个 VI 库。
控制 VI 附在NI 论坛上几乎相同的论坛帖子上。