Этот пример показывает, как получить температурные данные из Резистивного температурного устройства (RTD) и отобразить показания. Устройство присоединяется в Корпусе компьютера, чтобы контролировать внутренние изменения температуры.
Чтобы обнаружить устройство, которое поддерживает RTDs, кликните по имени устройства в списке в Командном окне или получите доступ к устройству в массиве, возвращенном командой daq.getDevices
. Этот пример использует модуль NI 9219 в Национальном Instruments® CompactDAQ Chassis NI cDAQ-9178. Это - 24-битный Универсальный модуль Аналогового входа и является модулем 7 в нашем шасси.
devices = daq.getDevices devices(7)
devices = Data acquisition devices: index Vendor Device ID Description ----- ------ --------- -------------------------------- 1 ni cDAQ1Mod1 National Instruments NI 9205 2 ni cDAQ1Mod2 National Instruments NI 9263 3 ni cDAQ1Mod3 National Instruments NI 9234 4 ni cDAQ1Mod4 National Instruments NI 9201 5 ni cDAQ1Mod5 National Instruments NI 9402 6 ni cDAQ1Mod6 National Instruments NI 9213 7 ni cDAQ1Mod7 National Instruments NI 9219 8 ni cDAQ1Mod8 National Instruments NI 9265 9 ni Dev1 National Instruments PCIe-6363 10 ni Dev2 National Instruments NI ELVIS II ans = ni: National Instruments NI 9219 (Device ID: 'cDAQ1Mod7') Analog input subsystem supports: 9 ranges supported Rates from 0.1 to 100.0 scans/sec 4 channels ('ai0','ai1','ai2','ai3') 'Voltage','Current','Thermocouple','RTD','Bridge' measurement types This module is in slot 7 of the 'cDAQ-9178' chassis with the name 'cDAQ1'.
Создайте сеанс и добавьте канал аналогового входа с типом измерения RTD
.
s = daq.createSession('ni'); addAnalogInputChannel(s,'cDAQ1Mod7',3, 'RTD');
Warning: The Rate property was reduced to 100 due to changes in the session configuration.
Обратитесь к таблице данных датчика и совпадайте со значениями соответственно. В этом примере используется датчик серии SA1-RTD от Omega®.
Установите следующие значения:
Температурные модули к 'Fahrenheit'
.
RTD вводят к 'Pt3851'
.
Сконфигурируйте схему RTD как 'FourWire'
.
Установите сопротивление 100 Омам.
s.Channels.Units = 'Fahrenheit'; s.Channels.RTDType = 'Pt3851'; s.Channels.RTDConfiguration = 'FourWire'; s.Channels.R0 = 100;
Установите сеанс получать 30 сканирований в секунду.
Установите ADCTimingMode
на 'HighSpeed'
.
По умолчанию режим ADCTimingMode
синхронизации ADC канала установлен в 'HighResolution'
. Контакт с приобретением высокого разрешения требует более длительного времени вычислений; модуль NI 9219 ограничивает уровень сбора данных максимумом 2. В порядке увеличить уровень ADCTimingMode
установлен в 'HighSpeed'
s.Channels.ADCTimingMode = 'HighSpeed';
s.Rate = 30;
Используйте команду startForeground
, чтобы запустить приобретение.
[data,time] = s.startForeground(); plot(time, data) xlabel('Time (secs)'); ylabel('Temperature (Fahrenheit)');