How Do I Use Built-In Cold Junction Compensation (CJC) When Creating Virtual Channels?

Updated May 4, 2023



  • SCXI (Legacy)
  • Terminal Block


  • Measurement & Automation Explorer (MAX)

I am using a terminal block (or SCXI module) with built-in Cold Junction Compensation (CJC). However, when I am creating my virtual channels in Measurement & Automation Explorer, I am not given the option to use it.

Once the system has been installed and configured in Measurement & Automation Explorer (MAX), the virtual channel can be created.

Configure setup:
  • Select the appropriate thermocouple type as your sensor.
  • CJC Source
    • Built-in - Uses internal thermistor for compensation
      • If the Built-in option is not available, you may be using an older version of NI-DAQmx. Please update to a later version of NI-DAQmx driver. 
    • Constant - User Supplied CJC Temperature
    • Channel - Select a channel that receives the information used for compensation

Additional Information

To use the built-in CJC measurement option, you first must be using a terminal block or SCXI module that supports this functionality. Many of the SCXI and other terminal blocks include CJC sensors that are addressed using a special channel string.

The following terminal blocks use an IC sensor for CJC: AMUX-64T, SCXI-1300, SCXI-1320, SCXI-1321, and SC-207X series.
The following terminal blocks use a thermistor for CJC: SCXI-1303, SCXI-1322, SCXI 1327, and SCXI-1328. Refer to the user manual for your terminal block for more information on it's CJC sensor.

If upgrading to the newest version of NI-DAQmx is not an option, it is possible to read the CJC temperature from your SCXI module and use that value as the User supplied CJC temperature. Please refer to How to Use Cold Junction Compensation (CJC) with SCXI Module. This method is especially useful if you are using an older DAQ board that is not supported by the latest version of NI-DAQmx driver.