From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

VISA crashes daq

I'm developing a software interface that collects data from various USB sources. One of them is an NI thermocouple logger (an NI 9211 fitted to a cDAQ9171), the other is an FTDI USB to Serial adapter.

 

I can initialize and use the cDAQ, but as soon as I run the code to initialize the VISA, I get an error -50808:

 

 

"Possible reason(s): NI Platform Services:  A USB transfer failed due to a transaction error reported by the USB host controller.  This may be due to a fault in the system's USB host controller, a USB cable, or a USB device.
Task Name: _unnamedTask<3>" in "DaqMXAcquire.vi".

 

Unless I re-boot the computer, I then get this error every time I re-run the program and try to read from the cDAQ (even without running the VISA initialize).

 

The code is a little complicated and scattered in several places, but the cDAQ code is essentially what I got from converting the DAQ Assistant Express VI to code, and then I moved the task initialize and task close subVIs to separate parts of the program so that they only run once.

 

The problem seems to come from the DAQ Acquire subVI anyway, and I've attached a picture of that - the error seems to come from the dll call.

 

I've also attached a picture of the code used to initialize the VISA driver - just running this is all it takes to crash the cDAQ.

 

Thanks in advance!

 

ps. I spent most of yesterday updating my Labview 2011 to SP1, VISA 5.4 to 5.4.1, and NIDAQmx from 9.3.5 to 9.7.5, and the problem remains.

 

 

Download All
0 Kudos
Message 1 of 7
(4,266 Views)
What is the Call Library Function Node for? What dll are you calling?
0 Kudos
Message 2 of 7
(4,255 Views)

The Call Libray Function Node was in the code after I converted the express VI to code (I did this by right-clicking on the Express VI and clicking the appropriate option). It's function name is DAQReadNChan1Samp1DF64_130, and the dll is nilvaiu.dll

 

0 Kudos
Message 3 of 7
(4,250 Views)
Is this a subVI of DAQmx Read? I'm not on a pc right now so I can't look. I also never use the DAQ Assistant so I have no idea how the conversion is really done. Do you get any error when you run one of the DAQmx examples or when you try an acquisition in MAX?
0 Kudos
Message 4 of 7
(4,245 Views)

It's the contents of the DAQmx Read VI. After the DAQ Assistant was converted to code, I then moved stuff about trying to fix the problem.

 

The program works just fine as it's written, until I run the VISA initialization. I can get samples using DAQ functions from the thermocouple interface, until I press the button that runs the VISA initialization in the picutre attached to my initial post. This then causes the error, and I have to re-boot to make it work again.

 

 

0 Kudos
Message 5 of 7
(4,242 Views)
Thanks. I suspected as much but I wasn't sure.

The serial port configuration has quite a high baud rate. Are you positive the ftdi supports this? If you set it lower, do you still get the error? Have you checked for a more recent ftdi driver?
0 Kudos
Message 6 of 7
(4,235 Views)

The baud rate for the FTDI is set by the serial device it is attached to, which is unfortunately fixed at that rate. That side of the interface (Labview VISA, FTDI, and attached serial device) also works just fine on its own. It just seems to wipe out the NIDaq.

 

As a side note, I've just finished a very similar system, but using a Picologger USB TC-08 and some manufacturer-provided Labview code (which also largely consists of dll calls), and the whole system, including FTDI, works great.

 

 

 

 

0 Kudos
Message 7 of 7
(4,216 Views)