USB and VISA Background
VISA is a high-level application programming interface (API) for communicating with instrumentation buses. It is platform independent, bus independent, and environment independent. In other words, you use the same API regardless of whether you create a program to communicate with a USB device with LabVIEW on a machine running Windows XP, or a GPIB device with C on a machine running Mac OS X.
Universal Serial Bus (USB) is a message-based communication bus. This means a PC and USB device communicate by sending commands and data over the bus as text or binary data. Each USB device has its own command set. You can use NI-VISA Read and Write functions to send these commands to an instrument and read the response from an instrument. Check with your instrument manufacturer for a list of valid commands for your instrument.
NI-VISA supports USB communication. Two classes of VISA resources are supported: USB INSTR and USB RAW.
USB devices that conform to the USB Test and Measurement Class (USBTMC) protocol use the USB INSTR resource class. USBTMC devices conform to a protocol that the VISA USB INSTR resource class can understand. No configuration is necessary to communicate with a USBTMC device. To communicate with a USBTMC instrument, refer to Using NI-VISA to Communicate with Your USB Device. For more information about the USBTMC specification, refer to the USB Implementers Forum Web page.
USB RAW instruments are any USB instrument other than those instruments that specifically conform to the USBTMC specification. If you are using a USB RAW device, follow the instructions in Configuring NI-VISA to Control Your USB Device to configure NI-VISA to control your device. Contact your instrument manufacturer for details about the communication protocol and the command set your instrument uses.