We have had some success with the VISA USB driver in communicating with our instruments. We use the driver in the raw mode, and our platforms are 2000 and XP, VISA 3.3.1 and LabVIEW 7.1.
In the production context of the LabVIEW program, UUTs are switched in and out all day long. Always, after a certain point, the USB never works again (never enumerates) until the computer is rebooted. I am beginning to suspect that this is due to the "surprise disconnect" USB condition, when the test is finished with the UUT. I wonder if there is a more proper way to operate this service and test program.
Order of operation:
1. Plug in UUT to USB port
2. wait 10 seconds for device to enumerate
3. check registry to verify that NIVIUSBK.SYS service has started.
4. Unplug UUT from USB port
So, with this chain of events we do not even open a VISA connection to the driver. After a certain point, devices that previously worked no longer enumerate. Do I need to 'remove' the device when done, as if it were a "pen drive", and if so, how do I do that programmatically? Do I need to point my pointy finger somewhere else, as in a USB hub disabling a port for some (surprise) reason?
Hoping NI Week was scintillating...