10-29-2013 10:19 AM
Hello,
Since porting Labview 2013 to a computer that we don't normally use labview on, I've been experiencing a hangup between the GPIB connection/4155 Parameter analyzer and labview. I should note that this computer previously had labview 7.0 on it and worked 6 months ago. What basically happens is this: Open Executable or labview VI itself, run automated test program that basically pulls and MES file then does one scan. Labview proceeds to take remote control of the 4155, load the MES file then freezes halfway thru the scan. If you try and do anymore actions on the Labview executable or VI, it doesn't do anything. When you try and close labview it pops up with a "XXX.vi resetting" message. Now I know from reading online that there are many ways to cause this resetting VI message, but we are only having this problem on one specific computer. We have other lab computers that run the labview programs fine. The only thing I can think of is that there is some sort of driver problem or conflict with the OS on that particular computer?(All our computers are running Windows XP, so I'm not sure if that could be the cause.) Another peculiar thing, there are no error indications on the 4155. After it freezes mid-scan, you can manually run scans perfectly fine on the 4155 via the front panel, so it is definitely not an equipment problem. I've already tried reinstalling all the labview drivers and labview 2013 itself. Has anyone experienced this/know how to fix it?
Any help would be greatly appreciated,
Konrad
10-30-2013 10:46 AM
Resetting VI dialogs usually appear when I/O tasks are still trying to finish execution. A previous issue that sounds very similar to yours had a VI that had run for years, but when migrated to new hardware the VI would experience this very crash. It ended up being that the new hardware was so much faster at executing the code that under the right conditions the buffer on the input device (the 4155 in your case) had not had time to finish filling in its data before the call to read that data was made. The fix ended up being as easy as adding a short wait to their acquisiton loop. So, essentially the VISA read for your GPIB may be getting called before the buffer is ready to provide data. You might try adding a delay, and if that doesn't work then I recommened posting a screenshot of your code where the hang-up occurs.
Another option is to try and perform an I/O trace to see all of the calls made to the GPIB interface. There's a good article on the issue here: http://digital.ni.com/public.nsf/allkb/282C5D41E2BA04F2862574BA007803B9
Thanks,
Ryan
10-31-2013 01:32 PM
Here's the IO Trace capture file as well as a screen shot of where I think it's freezing in my code. It looks like it hangs on that one VISA Read command, but I think that VISA read is inside the 4155 Initialize sub vi code. So I'm not sure why that would be freezing all of a sudden? I had to put the nitrace file into a zip for it to upload btw.
Thanks, Konrad
11-01-2013 11:28 AM
Hmm, that is odd. If you double-click on the VISA Read call in your I/O Trace, you can see that it returned an error because the read operation timed out. We need to verify that the information is actually making it to the device. I would try pinging the device in NI MAX using a VISA Test Panel for whichever COM Port your device is on. You can send the same *IDN? command as your program and see if you get a response. If this fails, then we need to determine which hardware component is at fault.
Regards,
Ryan
11-01-2013 02:39 PM
I tried running the VISA interactive control and when I send the IDN? command it's processing thru with no errors. Heres the screen shots.
Konrad
11-01-2013 03:43 PM
Ok, so I figured out the one problem we were getting on the HP4155, apparently the HP went to cal about a week about and someone changed a setting where it would refuse control from an external device. Now when I run thru my program on this computer, it trys to pull the MES file on a floppy disk on the 4155 and then freezes up. I've attached the NI trace for the new error.
Thanks,
Konrad
11-04-2013 07:12 PM
Hmm... It appears to crash at viWriteAsync which I assume is also within the Initialize 4155 SubVI. Have you tried highlight execution and breakpoints within that function to determine where the error actually originates?
11-05-2013 09:58 AM
It's just the VISA write command thats processing, it's basically just writing a command to the HP4155 to pulled the MES configuration file off a floppy disk. Interestingly enoguh, I tried changing that write command from Asynchronous to Synchronous, and now it will process the whole program but freezes up after it finishes testing. Like the labview program won't respond or anything.
Konrad
11-05-2013 10:34 AM
A little clarification on my last post, If I setup the scan to run twice, it runs once now and then freezes up after the one scan has finished. This is after I changed the Synchronous Timing I/O setting on all the write commands to Synchronous.I'm posting my entire code so you can see it. I've also attached another capture of the io trace
11-07-2013 10:35 AM
After doing some testing again today, it seems limited to the one computer. Could it be some sort of 2013 driver conflict on that computer or something?
Konrad