How Do I Use C, D, G Type Thermocouples with DAQmx?

Updated Jul 25, 2022

Reported In


  • Measurement & Automation Explorer (MAX)


  • NI-DAQmx

Issue Details

The NI DAQmx driver does not support type C, D, G, and L thermocouple measurements. How can I measure the temperature using these thermocouples?


NI DAQmx only supports types of thermoucouples measurements supported by the NIST standard.

A possible workaround is:

  1. Take an analog voltage measurement from the thermocouple.
  2. Convert the voltage to the correct temperature value​
    • Set up a custom Map Ranges scale in MAX using the linked table below, and apply it to the analog input voltage task
    • Apply a reverse temperature polynomial using a Code Interface Node (the polynomial coefficients are thermocouple type specific)
In order to include cold-junction compensation (CJC) it is necessary to measure the CJC temperature and convert it to a voltage for correction of the measured thermocouple voltage.

The attached Zip file contains VIs that perform the conversions for C, D, G and L thermocouple measurements, as well as the 8 other supported types. Inputs to the "Convert Thermocouple Reading III" VI include:
  • Thermocouple Voltage (Volts)
  • Thermocouple Type
  • CJC Temperature
  • Temperature Units
The output of this VI is the corrected temperature. More details on the modifications are available in the zipped README. These VIs can easily be extended to include D and G type thermocouples.