Main Content

Read Voltage Through NI-DMM MATLAB Instrument Driver in Simulation Mode

This example shows how to read voltage from a National Instruments® NI-DMM driver in the simulation mode.

Requirements

This example requires a Microsoft® Windows® system and NI-DMM package 3.06 or higher. Make sure the Measurement & Automation Explorer recognizes the NI-DMM device before you use this example.

Verify NI-DMM Installation

Use the instrhwinfo command to check if the NI-DMM software package is installed correctly. If installed correctly, NI-DMM is listed as one of the modules installed on the Windows machine. This example uses libraries installed with it.

driversInfo = instrhwinfo ('ivi');
disp(driversInfo.Modules');
    {'nidcpower'       }
    {'nidmm'           }
    {'niFgen'          }
    {'nisACPwr'        }
    {'niScope'         }
    {'nisCounter'      }
    {'nisDCPwr'        }
    {'nisDigitizer'    }
    {'nisDmm'          }
    {'nisDownconverter'}
    {'nisFGen'         }
    {'nisPwrMeter'     }
    {'nisRFSigGen'     }
    {'nisScope'        }
    {'nisSpecAn'       }
    {'nisSwtch'        }
    {'nisUpconverter'  }
    {'niSwitch'        }

Create a MATLAB Instrument Object

Use the icdevice function to create an instrument object from the MDD that was part of the NI-DMM support package, and establish a connection to the DMM using that object.

The icdevice function takes two or more input arguments: the MDD file name, the resource name for the DMM, and optional device-specific parameters.

You can get the resource name for the DMM from NI Measurement and Automation Explorer. For example: A resource name of PXI1Slot6 in NI MAX would be DAQ::PXI1Slot6 and Device 1 would be DAQ::Dev1. You can remove the optionstring argument and the corresponding string parameter if you have the actual hardware.

You can establish a connection to the DMM using the connect command.

ictObj = icdevice('nidmm.mdd', 'DAQ::Dev1', 'optionstring','simulate=true');
connect(ictObj);
disp(ictObj);
   Instrument Device Object Using Driver : niDMM
 
   Instrument Information
      Type:               IVIInstrument
      Manufacturer:       National Instruments Corp.
      Model:              National Instruments Digital Multimeters
 
   Driver Information
      DriverType:         MATLAB IVI
      DriverName:         niDMM
      DriverVersion:      1.0
 
   Communication State
      Status:             open

Configure the DMM

For the purpose of this example, the DMM is configured as

* Measurement Function: DC Voltage
* Range: 10V
* Resolution: 5.5 Digits

Use the MATLAB Instrument Driver Editor midedit to view other properties and functions that allow you to configure a device. The tool shows all the properties and functions that the NI-DMM software package supports.

The Measurement Function value for DC Voltage is 1. Measurement Function will have different values for other measurement types such as AC Voltage, DC Current, etc.

measurementFunction = 1;
range = 10;
resolution = 5.5;

configuration = get(ictObj, 'configuration');
invoke(configuration, 'configuremeasurementdigits', measurementFunction, range, resolution);

Read and Display the Voltage

Once you configure the DMM with the required settings, use an appropriate function call to read the voltage.

% Configure DMM to calculate the timeout automatically
AutoTimeLimit = -1;

acquisition = get(ictObj, 'acquisition');
volts =  invoke(acquisition, 'read', AutoTimeLimit);

voltageDisplay = sprintf('Voltage : %d v', volts);
disp(voltageDisplay);
Voltage : 5 v

Clear the Connection

When you are finished working with the instrument, disconnect from and delete the MATLAB Instrument Object.

disconnect(ictObj);
delete(ictObj);
clear ictObj;