PyVISA is a software library that enables Python applications to communicate with resources (typically instruments) connected to a controlling computer using different buses, including: GPIB, RS-232, LAN, and USB.
This example scans and lists the available resources.
It requires PyVISA to be installed (see the PyVISA documentation for more information)
#Example that scans a computer for connected instruments that #are compatible with the VISA communication protocol. # #The instrument VISA resource ID for each compatible instrument #is then listed. # # #Dependencies: #Python 3.4 32 bit #PyVisa 1.7 # #Rev 1: 08302018 JC import visa def main(): rm = visa.ResourceManager() print (rm.list_resources()) if __name__=='__main__': main()
Here is the code:
And here is the result of a scan:
Each connected instrument returns a specific formatted string of characters called the VISA Resource ID.
The resource ID format is as follows:
‘Communication/Board Type (USB, GPIB, etc.)::Resource Information (Vendor ID, Product ID, Serial Number, IP address, etc..)::Resource Type’
In the response, each resource is separated by a comma. So, we have three resources listed in this example:
‘USB0::0x0483::0x7540::SPD3XGB4150080::INSTR’ – This is a power supply (SPD3X) connected via USB (USB0)
‘USB0::0xF4EC::0x1301::SVA1XEAX2R0073::INSTR’ – This is a vector network analyzer (SVA1X) connected via USB (USB0)
‘TCPIP0::192.168.55.122::inst0::INSTR’ – This is an instrument connected via LAN using a TCPIP connection at IP address 192.168.55.122