错误-200361使用USB-6356 X系列DAQ板进行SPI控制

时间:2016-07-15 05:57:23

标签: labview spi nidaqmx daq-mx

我正在使用USB-6356 DAQ板通过SPI控制IC。

我正在使用NI SPI Digital Waveform library的部分来创建数字波形,然后使用一个小的包装器VI来传输代码。

我的IC测量RTD的温度,目前控制VI有一个“推送单次测量”样式按钮。 当我按下它时,温度由运行SPI通信的一系列其他VI返回。

经过一定数量的推动(非常快速地点击按钮使得这种情况更快地发生,但不一定是点击次数),VI会产生错误-200361,这在DAQ板上名义上是FIFO缓冲区溢出。

我不清楚这是否真的可能是问题的原因,但我不这么认为......

NI guide describing this error for USB-600{0,8,9} devices看起来很有希望,但遵循这些建议对我没有帮助。我将'DI.UsbXferReqCount'替换为模拟等效,因为我的读取任务是数字的。读取默认值返回4,所以我将属性更改为写入并选择“1”,但这没有区别。

我尝试使用设备管理器卸载DAQ板,拔掉插头并重新插入,但这也没有改变任何内容。

我的猜测是,在“有限样本”部分结束后,为读取和写入任务生成了额外的时钟样本,并且这些样本可能会添加溢出的空白数据,但返回的温度并不表示奇怪的数据,我假设如果是这种情况,我的VI将无法将读入的数据解释为正确的温度。

我附上了我正在使用的传输VI的框图图像,但实际上要运行它需要一个完整的VI库。

控制VI附加到几乎相同的forum post at NI forums

block diagram for the Transmit VI

1 个答案:

答案 0 :(得分:0)

我认为USB-6356没有用于数字信号的输出缓冲器。您可以通过NI-MAX尝试,如果您选择数字输出,您可能会发现样品没有参数。它一次只输出一个bool值(0或1)。

您也可以在LabVIEW中使用DAQ助手,当您配置数字输出时,如果选择N样本或连续样本,然后按OK按钮,会出现一个对话框,告诉您没有所选行的缓冲区。