« Close

Datasheets and User Guides

App Notes

Software & Driver


14.1.1 Thermocouple

Overview - T7 Only

This feature is only supported on the T7.

AIN#_EF_INDEX values:

20: Thermocouple type E
Thermocouple type J
Thermocouple type K
Thermocouple type R
Thermocouple type T 
Thermocouple type S
Thermocouple type C

The AIN extended features system can automatically perform the necessary calculations for the thermocouple types listed above. 

Thermocouple modes read an analog input connected to a thermocouple and a second specified AIN connected to a Cold-Junction Compensation (CJC) sensor. The CJC slope and offset are used to compute the CJC temperature and then the thermocouple temperature is calculated. The on-board temperature sensor is the default CJC channel.

For more information, see the Thermocouples Application Note and the Thermocouples with the T7 App Note.


The thermocouple feature will use the normal analog input settings for negative channel, resolution-index, and settling.

Differential thermocouple readings have the advantage of mitigating bad ground loops and ground offset problems. See the Thermocouples App Note for more information.

If the range of the applicable channel (AIN#_RANGE) is set to the default ±10 volts, the thermocouple feature will automatically use the ±0.1 volt range. Otherwise, the specified range will be used.

CJC calculations are always done in degrees K, regardless of whether CONFIG_A is used to change the output units.  CONFIG_D and CONFIG_E should be used as needed to scale the CJC sensor reading to degrees K.

Configuration Registers:

AIN#_EF_CONFIG_A: Options - A bitmask containing additional options

Bits 0 and 1 change the units of the output:

    • Bit 0 = 1: Report READ_A and READ_C in ºC
    • Bit 1 = 1: Report READ_A and READ_C in ºF

The default (bit 0 and bit 1 both = 0) gives READ_A and READ_C as degrees Kelvin.

AIN#_EF_CONFIG_B: CJC Modbus address - The Modbus address that will be read to acquire the CJC reading

The default is TEMPERATURE_DEVICE_K (address 60052).

AIN#_EF_CONFIG_D: CJC Slope - A slope to be applied to the CJC reading

This value is always in units of °K/volt, regardless of CONFIG_A, so for the internal sensor it will nominally be 1.00 and for an LM34 it will be 55.56.  Default is 1.0.

AIN#_EF_CONFIG_E: CJC Offset - An offset to be applied to the CJC reading

This value is always in units of °K, regardless of CONFIG_A, so for the internal sensor it will nominally be 0.0 and for an LM34 it will be 255.37.  Default is 0.0.

Result Registers:

  • AIN#_EF_READ_A: Final calculated temperature.
  • AIN#_EF_READ_B: Measured thermocouple voltage.
  • AIN#_EF_READ_C: CJC temperature.
  • AIN#_EF_READ_D: Thermocouple voltage calculated for CJC temperature.


Assume a type K thermocouple is connected to AIN3/GND.  First write some values to configure:

AIN3_EF_INDEX = 22       // feature index for type K thermocouple
AIN3_EF_CONFIG_B = 60052 // Set the CJC source (the address for device
                         // temperature sensor). 60052 is TEMPERATURE_DEVICE_K
AIN3_EF_CONFIG_D = 1.0   // slope for CJC reading
AIN3_EF_CONFIG_E = 0.0   // offset for CJC reading

Now, each read of AIN3_EF_READ_A will trigger a new measurement and return the temperature of the remote end of the thermocouple.  If the remote end is at room temperature, it will read as approximately 298 degrees K.


ravism7's picture

I am using T7-PRO to read K-type Thermocouples. I set it up in differential mode and to use internal sensor for CJC.

But I am getting an error of 2 degC at room temperature and 4 degC at 45 degC. I am giving the error numbers here by comparing Labjack readings to dedicated thermocouple loggers (2 different brands). Since the other 2 brands are giving same readings, I don't think there is anything wrong with my setup (like wire lengths etc).

LabJack Support's picture

I suggest you start with a single thermocouple connected and acquired single-ended.  Connect to AIN0/GND right on the T7-Pro itself.  No other connections to the T7-Pro (except power/comm of course).  Does this have the same error?  If so, start by looking at whether the error is in the t/c voltage reading or the cold junction temperature reading.  See items #1 and #2 under "Wrong temperature" in the troubleshooting tips here: