В этом примере показано, как получить данные из нескольких каналов, и из нескольких устройств на том же шасси. В этом примере вы получаете данные о напряжении из устройства NI 9201 с ID cDAQ1Mod4
и устройство NI 9205 с ID cDAQ1Mod1
.
Создайте объект DataAcquisition и добавьте два канала напряжения аналогового входа для cDAQ1Mod1
с идентификаторами канала 0 и 1:
d = daq("ni"); addinput(d,"cDAQ1Mod1",0:1,"Voltage")
ch = Index Type Device Channel Measurement Type Range Name _____ ____ ___________ _______ ________________ __________________ _______________ 1 "ai" "cDAQ1Mod1" "ai0" "Voltage (Diff)" "-10 to +10 Volts" "cDAQ1Mod1_ai0" 2 "ai" "cDAQ1Mod1" "ai1" "Voltage (Diff)" "-10 to +10 Volts" "cDAQ1Mod1_ai1"
Добавьте дополнительный канал для отдельного устройства, cDAQ1Mod6
с ID канала 0. Для устройств NI используйте любого терминальное имя, как ai0
, или числовой эквивалент как 0
. Затем просмотрите все каналы на DataAcquisition.
ch = addinput(d,"cDAQ1Mod6","ai0","Voltage"); d.Channels
Index Type Device Channel Measurement Type Range Name _____ ____ ___________ _______ ________________ __________________ _______________ 1 "ai" "cDAQ1Mod1" "ai0" "Voltage (Diff)" "-10 to +10 Volts" "cDAQ1Mod1_ai0" 2 "ai" "cDAQ1Mod1" "ai1" "Voltage (Diff)" "-10 to +10 Volts" "cDAQ1Mod1_ai1" 3 "ai" "cDAQ1Mod6" "ai0" "Voltage (Diff)" "-10 to +10 Volts" "cDAQ1Mod6_ai0"
Получите одну секунду данных и сохраните его в переменной data
, и затем постройте его:
data = read(d,seconds(1),"OutputFormat","Matrix"); plot(data)
Измените свойства канала ai0
на cDAQ1Mod6
и отобразите ch
:
ch.TerminalConfig ="SingleEnded"; ch.Name = "Velocity sensor"; ch
ch = Index Type Device Channel Measurement Type Range Name _____ ____ ___________ _______ ____________________ __________________ _________________ 1 "ai" "cDAQ1Mod6" "ai0" "Voltage (SingleEnd)" "-10 to +10 Volts" "Velocity sensor"
Получите данные и сохраните их в переменной, data
, и постройте его:
data = read(d,seconds(1),"OutputFormat","Matrix"); plot(data)