Main Content

Getting Started with NI Devices

This example shows how to get started with National Instruments™ devices from the command line.

Discover Available Devices

Discover devices connected to your system using daqlist. To learn more about an individual device, access the entry in the device table.

d = daqlist;
d(1, :)
ans =

  1×5 table

    VendorID     DeviceID               Description                Model               DeviceInfo          
    ________    ___________    ______________________________    _________    _____________________________

      "ni"      "cDAQ1Mod1"    "National Instruments NI 9205"    "NI 9205"    [1×1 daq.ni.CompactDAQModule]

d{1, "DeviceInfo"}
ans = 

ni: National Instruments NI 9205 (Device ID: 'cDAQ1Mod1')
   Analog input supports:
      4 ranges supported
      Rates from 0.6 to 250000.0 scans/sec
      32 channels ('ai0' - 'ai31')
      'Voltage' measurement type
   
This module is in slot 1 of the 'cDAQ-9178' chassis with the name 'cDAQ1'.


Create a DataAcquisition

The daq command creates a DataAcquisition object. The DataAcquisition contains information describing hardware, scan rate, and other properties associated with the acquisition.

dq = daq("ni")
dq = 

DataAcquisition using National Instruments hardware:

                     Running: 0
                        Rate: 1000
           NumScansAvailable: 0
            NumScansAcquired: 0
              NumScansQueued: 0
    NumScansOutputByHardware: 0
                   RateLimit: []

Show channels
Show properties and methods

Add an Analog Input Channel

The addinput command attaches an input channel to the DataAcquisition.

ch = addinput(dq,"cDAQ1Mod1", "ai0","Voltage")
ch = 

    Index    Type      Device       Channel    Measurement Type          Range                Name      
    _____    ____    ___________    _______    ________________    __________________    _______________

      1      "ai"    "cDAQ1Mod1"     "ai0"     "Voltage (Diff)"    "-10 to +10 Volts"    "cDAQ1Mod1_ai0"

Acquire Timestamped Data

The read command starts the acquisition and returns the results as a timetable.

data = read(dq, seconds(1));

Plot Data

plot(data.Time, data.cDAQ1Mod1_ai0);
ylabel("Voltage (V)");

Change Default Properties of the Acquisition

By default, run at a scan rate of 1000 scans per second. To acquire at a higher rate, change the Rate property.

dq.Rate = 5000;

Run the acquisition and plot the acquired data:

[data, startTime] = read(dq, seconds(2));
plot(data.Time, data.cDAQ1Mod1_ai0);
ylabel("Voltage (V)");