chrisb2244
chrisb2244

Reputation: 3001

Error -200361 using USB-6356 X-series DAQ board for SPI control

I'm using a USB-6356 DAQ board to control an IC via SPI.

I'm using parts of the NI SPI Digital Waveform library to create the digital waveform, then a small wrapper VI to transmit the code.

My IC measures temperature on an RTD, and currently the controlling VI has a 'push for single measurement' style button. When I push it, the temperature is returned by a series of other VIs running the SPI communication.

After some number of pushes (clicking the button very quickly makes this happen more quickly in time, but not necessarily in number of clicks), the VI generates an error -200361, which is nominally FIFO buffer overflow on the DAQ board.

It's unclear to me if that could actually be the cause of the problem, but I don't think so...

An NI guide describing this error for USB-600{0,8,9} devices looks promising, but following the suggestions didn't help me. I substituted 'DI.UsbXferReqCount' for the analog equivalent, since my read task is digital. Reading the default returned 4, so I changed the property to write and selected '1', but this made no difference.

I tried uninstalling the DAQ board using the Device Manager, unplugging and replugging, but this also didn't change anything.

My guess is that additional clock samples are generated after the end of the 'Finite Samples' part for the Read and Write tasks, and that these might be adding blank data that overflows, but the temperatures returned don't indicate strange data, and I'd have assumed that if this were the case, my VIs would be unable to interpret the data read in as the correct temperature.

I've attached an image of the block diagram for the Transmit VI I'm using, but actually getting it to run would require an entire library of VIs.

The controlling VI is attached to a nearly identical forum post at NI forums.

block diagram for the Transmit VI

Upvotes: 0

Views: 422

Answers (1)

litreily
litreily

Reputation: 1

I think USB-6356 don't have output buffers used for Digital signal. You can try it by NI-MAX, if you select the digital output, you may find that there is no parameters for Samples. It's only output a bool-value(0 or 1) in one time.

You can also use DAQ Assistant in LabVIEW, when you config Digital output, if you select N-Samples or Continuous samples, then push OK button, here comes a Dialog that tell you there is no buffer for lines that you selected.

Upvotes: 0

Related Questions