Acquire Data and Generate Signals Simultaneously
This example shows how to acquire data with an NI™ 9205 device of ID cDAQ1Mod1
, while generating signals
from an NI 9263 device with ID cDAQ1Mod2
.
You can acquire data and generate signals at the same time, on devices on the same chassis. When the DataAcquisition contains output channels, the duration of a finite generation and acquisition depends on the number of scans and the scan rate.
Create an NI DataAcquisition object and add one analog input channel on
cDAQ1Mod1
and one analog output channel on
cDAQ1Mod2
:
d = daq("ni"); addinput(d,"cDAQ1Mod1","ai0","Voltage"); addoutput(d,"cDAQ1Mod2","ao0","Voltage"); d.Channels
ans = Index Type Device Channel Measurement Type Range Name _____ ____ ___________ _______ _____________________ __________________ _______________ 1 "ai" "cDAQ1Mod1" "ai0" "Voltage (SingleEnd)" "-10 to +10 Volts" "cDAQ1Mod1_ai0" 1 "ao" "cDAQ1Mod2" "ao0" "Voltage (SingleEnd)" "-10 to +10 Volts" "cDAQ1Mod2_ao0"
Define the output signal data for 2500 scans:
outData = linspace(-1,10,2500)';
The generated output signal of 2500 scans will run for 2.5 seconds at a scan rate of 1000 samples per second.
Generate the output signal and acquire the input data:
inData = readwrite(d,outData,"OutputFormat","Matrix"); plot(inData)