Acquire Temperature Data from an RTD
This example shows how to acquire temperature data from a Resistive temperature device (RTD) and display the readings. The device is attached inside a PC case to monitor the internal temperature changes.
Discover Devices That Support RTDs
To discover a device that supports bridge sensor measurements, access the device in the table returned by the daqlist command. This example uses an NI 9219 module in National Instruments® CompactDAQ Chassis NI cDAQ-9178. This is a 24-Bit Universal Analog Input module and is module 7 in the chassis.
d = daqlist("ni")
d =
12×4 table
DeviceID Description Model DeviceInfo
___________ __________________________________ _____________ ____________________
"cDAQ1Mod1" "National Instruments NI 9205" "NI 9205" [1×1 daq.DeviceInfo]
"cDAQ1Mod2" "National Instruments NI 9263" "NI 9263" [1×1 daq.DeviceInfo]
"cDAQ1Mod3" "National Instruments NI 9234" "NI 9234" [1×1 daq.DeviceInfo]
"cDAQ1Mod4" "National Instruments NI 9201" "NI 9201" [1×1 daq.DeviceInfo]
"cDAQ1Mod5" "National Instruments NI 9402" "NI 9402" [1×1 daq.DeviceInfo]
"cDAQ1Mod6" "National Instruments NI 9213" "NI 9213" [1×1 daq.DeviceInfo]
"cDAQ1Mod7" "National Instruments NI 9219" "NI 9219" [1×1 daq.DeviceInfo]
"cDAQ1Mod8" "National Instruments NI 9265" "NI 9265" [1×1 daq.DeviceInfo]
"Dev1" "National Instruments PCIe-6363" "PCIe-6363" [1×1 daq.DeviceInfo]
"Dev2" "National Instruments NI ELVIS II" "NI ELVIS II" [1×1 daq.DeviceInfo]
"Dev3" "National Instruments PCIe-6363" "PCIe-6363" [1×1 daq.DeviceInfo]
"Dev4" "National Instruments PCIe-6363" "PCIe-6363" [1×1 daq.DeviceInfo]
deviceInfo = d{7, "DeviceInfo"}
deviceInfo =
ni: National Instruments NI 9219 (Device ID: 'cDAQ1Mod7')
Analog input 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'.
Add an RTD Channel
Create a DataAcquisition, and add an analog input channel with RTD measurement type.
dq = daq("ni"); dq.Rate = 30; ch = addinput(dq, "cDAQ1Mod7", "ai3", "RTD");
Set Sensor Properties
Refer to the sensor data sheet and match the values accordingly. In this example, an SA1-RTD series sensor from Omega® is used. Set units to "Fahrenheit", RTD type to "Pt3851", configure the RTD circuit as "FourWire", and set the resistance to 100 ohms.
ch.Units = "Fahrenheit"; ch.RTDType = "Pt3851"; ch.RTDConfiguration = "FourWire"; ch.R0 = 100;
Set ADCTimingMode
By default, the ADC timing mode ADCTimingMode of the channel is set to "HighResolution". Set the ADCTimingMode to "HighSpeed".
ch.ADCTimingMode = "HighSpeed";
Acquire and Plot Data
Use the read command to acquire data.
data = read(dq, seconds(1));
plot(data.Time, data.cDAQ1Mod7_ai3);
degreeSign = 176;
ylabel(sprintf("Temperature (%cF)", degreeSign));
