02-22-2009 07:05 PM
We have some USB instruments and drivers which we would like to make accessible using NI-VISA and Labview.
We have investigated USBTMC and USB RAW methods of connecting to the device, but both these methods use their own, NI supplied driver.
Our problem is that a lot of our device functionality is built into our own device driver, and it is not really practical to modify the device to move that functionality to the device itself.
Is it possible to write our own driver to, which would associate with our device, which would be still compatible with NI-VISA ?.
After some investigation it seems that both NI and Agilent VISA drivers use the same ClassGUID={A9FDBB24-128A-11d5-9961-00108335E361} (for windows) for the interface to the drivers. Is it possible to get any more information on this interface, and what actualy goes on between VISA and the USBTMC class driver, ie ReadFile, WriteFile and DeviceIoControl.
Thanks,
C Walker.
02-22-2009 08:23 PM
02-22-2009 09:11 PM
I agree we do not need VISA to interface to our driver, and have been successfully using our device in Labview for some time using COM and .NET interfaces.
However our customers would to use VISA and the USBTMC class to acces our device, but we have to use our own driver (.sys and .inf file) .
The question is, is it possible to modify our driver (.sys file) so that NI-VISA can see it and work with it.
Thanks,
Charlie
02-23-2009 08:56 AM
02-24-2009 02:02 PM
Hi
I suppose that your users are interested in having a good interface to your instrument. VISA is a way but it is more important that a driver is OK and has a good API than that it is available via VISA.
I don't know what kind of instruments you are producing but only for the sake of VISA, I rather have a proven driver than a visa based not compliant buggy driver.
So please try to define a good interface in LabVIEW that makes it easy to use your instrument.
Have a look at the API of the new project style instrument drivers and choos the same interface and pleas use a technology that also can be translated into Linux or Mac operating systems.
The worst choice is the COM interface followed by activeX interface, while .NET only has the disadvantage of being windows only.
10-29-2010 03:08 AM
The internal of the common USBTMC driver that has {A9FDBB24-128A-11d5-9961-00108335E361} GUID, seems like placed at IVI Foundation web site. The document# is IVI 6.2. The USBTMC driver is now common IVI's version that will be installed by the latest VISA Shared Components. The driver was originally from Agilent IO Libs (ausbtmc.sys).
I also want to see the IVI 6.2 document, but it is not placed yet at the IVI Foundation web site...