Main Content

VISA Explorer

Connect to and communicate with instruments over VISA

Since R2022b

Description

The VISA Explorer app provides a user interface to connect to and communicate with instruments over VISA.

Using this app, you can:

  • Connect to TCP/IP (using VXI11 and HiSLIP), TCP/IP Socket, USB, GPIB, Serial, VXI, and PXI interfaces using VISA.

  • Configure connection and communication properties for your VISA resource.

  • Write binary, ASCII-terminated string, or binblock data.

  • Read binary, ASCII-terminated string, or binblock data.

  • Plot data in a separate figure window.

  • Analyze data by viewing it in the Signal Analyzer app.

  • Export data to the MATLAB® workspace.

  • Generate a MATLAB script for app interactions that uses the visadev interface.

VISA Explorer app

Open the VISA Explorer App

  • MATLAB Toolstrip: On the Apps tab, under Test and Measurement, click the app icon.

  • MATLAB command prompt: Enter visaExplorer.

Examples

expand all

For a walkthrough of this example, play the following video.

This video shows you how to use the VISA Explorer app to read waveform data from a key site infinite vision oscilloscope using the VISA Def interface. You can launch the VISA Explorer app from the MATLAB command window by calling the VISA Explorer command. Once it opens, the VISA Explorer app provides a user interface to connect to and communicate with instruments over VISA without writing any MATLAB code.

On this machine, the app has the KEYSIGHT oscilloscope listed as a VISA USB resource under the discovered hardware. Select this resource. The VISA Explorer app then connects to the instrument using a VISA dev. Object

Next, send a few SCPI commands to configure the oscilloscope for measurement. Make sure you reset the instrument first. Then perform an auto scale operation on the input signal.

Next, set the waveform source as channel 1. Notice that you can save the SCPI commands as workspace variables in MATLAB, and they'll appear in the dropdown here. Similarly, send a few other SCPI commands to the oscilloscope.

So now you can see that the oscilloscope is configured and ready for measurement. Notice that the Skippy commands being written to the instrument appear in the communication log and the corresponding MATLAB code is visible in the MATLAB code log. Next, read data from the oscilloscope. Read back the data as a binned block of UN16 values.

So here's the data from the oscilloscope. Use the plot icon in the tool strip to plot the data. Here is the plot of the waveform. You can also view the data in the signal analyzer app for further analysis by clicking this icon.

Here's how the signal appears in the signal analyzer app. The app also lets you generate a MATLAB live script from the MATLAB code log. Visit the VISA Explorer app documentation page for more information.

Video Player is loading.
Current Time 0:00
Duration 0:00
Loaded: 0%
Stream Type LIVE
Remaining Time 0:00
 
