Virtual instrument software architecture
#include <visa.h>
The Virtual Instrument Software Architecture provides a generic interface for communication with test and measurement equipment.
Each device is identified by a resource name that specifies the type of connection used, location information and the device type.
USB Devices
USB[.IRbus].BI::manufacturer::product::serial.RB[::.IRtype]
The manufacturer and product identifiers must be given as hexadecimal numbers prefixed with 0x. The serial number is mandatory, even if the device would be unique otherwise.
Ethernet/VXI-11 Devices
TCPIP[.IRinterface].BI::host.RB[::.IRtype]
Access to resources is mediated through a resource manager; while technically there could be multiple instances, usually only the default resource manager is used.
A handle to the default resource manager can be obtained from the viOpenDefaultRM(3visa) function.
If the resource name is not known in advance, the resource manager can be queried for a list of known devices by using the viFindRsrc(3visa) function.
This function returns a ViFindList object (along with the first known resource), and further resource names are then queried from the find list using viFindNext(3visa) before finally freeing the list using viClose(3visa).