Use IVI-C Class-Compliant Drivers
The IVI-C class-compliant MATLAB® drivers provide an interface to MATLAB for instruments running on IVI-C class-compliant drivers. For a list of supported IVI-C class-compliant drivers, see Supported IVI Drivers.
This example uses a specific instrument, a Keysight® MSO6104A oscilloscope. This feature works with any IVI-C class-compliant instrument. You can follow the basic steps, using your particular instrument if the device is IVI-C class-compliant.
To use the driver you must have the following software installed.
Instrument Control Toolbox™ Support Package for National Instruments™ VISA and ICP Interfaces
Your instrument driver
Instrument Control Toolbox Support Package for IVI® and VXIplug&play Drivers
Read Waveforms Using the IVI-C Class-Compliant Interface
This example shows the general workflow to use with an IVI-C class-compliant device. This example uses a Keysight MSO6104A oscilloscope. This feature works with any IVI-C class-compliant instrument. You can follow the basic steps using your particular instrument if it is IVI-C class-compliant.
Ensure all necessary software is installed. See Prerequisites for the list.
Ensure that your instrument is recognized by the VISA utility. In this case, open Keysight Connectivity Expert and make sure it recognizes the oscilloscope.
Set up the logical name using the Configuration Store. The VISA resource string shown in this code was acquired from the VISA utility in step 2.
% Construct a configStore. configStore = iviconfigurationstore; % Set up the hardware asset called myScopeHWAsset, and resource description TCPIP0::a-m6104a-004598::INSTR. add(configStore, 'HardwareAsset', 'myScopeHWAsset', 'TCPIP0::a-m6104a-004598::INSTR'); % Add a driver session called myScopeSession, and use the asset created in the step above. Ag546XX is the Agilent driver version. add(configStore, 'DriverSession', 'myScopeSession', 'Ag546XX', 'myScopeHWAsset'); % Add a logical name to the configStore called myScope and driver session called myScopeSession. add(configStore, 'LogicalName', 'myScope', 'myScopeSession'); % Save the changes to the IVI configuration store data file. commit(configStore);
For more information about the configuration store, see IVI Configuration Store.
Connect to the instrument.
dev = ividev("IviScope","myScope","IDQuery",true,"ResetDevice",true);
Communicate with the instrument. For example, read a waveform.
% Reset the instrument to a known state and automatically configure the measurement parameters. reset(dev) autoSetup(dev); % Create a record length variable. recordLength = actualRecordLength(dev) % Read a waveform with channel name set to channel1 and timeout to 1000. waveformArray = readWaveform(dev,"Channel1",recordLength,1000) % Plot the waveform and assign labels for the plot. plot(waveformArray); xlabel("Samples"); ylabel("Voltage");
After configuring the instrument and retrieving its data, close the session and remove it from the workspace.