02-11-2009 09:05 AM
02-11-2009 10:10 AM
02-11-2009 02:54 PM
Thanks for the suggestions Wiebe.
Your first suggestion led me to the help page titled "Debugging Applications and Shared Libraries". I will look into that. However, if I do isolate the problem to VISA Read or VISA Write, how do I take it to the next step to determine what driver is the problem?
Matt K.
02-12-2009 04:40 AM
02-12-2009 06:15 AM
Hi Matt,
We are developing some DAQ/IO for a custom application using the FTDI 232 (not the dual). I have experienced the same behaviour when running more than one device at once. I have not managed to detect it programatically, let me know if you manage to. I have spent a long time working through all the various time-out settings and port cycling options etc. without success.
It does not cause the VI to crash, but, as you describe, hang, maybe once every few days. As soon as the USB is unplugged the VI will continue. I had a dialogue with FTDI support who high-lighted a few possible causes. The most likely seemed to be that when waiting for a response from the FTDI, the handle for a particular device became invalid, leading to the VI waiting. Not exactly convinced by this, as setting timeouts did not solve it. Maybe the power was spiking enough to momentarily brown out the ftdi without making it appear disconnected?
The only cause that we have been able to tie it to is either poor power supply to the DAQ, or noise. We have made the DAQ self powered, isolated the usb supply from the DAQ supply, and optically isolated the switched devices (motors etc) on the outputs. we have also implemented a routine in the DAQ which will reboot the FTDI if it seems to loose contact. This seems to have resolved the issue, though it as not explained why it was happening.
We are looking at using the 2232, is it as straight forward as the 232?
Blue
02-12-2009 08:10 AM
02-12-2009 08:14 AM
Just dug out the email from FTDI support....
Blue
Hello,
02-12-2009 09:35 AM
In a probably unrelated instance, I had a program that would hang on random ports of a multiport card (regular PCI plugin card) at a VISA write if my program had launched an instance of Windows Media Player previously. I tracked the problem down to the version of the AVI codec I was using, the system that didn't exhibit the problem having an older version. Didn't go much further than that, figure that some part of the serial card's memory space was getting stepped on. In my case, as we were still in the development mode I was able to run more and more of the program until the problem occured. I think, if possible, that if you can create a vi that writes the current step to a file, and then salt these all over your program, before and after writes, you might get some useful info. In my case when the program hung only the specific vi was hung, and when probbed it showed that it was stuck in the VISA write. The only way to get it out of there was to use the Windows Task Manager to kill the LabVIEW instance.
Good luck, these intermittents require creative troubleshooting.
Please keep us informed of your progress!
02-12-2009 06:12 PM
02-16-2009 10:51 AM
Hello Matt,
I am no expert in this, but apparently it need not show up on the desktop if it does not properly disconnect. I did not get as far as trying to implement what was on the MSDN page as it is beyond my current understanding...
I don't know how you check how many pipe retries were required, though i tried large and small numbers with no observable difference, so i assumed it was not related to the issue i had. One of the status flags maybe?
Sorry, a bit of a case of groping around in the dark.
Do post if you get any new info from FTDI
Cheers,
Blue