Main Content

Troubleshooting IVI and Quick-Control Interfaces

The IVI standard defines an open driver architecture, a set of instrument classes, and shared software components. With IVI you can use instruments interchangeability into multiple systems using standardized code.

You can use the Quick-Control Oscilloscope for any oscilloscope that uses an underlying IVI-C driver. You can use the Quick-Control Function Generator for any function generator that uses an underlying IVI-C driver. You can use the Quick-Control RF Signal Generator for any RF signal generator that uses an underlying IVI-C driver.

Supported Platforms

IVI is supported on these platforms:

  • Microsoft® Windows® 64-bit

The Quick-Control interfaces are supported on these platforms:

  • Microsoft Windows 64-bit

Adaptor Requirements

IVI-C

Instrument Control Toolbox™ software supports IVI-C drivers, with class-compliant and instrument-specific functionality.

IVI® class-compliant drivers support common functionality across a family of related instruments. Use class-compliant drivers to access the basic functionality of an instrument, and the ability to swap instruments without changing the code in your application. With an IVI instrument-specific driver or interface, you can access the unique functionality of the instrument. The instrument-specific driver generally does not accommodate instrument substitution.

For IVI-C drivers, you can use IVI-C class drivers and IVI-C specific drivers. Device objects you construct to call IVI-C class drivers offer interchangeability between similar instruments, and work with all instruments consistent with that class driver. Device objects you construct to call IVI-C specific drivers directly generally offer less interchangeability, but provide access to the unique methods and properties of a specific instrument.

Other things to note:

  • IVI-COM is no longer supported, because of the removal of 32-bit MATLAB®.

  • Using an IVI driver with icdevice requires generating a MATLAB instrument driver (MDD) with makemid or using a prebuilt MDD driver.

  • The IVI Foundation maintains a registry of drivers sortable by instrument model and driver type. See IVI Foundation — Registered Drivers.

Before you use IVI drivers in MATLAB, install:

  • VISA

  • IVI Shared components

  • Required IVI drivers

IVI-C Wrappers

The IVI-C wrappers provide an interface to MATLAB for instruments running on IVI-C class-compliant drivers.

To use the wrapper you must have the following software installed.

  • Windows 64-bit

  • VISA shared components

  • VISA

  • National Instruments™ compliance package NICP 4.1 or higher

  • Your instrument driver

Quick-Control Oscilloscope

You can use the Quick-Control Oscilloscope for any oscilloscope that uses an underlying IVI-C driver. However, you do not have to directly deal with the underlying driver. You can also use it for Tektronix® oscilloscopes.

To use the Quick-Control Oscilloscope for an IVI-C scope, you must have the following software installed. Most components are installed by the Instrument Control Toolbox Support Package for National Instruments VISA and ICP Interfaces. To install the support package, see Install the National Instruments VISA and ICP Interfaces Support Package.

  • Windows 64-bit platforms

  • VISA shared components (installed by the support package)

  • VISA (installed by the support package)

    Note, the examples use Keysight® VISA, but you can use any version of VISA.

  • National Instruments IVI compliance package NICP 4.1 or later (installed by the support package)

  • Your instrument’s device-specific driver. If you do not already have it, go to your instrument vendor's website and download the IVI-C driver for your specific instrument.

By default, the driver used is Tektronix ('tektronix'). If your instrument is not supported by the default driver, specify a particular IVI-C Scope driver using the driver property on the oscilloscope object.

Note

As of release R2015a, most of these components are installed for you when you install the National Instruments VISA and ICP Interfaces Support Package. See Install the National Instruments VISA and ICP Interfaces Support Package.

Quick-Control Function Generator

You can use the Quick-Control Function Generator for any function generator that uses an underlying IVI-C driver. However, you do not have to directly deal with the underlying driver.

To use the Quick-Control Function Generator for an IVI-C fgen, ensure the following software is installed. Most components are installed by the Instrument Control Toolbox Support Package for National Instruments VISA and ICP Interfaces. To install the support package, see Install the National Instruments VISA and ICP Interfaces Support Package.

  • Windows 64-bit platforms

  • VISA shared components (installed by the support package)

  • VISA (installed by the support package)

    Note, the examples use Keysight VISA, but you can use any vendor’s implementation of VISA.

  • National Instruments IVI compliance package NICP 4.1 or later (installed by the support package)

  • Your instrument’s device-specific driver. If you do not already have it, go to your instrument vendor's website and download the IVI-C driver for your specific instrument.

By default, the driver used is 'Agilent332x0_SCPI'. If your instrument is not supported by the default driver, specify a particular IVI-C Function Generator driver using the driver property on the fgen object.

Note

As of release R2015a, most of these components are installed for you when you install the National Instruments VISA and ICP Interfaces Support Package. See Install the National Instruments VISA and ICP Interfaces Support Package.

Quick-Control RF Signal Generator

You can use the Quick-Control RF Signal Generator for any RF signal generator that uses an underlying IVI-C driver. However, you do not have to directly deal with the underlying driver.

