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
| Protocol | Modbus RTU |
|---|---|
| Baud (factory) | 9600 bps — options: 4800, 9600, 19200, 38400, 115200 |
| Data · parity · stop | 8 · None · 2 |
| Manual address style | Wire address as is (0-based) |
- Comm spec from user manual 1.5.2 (p.33): TMH2/4 control module Modbus RTU, up to 32 units (01-32; 01-16 with TMHC), 9600 bps default, 8 data bits, parity none, 2 stop bits, response wait 20 ms. Address is set by switches SW1/SW2 (no factory unit listed).
- Manual writes «400001(0000)»: 1-based reference plus hex comm address; first entries are (0000), so the parenthesized value is the 0-based wire address (pp.23-55). Frame examples show layout only.
- Function codes: coils 01/05/15, discrete inputs 02, input registers 04, holding registers 03/06/16 (pp.23-55).
- Reboot after changing communication settings (user manual p.33).
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.
| Manual | Wire | Table | Name | Type | Unit · scale | R/W | FC | Details |
|---|---|---|---|---|---|---|---|---|
| 000001(0000) | 0 (0x0000) | CO | CH1 control output RUN/STOP | BIT | R/W | 01·05·0F | 0 = RUN · 1 = STOP p.23 2.1.1 | |
| 000002(0001) | 1 (0x0001) | CO | CH2 control output RUN/STOP | BIT | R/W | 01·05·0F | 0 = RUN · 1 = STOP p.23 2.1.1 | |
| 000003(0002) | 2 (0x0002) | CO | CH3 control output RUN/STOP (TMH4 only) | BIT | R/W | 01·05·0F | 0 = RUN · 1 = STOP p.23 2.1.1 | |
| 000004(0003) | 3 (0x0003) | CO | CH4 control output RUN/STOP (TMH4 only) | BIT | R/W | 01·05·0F | 0 = RUN · 1 = STOP p.23 2.1.1 | |
| 000005(0004) | 4 (0x0004) | CO | CH1 auto-tuning execute | BIT | R/W | 01·05·0F | 0 = OFF · 1 = ON p.23 2.1.1 | |
| 000006(0005) | 5 (0x0005) | CO | CH2 auto-tuning execute | BIT | R/W | 01·05·0F | 0 = OFF · 1 = ON p.23 2.1.1 | |
| 000007(0006) | 6 (0x0006) | CO | CH3 auto-tuning execute (TMH4 only) | BIT | R/W | 01·05·0F | 0 = OFF · 1 = ON p.23 2.1.1 | |
| 000008(0007) | 7 (0x0007) | CO | CH4 auto-tuning execute (TMH4 only) | BIT | R/W | 01·05·0F | 0 = OFF · 1 = ON p.23 2.1.1 | |
| 301001(03E8) | 1000 (0x03E8) | IR | CH1 present value (PV) | S16 | R | 04 | 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) | IR | CH2 present value (PV) | S16 | R | 04 | 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) | IR | CH3 present value (PV) (TMH4 only) | S16 | R | 04 | 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) | IR | CH4 present value (PV) (TMH4 only) | S16 | R | 04 | 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) | IR | CH1 decimal point | U16 | R | 04 | 0 = 0 · 1 = 0.0 p.28 2.1.3 | |
| 301006(03ED) | 1005 (0x03ED) | IR | CH2 decimal point | U16 | R | 04 | 0 = 0 · 1 = 0.0 p.28 2.1.3 | |
| 301007(03EE) | 1006 (0x03EE) | IR | CH3 decimal point (TMH4 only) | U16 | R | 04 | 0 = 0 · 1 = 0.0 p.28 2.1.3 | |
| 301008(03EF) | 1007 (0x03EF) | IR | CH4 decimal point (TMH4 only) | U16 | R | 04 | 0 = 0 · 1 = 0.0 p.28 2.1.3 | |
| 301009(03F0) | 1008 (0x03F0) | IR | CH1 temperature unit | U16 | R | 04 | Temperature input: 0 °C, 1 °F / analog input: 0 OFF, 1 °C, 2 °F, 3 % p.28 2.1.3 | |
| 301010(03F1) | 1009 (0x03F1) | IR | CH2 temperature unit | U16 | R | 04 | Temperature input: 0 °C, 1 °F / analog input: 0 OFF, 1 °C, 2 °F, 3 % p.28 2.1.3 | |
| 301011(03F2) | 1010 (0x03F2) | IR | CH3 temperature unit (TMH4 only) | U16 | R | 04 | Temperature input: 0 °C, 1 °F / analog input: 0 OFF, 1 °C, 2 °F, 3 % p.29 2.1.3 | |
| 301012(03F3) | 1011 (0x03F3) | IR | CH4 temperature unit (TMH4 only) | U16 | R | 04 | Temperature input: 0 °C, 1 °F / analog input: 0 OFF, 1 °C, 2 °F, 3 % p.29 2.1.3 | |
| 301013(03F4) | 1012 (0x03F4) | IR | CH1 set value SV (read) | S16 | R | 04 | Decimal point per the channel's dot register (301005-, 0: 0, 1: 0.0). p.29 2.1.3 | |
| 301014(03F5) | 1013 (0x03F5) | IR | CH2 set value SV (read) | S16 | R | 04 | Decimal point per the channel's dot register (301005-, 0: 0, 1: 0.0). p.29 2.1.3 | |
| 301015(03F6) | 1014 (0x03F6) | IR | CH3 set value SV (read) (TMH4 only) | S16 | R | 04 | Decimal point per the channel's dot register (301005-, 0: 0, 1: 0.0). p.29 2.1.3 | |
| 301016(03F7) | 1015 (0x03F7) | IR | CH4 set value SV (read) (TMH4 only) | S16 | R | 04 | Decimal point per the channel's dot register (301005-, 0: 0, 1: 0.0). p.29 2.1.3 | |
| 301017(03F8) | 1016 (0x03F8) | IR | CH1 heating MV | U16 | ×0.1 % | R | 04 | Range 0 ~ 100 % p.29 2.1.3 |
| 301018(03F9) | 1017 (0x03F9) | IR | CH2 heating MV | U16 | ×0.1 % | R | 04 | Range 0 ~ 100 % p.29 2.1.3 |
| 301019(03FA) | 1018 (0x03FA) | IR | CH3 heating MV (TMH4 only) | U16 | ×0.1 % | R | 04 | Range 0 ~ 100 % p.29 2.1.3 |
| 301020(03FB) | 1019 (0x03FB) | IR | CH4 heating MV (TMH4 only) | U16 | ×0.1 % | R | 04 | Range 0 ~ 100 % p.29 2.1.3 |
| 301021(03FC) | 1020 (0x03FC) | IR | CH1 cooling MV | U16 | ×0.1 % | R | 04 | Range 0 ~ 100 % p.29 2.1.3 |
| 300104(0067) | 103 (0x0067) | IR | Software version | U16 | R | 04 | p.26 2.1.3 | |
| 300126(007D) | 125 (0x007D) | IR | Channel quantity | U16 | R | 04 | 2 = TMH2 · 4 = TMH4 p.26 2.1.3 | |
| 400001(0000) | 0 (0x0000) | HR | CH1 set value (SV) | S16 | R/W | 03·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) | HR | CH1 heating MV | U16 | ×0.1 % | R/W | 03·06·10 | Range 0 ~ 100 % p.34 2.1.4.1 |
| 400003(0002) | 2 (0x0002) | HR | CH1 cooling MV | U16 | ×0.1 % | R/W | 03·06·10 | Range 0 ~ 100 % p.34 2.1.4.1 |
| 400004(0003) | 3 (0x0003) | HR | CH1 auto/manual control | U16 | R/W | 03·06·10 | 0 = AUTO · 1 = MANUAL p.34 2.1.4.1 | |
| 401001(03E8) | 1000 (0x03E8) | HR | CH2 set value (SV) | S16 | R/W | 03·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) | HR | CH3 set value (SV) (TMH4 only) | S16 | R/W | 03·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) | HR | CH4 set value (SV) (TMH4 only) | S16 | R/W | 03·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) | HR | CH1 control output RUN/STOP | U16 | R/W | 03·06·10 | 0 = RUN · 1 = STOP p.35 2.1.4.2 | |
| 400052(0033) | 51 (0x0033) | HR | CH1 multi SV number | U16 | R/W | 03·06·10 | 0 = SV-0 · 1 = SV-1 · 2 = SV-2 · 3 = SV-3 p.35 2.1.4.2 | |
| 400053(0034) | 52 (0x0034) | HR | CH1 SV-0 set value | S16 | R/W | 03·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) | HR | CH1 auto-tuning execute | U16 | R/W | 03·06·10 | 0 = OFF · 1 = ON p.36 2.1.4.3 | |
| 400102(0065) | 101 (0x0065) | HR | CH1 heating proportional band | U16 | ×0.1 | R/W | 03·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) | HR | CH1 cooling proportional band | U16 | ×0.1 | R/W | 03·06·10 | Range 0.1 ~ 999.9 p.36 2.1.4.3 |
| 400104(0067) | 103 (0x0067) | HR | CH1 heating integral time | U16 | s | R/W | 03·06·10 | Range 0 ~ 9999 s p.36 2.1.4.3 |
| 400105(0068) | 104 (0x0068) | HR | CH1 cooling integral time | U16 | s | R/W | 03·06·10 | Range 0 ~ 9999 s p.36 2.1.4.3 |
| 400106(0069) | 105 (0x0069) | HR | CH1 heating derivative time | U16 | s | R/W | 03·06·10 | Range 0 ~ 9999 s p.36 2.1.4.3 |
| 400107(006A) | 106 (0x006A) | HR | CH1 cooling derivative time | U16 | s | R/W | 03·06·10 | Range 0 ~ 9999 s p.36 2.1.4.3 |
| 400109(006C) | 108 (0x006C) | HR | CH1 manual reset | U16 | ×0.1 % | R/W | 03·06·10 | Range 0 ~ 100 % p.36 2.1.4.3 |
| 400151(0096) | 150 (0x0096) | HR | CH1 input type | U16 | R/W | 03·06·10 | 0 K(CA).H to 32 4-20 mA Range 0 ~ 32 p.41 2.1.4.4 | |
| 400152(0097) | 151 (0x0097) | HR | CH1 unit | U16 | R/W | 03·06·10 | 0 = °C · 1 = °F p.41 2.1.4.4 | |
| 400155(009A) | 154 (0x009A) | HR | CH1 scale decimal point | U16 | R/W | 03·06·10 | 0 = 0 · 1 = 0.0 · 2 = 0.00 · 3 = 0.000 p.41 2.1.4.4 | |
| 400156(009B) | 155 (0x009B) | HR | CH1 low-limit scale value | S16 | R/W | 03·06·10 | Range -9999 ~ 9999 p.41 2.1.4.4 | |
| 400157(009C) | 156 (0x009C) | HR | CH1 high-limit scale value | S16 | R/W | 03·06·10 | Range -9999 ~ 9999 p.41 2.1.4.4 | |
| 400161(00A0) | 160 (0x00A0) | HR | CH1 input bias | S16 | R/W | 03·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) | HR | Bit per second | U16 | R/W | 03·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) | HR | Parity bit | U16 | R/W | 03·06·10 | 0 = NONE · 1 = EVEN · 2 = ODD p.54 2.1.4.8 | |
| 400403(0192) | 402 (0x0192) | HR | Stop bit | U16 | R/W | 03·06·10 | 0 = 1 bit · 1 = 2 bits p.54 2.1.4.8 | |
| 400404(0193) | 403 (0x0193) | HR | Response waiting time | U16 | ms | R/W | 03·06·10 | Range 5 ~ 99 ms p.54 2.1.4.8 |
| 400405(0194) | 404 (0x0194) | HR | Communication write | U16 | R/W | 03·06·10 | 0 = ENABLE · 1 = DISABLE p.54 2.1.4.8 | |
| 400413(019C) | 412 (0x019C) | HR | CH1 alarm reset | U16 | R/W | 03·06·10 | 0 = NO · 1 = YES p.54 2.1.4.8 |
Notes
- The manual says TMH2 and TMH4 addresses differ, but the entries included here have the same address in both columns; TMH2 simply lacks CH3/CH4 ('-').
- Holding registers list CH1; CH2-CH4 follow at +1000 (03E8h), e.g. CH2 RUN/STOP 401051(041A), CH3 AT 402101(0834), CH2 common group 401401(0578) (pp.34-55).
- Option modules (TMHA, TMHE, TMHCT) and the TMHC communication module have separate maps (sections 2.2-2.6); only the control module is covered.
- □ = control output (R relay, S SSR, C current/SSR); screwless-terminal models add L (user manual p.20).
Read it with PortDock
- Install the free PortDock Modbus Master and connect with the device's settings.
- 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).
- Names carry the unit and scale (e.g. «×0.01 Hz»). Values on screen are raw — multiply by the scale.
- To test your program without the device, PortDock Modbus Slave's «Emulate device…» serves the same map with example values.
Download JSON
- autonics/tmh.json (GitHub raw) · copy on this site · history
- schema.json — format (JSON Schema). table, address (0-based), type and order match the PortDock CSV.
- License: CC BY 4.0 — please credit «PortDock device register maps» with a link. LICENSE
- Found a mistake? Please open a GitHub issue with the manual page.
Sources
- TMH Series Communication Manual MCT-TMHC-V3.5-EN — Autonics, MCT-TMHC-V3.5-EN (PDF created 2026-04-21) · pp.23-55 '2.1 TMH2/4 Series [Control module]' (printed page = PDF page) · checked 2026-10-22
- TMH Series User Manual MCT-TMHU-V3.6-EN — Autonics, MCT-TMHU-V3.6-EN (PDF created 2026-08-14) · p.20 ordering information, p.33 Communication Interface · checked 2026-10-22