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.
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.
04-15-2014 03:58 AM
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.
04-15-2014 07:22 AM
04-15-2014 07:37 AM
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
04-15-2014 08:26 AM
04-15-2014 08:33 AM
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.
04-15-2014 08:53 AM
04-16-2014 02:56 AM
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.