Thermocouple Input Task Scale Type Property in DAQmx

Updated Jan 4, 2019

Reported In

Hardware

  • Temperature Input Device
  • J-Type Thermocouple
  • T-Type Thermocouple
  • E-Type Thermocouple
  • K-Type Thermocouple

Driver

  • NI-DAQmx

Issue Details

I'm using a DAQmx analog input temperature thermocouple task and want to specify a temperature range less than or greater than what the task allows me to set.

Solution

  • The first solution is to change the Scale Type property of the DAQmx task from Polynomial to Table. Depending on the thermocouple type the task has set, this will expand the temperature range that can be set for the task.
 
  • If a range is needed that the above solution still cannot do, another way is to set the DAQmx task to AI Voltage, and then manually convert the voltage value to temperature with known thermocouple data, such as from the NIST ITS-90 Thermocouple Database, and manually account for the CJC value.

Additional Information

The scaling type of a thermocouple measurement is defined as either Polynomial or Table. The scaling type used in a thermocouple acquisition will determine the range of temperatures that can be accurately calculated from the measured raw voltage values.

For Polynomial, the measured voltage values are scaled using an Nth order polynomial equation. For most thermocouples, the equation for converting voltage to temperature is the following:
 

where t90 is the temperature in degrees Celsius, E is the voltage in millivolts, and Di is a coefficient determined by the thermocouple type and temperature range. The accuracy of a polynomial fit greatly reduces after a certain range, so the DAQmx Polynomial scaling type will only let you set a min and max temperature that is known to be accurate for a given thermocouple.

By setting the scaling type to Table, a wider temperature range can be measured for K, N, T, B, and E type thermocouples.