В этом примере показано, как получить данные из устройства NI 9205 с ID cDAQ1Mod1 и сгенерировать сигналы с помощью устройства NI 9263 с ID cDAQ1Mod2.
Можно получить данные и сгенерировать сигналы одновременно на устройствах на том же шасси. Когда сеанс содержит выходные каналы, длительность и количество сканирований становятся свойствами только для чтения сеанса. Количество сканирований на сеансе определяется объемом данных, поставленным в очередь, и длительность определяется .
Шаг 1. Создайте сеанс NI, возражают и добавляют один канал аналогового входа на cDAQ1Mod1 и один канал аналогового выхода на cDAQ1Mod2:
s = daq.createSession('ni'); addAnalogInputChannel(s,'cDAQ1Mod1', 'ai0', 'Voltage'); addAnalogOutputChannel(s,'cDAQ1Mod2', 'ao0', 'Voltage')
ans = Data acquisition session using National Instruments hardware: No data queued. Will run at 1000 scans/second. Number of channels: 2 index Type Device Channel MeasurementType Range Name ----- ---- --------- ------- ------------------- ---------------- ---- 1 ai cDAQ1Mod1 ai0 Voltage (Diff) -10 to +10 Volts 2 ao cDAQ1Mod2 ao0 Voltage (SingleEnd) -10 to +10 Volts
Поставьте выходные данные в очередь:
queueOutputData(s,linspace(-1, 10, 2500)');
Отобразите объект сеанса видеть изменение в длительности и количестве сканирований. Эти значения изменяются на основе поставленного в очередь объема данных.
s
s = Data acquisition session using National Instruments hardware: Will run for 2500 scans (2.5 seconds) at 1000 scans/second. All devices synchronized using cDAQ1 CompactDAQ chassis backplane. (Details) Number of channels: 2 index Type Device Channel MeasurementType Range Name ----- ---- --------- ------- --------------- ---------------- ---- 1 ai cDAQ1Mod1 ai0 Voltage (Diff) -10 to +10 Volts 2 ao cDAQ1Mod2 ao0 Voltage (Diff) -10 to +10 Volts
Получите хранилище данных это в переменной, acquiredData
:
acquiredData = startForeground(s); plot(acquiredData)