1x
  • Chapters
  • descriptions off, selected
  • captions off, selected

      Parameters

      expand all

      For a full list of properties that appear in the Property Inspector, see visadev Properties. The properties that you see in VISA Explorer depend on your VISA interface.

      Write Section

      You can write Binary, ASCII-Terminated String, or Binblock data to the VISA resource.

      A Binary write is equivalent to the write function, an ASCII-Terminated String write is equivalent to the writeline function, and a Binblock write is equivalent to the writebinblock function.

      Specify the data type of the data to write to the VISA resource. This parameter determines the number of bytes to write for each value and the interpretation of those bytes as a MATLAB data type.

      Dependencies

      If you set the Data Format to ASCII-Terminated String, the only possible value for this parameter is string.

      This parameter can be set to uint64 or int64 only if you select the Workspace Variable option instead of Data to Write.

      Specify the data to write to the VISA resource. The data is written as the type specified by Data Type, regardless of the format in this parameter. If the Data Type is a numeric type, the app evaluates the Data to Write values and operations before writing the data. For example, you can specify 1:5 instead of [1,2,3,4,5].

      Select either this parameter or Workspace Variable to write data.

      Select an existing workspace variable to write to the VISA resource. The data is written as the type specified by Data Type, regardless of the data type of the variable in the workspace.

      If Data Format is Binary or Binblock, you can select the following types of workspace variables:

      • Row (1-by-N) or column (N-by-1) vector of numeric values

      • 1-by-N character vector

      • 1-by-1 string scalar

      If Data Format is ASCII-Terminated String, you can select the following types of workspace variables:

      • 1-by-N character vector

      • 1-by-1 string scalar

      Select either this parameter or Data to Write to write data.

      Click this button to write the data specified in Data to Write or Workspace Variable as the specified Data Type to the VISA resource. If Data Format is ASCII-Terminated String, the write terminator specified by the Terminator property is automatically appended to the data being written.

      Clicking this button is equivalent to performing the write, writeline, or writebinblock functions.

      Click this button to write the ASCII-terminated string command specified in Data to Write or Workspace Variable as the specified Data Type to the VISA resource, then read the ASCII text returned from the resource. The write terminator specified by the Terminator property is automatically appended to the data being written.

      Clicking this button is equivalent to performing the writeread function.

      Dependencies

      To perform this operation, set the Data Format to ASCII-Terminated String.

      Read Section

      Read Binary, ASCII-Terminated String, or Binblock data from the VISA resource.

      A Binary read is equivalent to the read function, an ASCII-Terminated String read is equivalent to the readline function, and a Binblock read is equivalent to the readbinblock function.

      Specify the data type of the data to read from the VISA resource. This parameter determines the number of bytes to read for each value and the interpretation of those bytes as a MATLAB data type.

      Dependencies

      If you set the Data Format to ASCII-Terminated String, the only possible value for this parameter is string.

      Specify the number of values to read as a positive integer. This parameter must be less than or equal to Values Available. If you leave this parameter empty, the client reads all available values using the specified Data Type.

      Dependencies

      To enable this parameter, set Data Format to Binary.

      Click this button to read data from the VISA resource. If Data Format is Binary, read the number of values specified by Num Values to Read in the form specified by Data Type. If Data Format is ASCII-Terminated String or Binblock, read data until the first occurrence of the read terminator specified by the Terminator property.

      Clicking this button is equivalent to the read, readline, or readbinblock functions.

      Click this button to clear all data from both the input and output buffers of the VISA resource. This also clears the hardware output buffer of the instrument.

      Clicking this button is equivalent to performing the flush function.

      Communication Log Section

      View the data in the Data column of the Communication Log as Binary, ASCII, or Hexadecimal, as applicable based on the data type. This parameter does not change the original value or data type of the data. For more information about these formats, see Data Type Conversion.

      Click this button to clear all the contents of the Communication Log.

      Analyze Section

      Click this button to open a new figure window that plots the data currently selected in the Communication Log. You can select only one row of data, and the selected data must be numeric.

      Unlike Write and Read, this operation is not captured in the MATLAB Code Log pane.

      Click this button to launch the Signal Analyzer app and send it the data currently selected in the Communication Log. You can select only one row of data, and the selected data must be a numeric vector.

      You must have Signal Processing Toolbox™ installed to use the Signal Analyzer app.

      Export Section

      Edit the name of the workspace variable that you want to export data to. The Export Selected Row and Export Communication Log options in the Export drop-down menu save your data in the workspace as the variable specified in this field.

      You must specify a valid MATLAB variable name that does not already exist in the workspace. If you specify an invalid name, it is automatically changed to a valid variable name.

      Click this button to select one of the following options for exporting data from this app:

      • Export Selected Row — Save the data currently selected in the Communication Log to the workspace as the variable specified by Workspace Variable.

      • Export Communication Log — Save all of the Communication Log data to the workspace as a timetable with the variable name specified by Workspace Variable.

      • Generate MATLAB Script — Generate a MATLAB live script populated with the content in MATLAB Code Log and open it in the Live Editor.

      Version History

      Introduced in R2022b