To use the Quick-Control RF Signal Generator for an IVI-C RF signal generator, ensure the following software is installed. Most components are installed by the Instrument Control Toolbox Support Package for National Instruments VISA and ICP Interfaces, but you can also install them separately. To install the support package, see Install the National Instruments VISA and ICP Interfaces Support Package.

  • Windows 64-bit platforms

  • VISA shared components (installed by the support package)

  • VISA (installed by the support package)

    Note, the examples use Keysight VISA, but you can use any vendor’s implementation of VISA.

  • National Instruments IVI compliance package NICP 4.1 or later (installed by the support package)

  • The device-specific driver for your instrument. If you do not already have it, go to your instrument vendor's website and download the IVI-C driver for your specific instrument.

Note

As of release R2015a, most of these components are installed for you when you install the National Instruments VISA and ICP Interfaces Support Package. See Install the National Instruments VISA and ICP Interfaces Support Package.

Configuration and Connection

  1. Make sure that you have the correct instrument driver installed for your device. Refer to your device documentation and the vendor website.

  2. Make sure that your device is supported in Instrument Control Toolbox. See Is My Hardware Supported?.

  3. Make sure that Instrument Control Toolbox recognizes your device, by using the ividriverlist function to find information on installed drivers.

    driverList = ividriverlist
    driverList =
    
      15×4 table
    
                 VendorDriver          MATLABDriver            IVIClass                                                                                       SupportedModels                                                                              
              __________________    __________________    __________________    ___________________________________________________________________________________________________________________________________________________________________________
    
        1     "AgInfiniiVision"     "AgInfiniiVision"     "IVIScope"            {["C7302"    "C7302C"    "C7304"    "C7304C"    "C7312"    "C7312C"    "C7314"    "C7314C"    "C7322"    "C7322C"    "C7324"    "C7324C"    "C7332"    "C7332C"    …    ]}
        2     "IviACPwr"            "IviACPwr"            "IVIACPwr"            {[""                                                                                                                                                                     ]}
        3     "IviCounter"          "IviCounter"          "IVICounter"          {[""                                                                                                                                                                     ]}
        4     "IviDCPwr"            "IviDCPwr"            "IVIDCPwr"            {[""                                                                                                                                                                     ]}
        5     "IviDigitizer"        "IviDigitizer"        "IVIDigitizer"        {[""                                                                                                                                                                     ]}
        6     "IviDmm"              "IviDmm"              "IVIDmm"              {[""                                                                                                                                                                     ]}
        7     "IviDownconverter"    "IviDownconverter"    "IVIDownconverter"    {[""                                                                                                                                                                     ]}
        8     "IviFgen"             "IviFgen"             "IVIFgen"             {[""                                                                                                                                                                     ]}
        9     "IviPwrMeter"         "IviPwrMeter"         "IVIPwrMeter"         {[""                                                                                                                                                                     ]}
        10    "IviRfSigGen"         "IviRfSigGen"         "IVIRfSigGen"         {[""                                                                                                                                                                     ]}
        11    "IviScope"            "IviScope"            "IVIScope"            {[""                                                                                                                                                                     ]}
        12    "IviSpecAn"           "IviSpecAn"           "IVISpecAn"           {[""                                                                                                                                                                     ]}
        13    "IviSwtch"            "IviSwtch"            "IVISwtch"            {[""                                                                                                                                                                     ]}
        14    "IviUpconverter"      "IviUpconverter"      "IVIUpconverter"      {[""                                                                                                                                                                     ]}
        15    "tktds1k2k"           "tktds1k2k"           "IVIScope"            {["TB21042"    "TBS1022"    "TBS1032B"    "TBS1042"    "TBS1052B"    "TBS1052B-EDU"    "TBS1062"    "TBS1064"    "TBS1072B"    "TBS1072B-EDU"    "TBS1102"    …         ]}
    

    The VendorDriver and MATLABDriver columns identify each installed driver. The IVIClass and SupportedModels columns provide additional information about the driver.

    Use ividevlist to list all available IVI-C and VXIplug&play instruments, along with their resource names, on your computer.

    deviceList = ividevlist
    deviceList =
    
      1×5 table
    
               MATLABDriver                     ResourceName                    VendorDriver          Model       SerialNumber
             _________________    ________________________________________    _________________    ___________    ____________
    
        1    "AgInfiniiVision"    "TCPIP0::152.90.186.165::hislip0::INSTR"    "AgInfiniiVision"    "DSOX1204A"    "CN59206154"

    MATLABDriver and ResourceName identify each resource. The VendorDriver, Model, and SerialNumber columns provide additional information about the instrument or device.

  4. You can create an ividev object to communicate with your instrument. For instructions on creating an IVI object, constructing an IVI configuration store, and configuring communication using an IVI-C class compliant interface, see Read Waveforms Using the IVI-C Class-Compliant Interface.

  5. 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.