Cold Junction Compensation (CJC) on DAQ Hardware Without Built in CJC

Updated Apr 23, 2026

Environment

Hardware

  • CompactDAQ Chassis
  • Temperature Input Device

Software

  • Measurement & Automation Explorer (MAX)
  • LabVIEW

Driver

  • NI-DAQmx

I am measuring temperature using a thermocouple connected to NI DAQ hardware that does not have built‑in cold junction compensation (CJC). Because the device is not designed specifically for temperature measurements, I need to configure CJC manually using an external temperature sensor. I want to use a separate analog input channel as the CJC source instead of a built‑in CJC sensor, and I am unsure how to configure this.

NI‑DAQmx supports thermocouple measurements on devices without built‑in CJC sensors by using an external temperature sensor as the CJC source. This can be configured either in NI Measurement & Automation Explorer (NI MAX) or the LabVIEW Project.
 
Channels configured in NI Measurement & Automation Explorer (NI MAX) are system‑level and persist outside the application, which makes them easy to validate and reuse across multiple programs but harder to deploy and version‑control. Channels configured in the LabVIEW Project are application‑level, improving portability, source control, and deployment consistency, but they require the application to manage and validate the thermocouple and external CJC configuration at run time.

Configure a CJC Channel in NI MAX with NI-DAQmx Global Virtual Channels

  1. Open NI Measurement & Automation Explorer (NI MAX).
  2. In the Configuration Tree (left side) expand the Data Neighborhood section.
  3. Right-click on NI-DAQmx Global Virtual Channels and select Create New NI-DAQmx Channel... from the short-cut menu.
  4. In the Create New.. configuration wizard select Acquire Signals >> Analog Input >> Temperature.
  5. Select the correct sensor type that will be used for the CJC channel.
  6. When you select the sensor type the configuration wizard may advance to the next step.
    1. If the wizard does not advance, press the Next button.
  7. Select the physical channel the CJC sensor is connected to.
  8. Press the Next button and name the CJC channel (e.g. CJC Sensor).
  9. Press the Finish button.
  10. Run the task and verify the measurement results.

Global Channel CJC Sensor 

Configure a CJC Channel in the LabVIEW Project

  1. Open the LabVIEW Project.
  2. Right-click on the Target or Device that will access the DAQ hardware and select New>>NI-DAQmx Channel from the shortcut menu.
  3. Follow the instructions from step 4 onwards in the section: Configure the CJC Channel in NI MAX Using NI-DAQmx Global Virtual Channels
  4. When you exit the Create New...configuration wizard the NI-DAQmx Channel will be shown in the LabVIEW Project.
  5. Save the LabVIEW Project.

Using CJC Channels in LabVIEW

Once you have created the NI-DAQmx Channel you need to configure the NI-DAQmx Create Channel.vi to use it for Cold Junction Compensation (CJC). Two inputs will need to be configured, cjc channel and cjc source. With the NI-DAQmx Create Channel.vi is configured to measure thermocouples:

you will see the two inputs:

 

In the sample screenshot below constants have been created for the two inputs. The cjc source input is set to Channel and the cjc channel is set to the NI-DAQmx Channel created in the LabVIEW Project, or NI MAX: