Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

USBTMC drivers

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.

 

 

0 Kudos
Message 1 of 6
(9,552 Views)
Well, you don't need VISA at all to interface to your driver and instrument. Assuming the driver is a dll, you could simply provide a series of VIs that use the Call Library function node. Otherwise, its possible to modify your driver to accept a VISA resource. You would then have to use an inf file created by the VISA Driver Wizard. I was the user of such a driver at a previous employer and I'm afraid I don't remember the details or have access to the code anymore, though.
0 Kudos
Message 2 of 6
(9,546 Views)

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

 

0 Kudos
Message 3 of 6
(9,542 Views)
If you want your device to be Test and Measurement Compliant, you will have to make it conform to the specification.  This is not something that NI supports doing and it will not be a trivial task.  You are correct in that USBTMC and USB RAW are your options if you want to use NI-VISA.
Ben

National Instruments
Certified LabVIEW Associate Developer
Certified TestStand Developer
0 Kudos
Message 4 of 6
(9,517 Views)

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.

greetings from the Netherlands
0 Kudos
Message 5 of 6
(9,488 Views)

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...

0 Kudos
Message 6 of 6
(8,589 Views)