P1-04THM

Thermocouple Temperature and Voltage Input

This function returns the temperature reported by the channel as a floating point value.

float temperature = P1.readTemperature(1, 2); // Reads slot 1 channel 2 of the P1-04THM
temperature = base[1][2].value # Read slot 1 channel 2 of the P1-04THM

Configuration Tool

Module Configuration and Status Tables

We recommend using the status functions and configuration tool. These tables are provided as additional reference.

Module Status Data

Bytes (MSB) 7 6 5 4 3 2 1 0 (LSB) Description
Byte 0 x x x x x x x x bits 0-7 are undefined
Byte 1 x x x x x x x x bits 0-7 are undefined
Byte 2 x x x x x x x x bits 0-7 are undefined
Byte 3 x x x x x 2 x 0 bit 2 - Module not ready
bit 1 is undefined
bit 0 - Module diagnostics failure
Byte 4 x x x x x x x x bits 0-7 are undefined
Byte 5 x x x x 3 2 1 0 bit 3 - Burnout error on channel 4
bit 2 - Burnout error on channel 3
bit 1 - Burnout error on channel 2
bit 0 - Burnout error on channel 1
Byte 6 x x x x x x x x bits 0-7 are undefined
Byte 7 x x x x 3 2 1 0 bit 3 - Under range error on channel 4
bit 2 - Under range error on channel 3
bit 1 - Under range error on channel 2
bit 0 - Under range error on channel 1
Byte 8 x x x x x x x x bits 0-7 are undefined
Byte 9 x x x x x x x x bits 0-7 are undefined
Byte 10 x x x x x x x x bits 0-7 are undefined
Byte 11 x x x x 3 2 1 0 bit 3 - Over range error on channel 4
bit 2 - Over range error on channel 3
bit 1 - Over range error on channel 2
bit 0 - Over range error on channel 1

Module Configuration Data

Default values are in bold.

Offset Description Allowable Values Value Description
Bytes 00-01 Channel enable 0x4000 Enable channel 1
0x4001 Enable channels 1 and 2
0x4002 Enable channels 1-3
0x4003 Enable channels 1-4
Bytes 02-03 Burnout and Units 0x6001 Low side Burnout (min scale)/Temp in degrees C
0x6003 High side Burnout (max scale)/Temp in degrees C
0x6005 Low side Burnout (min scale)/Temp in degrees F
0x6007 High side Burnout (max scale)/Temp in degrees F
Bytes 04-05 Channel 1 Range 0x210r
r = 0 J
r = 1 K
r = 2 E
r = 3 R
r = 4 S
r = 5 T
r = 6 B
r = 7 N
r = 8 C
r = 9 0-39mV
r = A +/-39mV
r = B +/-78mV
r = C 0-156mV
r = D +/-156mV
r = E 0-1.25V
Bytes 06-07 Channel 2 Range 0x220r See CH1
Bytes 08-09 Channel 3 Range 0x230r See CH1
Bytes 10-11 Channel 4 Range 0x240r See CH1
Bytes 12-13 Reserved 0x0000 Reserved
Bytes 14-15 Reserved 0x0000 Reserved
Bytes 16-17 Reserved 0x0000 Reserved
Bytes 18-19 Reserved 0x0000 Reserved

Channels: 4
Thermocouples Types: J, E, K, R, S, T, B, N, and C.
Voltage Ranges: 0-39.0625 mVDC, ±39.0625 mVDC, ±78.125 mVDC, 0-156.25 mVDC, ±156.25 mVDC, 0-1250 mVDC.
Resolution: Temperature: ±0.1 °C or °F Voltage: 16 bit (Formatted as a float)
Examples:
Arduino
CircuitPython

Additional Resources:
Data Sheet
P1-04THM on AutomationDirect.com