В этом примере показано, как получать данные из нескольких каналов и из нескольких устройств на одном корпусе. В этом примере данные о напряжении поступают с устройства NI 9201 с идентификатором cDAQ1Mod4 и устройство NI 9205 с идентификатором 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 с идентификатором канала 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)