Virtual Instrument Software Architecture (VISA) is an industry standard defined by the IVI foundation for communicating with instruments regardless of the interface.
For the full VISA specifications maintained by the IVI Foundation, see IVI Specifications.
If you are having trouble connecting to or communicating with your VISA resource, follow these troubleshooting tips.
VISA is supported on these platforms:
macOS (NI-VISA and R&S VISA only)
Windows® 10
These are the minimum VISA driver versions you must have:
Keysight™ IO Libraries version 18.1.24715.0 (Keysight Connection Expert 2019)
National Instruments® NI-VISA version 19.5
Rohde & Schwarz R&S VISA version 5.12
Tektronix® TekVISA is not supported for the visadev
interface.
Make sure that your adaptor is powered on, if your VISA interface has one, such as for GPIB. Make sure your device is also powered on.
Make sure that you have the correct instrument driver installed for your device. Refer to your device documentation and the vendor website.
Make sure that your device is supported in Instrument Control Toolbox™. See Is My Hardware Supported? and Instrument Control Toolbox Supported Hardware.
Make sure that Instrument Control Toolbox recognizes your device, by using the
visadevlist function.
resourceList = visadevlist
resourceList =
6×6 table
ResourceName Alias Vendor Model SerialNumber Type
__________________________________________ _________________ ______________________ ___________ ____________ ______
1 "USB0::0x0699::0x036A::CU010105::0::INSTR" "NI_SCOPE_4CH" "TEKTRONIX" "TDS 2024B" "CU010105" usb
2 "TCPIP0::169.254.2.20::inst0::INSTR" "Keysight_33210A" "Agilent Technologies" "33210A" "MY57003523" tcpip
3 "ASRL1::INSTR" "COM1" "" "" "" serial
4 "ASRL3::INSTR" "COM3" "" "" "" serial
5 "GPIB0::5::INSTR" "FGEN_2CH" "Agilent Technologies" "33522B" "MY52800145" gpib
6 "GPIB0::11::INSTR" "OSCOPE_2CH" "TEKTRONIX" "TDS 1002" "0" gpib
If the instrument is not listed, it might not be configured properly in your vendor’s VISA configuration utility software.
You can create a VISA object to use with different instrument types.
For example, create a VISA-Serial object connected to serial port
COM1.
v = visadev("ASRL1::INSTR");If you do not get an error, the object was created successfully. If the resource name or alias does not exist, you will get an error. Check that the resource name or alias is correct in the vendor configuration utility software.
You can have only one visadev object for a given
resource at a time.
When you have connected, you can communicate with your device. If you have problems sending or receiving, you may need to configure communication settings. Make sure you are using the correct instrument command. Look in the instrument’s documentation to see what commands it recognizes. Verify that communication works by testing the connection using the vendor's configuration utility.
If you are still having connection or communication issues with your instrument using VISA, you can troubleshoot using your VISA vendor's software and utilities, as described in the following table.
| Vendor | Configuration Utility | Testing Connection | Debug Utility |
|---|---|---|---|
| Keysight VISA | Keysight Connection Expert (KCE) | Interactive IO button on KCE | IO Monitor button on KCE |
| National Instruments VISA | Measurement and Automation Explorer (MAX) | Tools > NI VISA > VISA Interactive Control | Tools > NI I/O Trace |
| Rohde & Schwarz R&S VISA | RsVisaConfigure, launched from RsVisa Config tab on RsVisaTester | RsVisaTester | RsVisaTraceTool, launched from RsVisa TraceTool tab on RsVisaTester |
If you have multiple VISA installations, make sure that you have a preferred VISA set. Check if all the VISA interfaces are using the expected VISA. For R&S VISA, make sure it is set to "Preferred".
Use your vendor's configuration utility to make sure that your device
hardware is being detected. Check that the hardware and interface
properties are assigned as expected. You can also check that your device
responds to a *IDN? query.
If you are using SCPI commands, check if your device responds to them properly when issued from the configuration utility.
Use your vendor's debug utility to check the Instrument I/O traffic for errors other than timeout errors.