PortDock

Autonics TMH Series Modbus register map

RS485 Modbus RTU map of the TMH2/TMH4 control module. Covers coils (per-channel RUN/STOP, auto-tuning), input registers (per-channel PV, decimal point, unit, SV, MV) and CH1 holding registers (SV, PID, input, comm). · Temperature controller · TMH2-22□, TMH2-42□, TMH4-N2□

An unofficial summary of facts (addresses, types, units, scaling) from the maker's manual. Not affiliated with the maker; values can differ by firmware or model. Always check the device manual before writing (run commands, settings).

Default communication

ProtocolModbus RTU
Baud (factory)9600 bps — options: 4800, 9600, 19200, 38400, 115200
Data · parity · stop8 · None · 2
Manual address styleWire address as is (0-based)

Registers (61)

«Wire» is the 0-based address in the request frame (PortDock's «0-based» notation). Value = raw × scale. Table: HR holding register, IR input register, CO coil, DI discrete input. Function codes in hex.

ManualWireTableNameTypeUnit · scaleR/WFCDetails
000001(0000)0 (0x0000)COCH1 control output RUN/STOPBITR/W01·05·0F
0 = RUN · 1 = STOP
p.23 2.1.1
000002(0001)1 (0x0001)COCH2 control output RUN/STOPBITR/W01·05·0F
0 = RUN · 1 = STOP
p.23 2.1.1
000003(0002)2 (0x0002)COCH3 control output RUN/STOP (TMH4 only)BITR/W01·05·0F
0 = RUN · 1 = STOP
p.23 2.1.1
000004(0003)3 (0x0003)COCH4 control output RUN/STOP (TMH4 only)BITR/W01·05·0F
0 = RUN · 1 = STOP
p.23 2.1.1
000005(0004)4 (0x0004)COCH1 auto-tuning executeBITR/W01·05·0F
0 = OFF · 1 = ON
p.23 2.1.1
000006(0005)5 (0x0005)COCH2 auto-tuning executeBITR/W01·05·0F
0 = OFF · 1 = ON
p.23 2.1.1
000007(0006)6 (0x0006)COCH3 auto-tuning execute (TMH4 only)BITR/W01·05·0F
0 = OFF · 1 = ON
p.23 2.1.1
000008(0007)7 (0x0007)COCH4 auto-tuning execute (TMH4 only)BITR/W01·05·0F
0 = OFF · 1 = ON
p.23 2.1.1
301001(03E8)1000 (0x03E8)IRCH1 present value (PV)S16R04
Decimal point per the channel's dot register (301005-, 0: 0, 1: 0.0).
31000 = OPEN · 30000 = HHHH (high) · -30000 = LLLL (low)
p.28 2.1.3
301002(03E9)1001 (0x03E9)IRCH2 present value (PV)S16R04
Decimal point per the channel's dot register (301005-, 0: 0, 1: 0.0).
31000 = OPEN · 30000 = HHHH (high) · -30000 = LLLL (low)
p.28 2.1.3
301003(03EA)1002 (0x03EA)IRCH3 present value (PV) (TMH4 only)S16R04
Decimal point per the channel's dot register (301005-, 0: 0, 1: 0.0).
31000 = OPEN · 30000 = HHHH (high) · -30000 = LLLL (low)
p.28 2.1.3
301004(03EB)1003 (0x03EB)IRCH4 present value (PV) (TMH4 only)S16R04
Decimal point per the channel's dot register (301005-, 0: 0, 1: 0.0).
31000 = OPEN · 30000 = HHHH (high) · -30000 = LLLL (low)
p.28 2.1.3
301005(03EC)1004 (0x03EC)IRCH1 decimal pointU16R04
0 = 0 · 1 = 0.0
p.28 2.1.3
301006(03ED)1005 (0x03ED)IRCH2 decimal pointU16R04
0 = 0 · 1 = 0.0
p.28 2.1.3
301007(03EE)1006 (0x03EE)IRCH3 decimal point (TMH4 only)U16R04
0 = 0 · 1 = 0.0
p.28 2.1.3
301008(03EF)1007 (0x03EF)IRCH4 decimal point (TMH4 only)U16R04
0 = 0 · 1 = 0.0
p.28 2.1.3
301009(03F0)1008 (0x03F0)IRCH1 temperature unitU16R04
Temperature input: 0 °C, 1 °F / analog input: 0 OFF, 1 °C, 2 °F, 3 %
p.28 2.1.3
301010(03F1)1009 (0x03F1)IRCH2 temperature unitU16R04
Temperature input: 0 °C, 1 °F / analog input: 0 OFF, 1 °C, 2 °F, 3 %
p.28 2.1.3
301011(03F2)1010 (0x03F2)IRCH3 temperature unit (TMH4 only)U16R04
Temperature input: 0 °C, 1 °F / analog input: 0 OFF, 1 °C, 2 °F, 3 %
p.29 2.1.3
301012(03F3)1011 (0x03F3)IRCH4 temperature unit (TMH4 only)U16R04
Temperature input: 0 °C, 1 °F / analog input: 0 OFF, 1 °C, 2 °F, 3 %
p.29 2.1.3
301013(03F4)1012 (0x03F4)IRCH1 set value SV (read)S16R04
Decimal point per the channel's dot register (301005-, 0: 0, 1: 0.0).
p.29 2.1.3
301014(03F5)1013 (0x03F5)IRCH2 set value SV (read)S16R04
Decimal point per the channel's dot register (301005-, 0: 0, 1: 0.0).
p.29 2.1.3
301015(03F6)1014 (0x03F6)IRCH3 set value SV (read) (TMH4 only)S16R04
Decimal point per the channel's dot register (301005-, 0: 0, 1: 0.0).
p.29 2.1.3
301016(03F7)1015 (0x03F7)IRCH4 set value SV (read) (TMH4 only)S16R04
Decimal point per the channel's dot register (301005-, 0: 0, 1: 0.0).
p.29 2.1.3
301017(03F8)1016 (0x03F8)IRCH1 heating MVU16×0.1 %R04
Range 0 ~ 100 %
p.29 2.1.3
301018(03F9)1017 (0x03F9)IRCH2 heating MVU16×0.1 %R04
Range 0 ~ 100 %
p.29 2.1.3
301019(03FA)1018 (0x03FA)IRCH3 heating MV (TMH4 only)U16×0.1 %R04
Range 0 ~ 100 %
p.29 2.1.3
301020(03FB)1019 (0x03FB)IRCH4 heating MV (TMH4 only)U16×0.1 %R04
Range 0 ~ 100 %
p.29 2.1.3
301021(03FC)1020 (0x03FC)IRCH1 cooling MVU16×0.1 %R04
Range 0 ~ 100 %
p.29 2.1.3
300104(0067)103 (0x0067)IRSoftware versionU16R04
p.26 2.1.3
300126(007D)125 (0x007D)IRChannel quantityU16R04
2 = TMH2 · 4 = TMH4
p.26 2.1.3
400001(0000)0 (0x0000)HRCH1 set value (SV)S16R/W03·06·10
SV low limit to SV high limit. Decimal point per the channel's dot register (301005-, 0: 0, 1: 0.0).
p.34 2.1.4.1
400002(0001)1 (0x0001)HRCH1 heating MVU16×0.1 %R/W03·06·10
Range 0 ~ 100 %
p.34 2.1.4.1
400003(0002)2 (0x0002)HRCH1 cooling MVU16×0.1 %R/W03·06·10
Range 0 ~ 100 %
p.34 2.1.4.1
400004(0003)3 (0x0003)HRCH1 auto/manual controlU16R/W03·06·10
0 = AUTO · 1 = MANUAL
p.34 2.1.4.1
401001(03E8)1000 (0x03E8)HRCH2 set value (SV)S16R/W03·06·10
Decimal point per the channel's dot register (301005-, 0: 0, 1: 0.0).
p.34 2.1.4.1
402001(07D0)2000 (0x07D0)HRCH3 set value (SV) (TMH4 only)S16R/W03·06·10
Decimal point per the channel's dot register (301005-, 0: 0, 1: 0.0).
p.34 2.1.4.1
403001(0BB8)3000 (0x0BB8)HRCH4 set value (SV) (TMH4 only)S16R/W03·06·10
Decimal point per the channel's dot register (301005-, 0: 0, 1: 0.0).
p.34 2.1.4.1
400051(0032)50 (0x0032)HRCH1 control output RUN/STOPU16R/W03·06·10
0 = RUN · 1 = STOP
p.35 2.1.4.2
400052(0033)51 (0x0033)HRCH1 multi SV numberU16R/W03·06·10
0 = SV-0 · 1 = SV-1 · 2 = SV-2 · 3 = SV-3
p.35 2.1.4.2
400053(0034)52 (0x0034)HRCH1 SV-0 set valueS16R/W03·06·10
Decimal point per the channel's dot register (301005-, 0: 0, 1: 0.0).
p.35 2.1.4.2
400101(0064)100 (0x0064)HRCH1 auto-tuning executeU16R/W03·06·10
0 = OFF · 1 = ON
p.36 2.1.4.3
400102(0065)101 (0x0065)HRCH1 heating proportional bandU16×0.1R/W03·06·10
Raw 1-9999 = 0.1-999.9, unit °C/°F/%F.S.
Range 0.1 ~ 999.9
p.36 2.1.4.3
400103(0066)102 (0x0066)HRCH1 cooling proportional bandU16×0.1R/W03·06·10
Range 0.1 ~ 999.9
p.36 2.1.4.3
400104(0067)103 (0x0067)HRCH1 heating integral timeU16sR/W03·06·10
Range 0 ~ 9999 s
p.36 2.1.4.3
400105(0068)104 (0x0068)HRCH1 cooling integral timeU16sR/W03·06·10
Range 0 ~ 9999 s
p.36 2.1.4.3
400106(0069)105 (0x0069)HRCH1 heating derivative timeU16sR/W03·06·10
Range 0 ~ 9999 s
p.36 2.1.4.3
400107(006A)106 (0x006A)HRCH1 cooling derivative timeU16sR/W03·06·10
Range 0 ~ 9999 s
p.36 2.1.4.3
400109(006C)108 (0x006C)HRCH1 manual resetU16×0.1 %R/W03·06·10
Range 0 ~ 100 %
p.36 2.1.4.3
400151(0096)150 (0x0096)HRCH1 input typeU16R/W03·06·10
0 K(CA).H to 32 4-20 mA
Range 0 ~ 32
p.41 2.1.4.4
400152(0097)151 (0x0097)HRCH1 unitU16R/W03·06·10
0 = °C · 1 = °F
p.41 2.1.4.4
400155(009A)154 (0x009A)HRCH1 scale decimal pointU16R/W03·06·10
0 = 0 · 1 = 0.0 · 2 = 0.00 · 3 = 0.000
p.41 2.1.4.4
400156(009B)155 (0x009B)HRCH1 low-limit scale valueS16R/W03·06·10
Range -9999 ~ 9999
p.41 2.1.4.4
400157(009C)156 (0x009C)HRCH1 high-limit scale valueS16R/W03·06·10
Range -9999 ~ 9999
p.41 2.1.4.4
400161(00A0)160 (0x00A0)HRCH1 input biasS16R/W03·06·10
Temp.H/analog -999..999, Temp.L -9999..9999 (-999.9..999.9)
p.41 2.1.4.4
400401(0190)400 (0x0190)HRBit per secondU16R/W03·06·10
0 = 4800 bps · 1 = 9600 bps · 2 = 19200 bps · 3 = 38400 bps · 4 = 115200 bps
p.54 2.1.4.8
400402(0191)401 (0x0191)HRParity bitU16R/W03·06·10
0 = NONE · 1 = EVEN · 2 = ODD
p.54 2.1.4.8
400403(0192)402 (0x0192)HRStop bitU16R/W03·06·10
0 = 1 bit · 1 = 2 bits
p.54 2.1.4.8
400404(0193)403 (0x0193)HRResponse waiting timeU16msR/W03·06·10
Range 5 ~ 99 ms
p.54 2.1.4.8
400405(0194)404 (0x0194)HRCommunication writeU16R/W03·06·10
0 = ENABLE · 1 = DISABLE
p.54 2.1.4.8
400413(019C)412 (0x019C)HRCH1 alarm resetU16R/W03·06·10
0 = NO · 1 = YES
p.54 2.1.4.8

Notes

Read it with PortDock

  1. Install the free PortDock Modbus Master and connect with the device's settings.
  2. On the table toolbar, «Device profile…» → pick this device → «Load». Polling tables, names, types and the Slave ID are filled in (optionally the serial settings too).
  3. Names carry the unit and scale (e.g. «×0.01 Hz»). Values on screen are raw — multiply by the scale.
  4. To test your program without the device, PortDock Modbus Slave's «Emulate device…» serves the same map with example values.

Download JSON

Sources