14.1.1 Thermocouple (T7/T8) [T-Series Datasheet]
Overview - T7/T8
This feature is only supported on the T7 and T8.
AIN#_EF_INDEX values:
20: Thermocouple type E
21: Thermocouple type J
22: Thermocouple type K
23: Thermocouple type R
24: Thermocouple type T
25: Thermocouple type S
27: Thermocouple type N
28: Thermocouple type B
30: Thermocouple type C
This Thermocouple Extended Feature automatically performs calculations for the thermocouple types listed above.
Thermocouple AIN-EF indices read two analog inputs—one AIN connected to a thermocouple and a second AIN connected to a Cold-Junction Compensation (CJC) sensor.
For more information, see the Thermocouples Application Note and the Thermocouples with the T7 App Note / Thermocouples with the T8 App Note.
Configuration
To configure, write to the following registers.
AIN#_EF_CONFIG_A - Options: Select temperature units for AIN#_EF_READ_A and AIN#_EF_READ_C:
0 = K
1 = °C
2 = °F
AIN#_EF_CONFIG_B - CJC Modbus address: The Modbus address of the second AIN channel that will be read to acquire the CJC reading
The default is the on-board temperature sensor (TEMPERATURE_DEVICE_K, at address 60052). Note: The Modbus address for AIN are always 2*AIN#. For example, AIN2 is at address 4.
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 AIN#_EF_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 AIN#_EF_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.
Remarks
The normal analog input settings are used for negative channel, resolution index, settling, and range.
Differential thermocouple readings have the advantage of mitigating bad ground loops and ground offset problems. See the Thermocouples App Note for more information.
The ±0.1 volt range is automatically used if the range of the applicable channel (AIN#_RANGE) is set to the default ±10 volts. Otherwise, the specified range will be used.
The thermocouple calculations require that the CJC temperature be provided in Kelvin, regardless of whether AIN#_EF_CONFIG_A is used to change the output units. The internal temperature sensors, TEMPERATURE_DEVICE_K, will return Kelvin. When applying a slope and offset to measurements from the internal sensor, the result must be in units of Kelvin. When using an external analog sensor the measurement will be in volts. The slope and offset must be used to convert that voltage reading to Kelvin.
Results
Results are read from the following registers. Only reading AIN#_EF_READ_A triggers a new measurement.
AIN#_EF_READ_A: Final calculated temperature of the remote end of the thermocouple. -9999 will be returned when the measured thermocouple voltage is outside of the valid thermocouple voltage range. This commonly occurs when the analog input is floating.
AIN#_EF_READ_B: Measured thermocouple voltage.
AIN#_EF_READ_C: CJC temperature.
AIN#_EF_READ_D: Thermocouple voltage calculated for CJC temperature.
Example
Assume a type K thermocouple is connected to AIN3/GND. To configure:
AIN3_EF_INDEX = 22 // feature index for type K thermocouple
AIN3_EF_CONFIG_B = 60052 // TEMPERATURE_DEVICE_K for CJC address
AIN3_EF_CONFIG_D = 1.0 // slope for CJC reading
AIN3_EF_CONFIG_E = 0.0 // offset for CJC reading
Read AIN3_EF_READ_A to get the calculated temperature. If the remote end is at room temperature, it will read as approximately 298 kelvin.
For a more detailed walkthrough, see Configuring & Reading a Thermocouple.