07-23-2007 07:39 AM
Hello
I have written an application in visual basic which tests for the correct operation of a switch.
During the test sequence the test software makes 27 calls to a DC power supply and a HP 34401a Digital multimeter via a USB-GPIB-HS GPIB controller.
The test routine works perfectly for approx 100 cycles (i.e. 2700 calls) of the test routine.
After aprox. 100 cycles of the test routine I get the following error message
Unable to open Device
Ibsta= &H
8000iberr = 0
What I want to know is: -
What is the failure?
Why is it happening after approx 100 cycles?
Is it to do with the routine of calls to the device?
I have captured the failure on NI spy so you can see the routine I am using.
Any help on this matter would be greatly appreciated
Equipment used
PC with XP operating system
NI USB-GPIB-HS GPIB controller and drivers
HP 34401a Multimeter
TTI QL-3556 DC power supply
Regards
Robin
07-25-2007 04:46 PM
Hello Robin,
This is actually expected behavior, the way you have programmed your application. You are opening a descriptor to a device, clearing the device and then writing a message to the device in a loop. The problem is that the ibdev call is also in the loop. When you called ibdev for the 1024th time without closing any of the descriptors (by calling ibonl) the driver comes back with an EDVR error.
You can correct this problem by putting ibdev outside the while loop and just using the same descriptor in the ibclr and ibwrt calls. Or you can call ibonl to close the descriptor at the very end of the loop.
I hope this helps.
Steven T.
07-26-2007 09:04 AM
Hi Steven
Thanks for your response i will give this a try!!
This is my first application controlling a GPIB device so your tips are greatly appreciated
I will let you know the outcome.
Best regards
Robin
07-31-2007 08:25 AM