Autonics TK Series Modbus register map
Panel-mount PID temperature controllers with heating and cooling outputs and an optional RS-485 port. The communication manual lists the coil, discrete input, input register and holding register map for the TK series over Modbus RTU.
- Protocol
- Modbus RTU (RS-485)
- Defaults
- Factory settings listed in the map: communication address 01, 9600 bps, parity none, 2 stop bits, response waiting time 20 ms. Broadcast commands are not supported.
- Addresses in the manual
- Modicon style numbers (for example 40001 is holding register 0)
- 32 and 64-bit values
- Not stated in the manual
- Registers listed
- 85
- Checked against
- Autonics TK Series communication manual, document code MCT-TKC1-V01.7-1701EN
Address base. Each table prints a Modicon-style number with the hex wire address in brackets, for example holding 400001 (0000H) and input register 301001 (03E8H). The worked read examples on pp. 11-14 confirm the frame carries the bracketed value, so wire address equals the printed number minus 400001 for holding registers, minus 300001 for input registers, minus 100001 for discrete inputs and minus 1 for coils. For example 1 in the manual (Control output run or stop) is address 0 on the wire.
Word order. Every value in the map is a single 16-bit register, so word order does not apply. Decimal place count for temperature values is given by the decimal point location register 301002, and several settings are shown in the manual with an implied decimal point.
Modbus Poll and the Modbus protocol itself count from 0. The "Wire address" column is the number to type into Modbus Poll.
Downloads
The register table has every column on this page. The blocks file imports into Modbus Poll. The template JSON holds the same blocks plus unit, scale and access for scripts.
Registers
| Manual | Wire | Register | Type | Regs | Unit | Scale | Access | Area |
|---|---|---|---|---|---|---|---|---|
| 1 | 0 | Control output run or stopRunStop · 0 run, 1 stop. |
bool | 1 | 1 | RW | Coil (FC01) | |
| 2 | 1 | Auto-tuning run or stopAutoTuneRun · 0 off, 1 on. |
bool | 1 | 1 | RW | Coil (FC01) | |
| 100001 | 0 | Degrees C indicatorIndC · 1 means on. |
bool | 1 | 1 | R | Discrete (FC02) | |
| 100002 | 1 | Degrees F indicatorIndF · 1 means on. |
bool | 1 | 1 | R | Discrete (FC02) | |
| 100003 | 2 | Percent indicatorIndPercent · 1 means on. |
bool | 1 | 1 | R | Discrete (FC02) | |
| 100004 | 3 | Control output 1 indicatorOut1Indicator · 1 means on. |
bool | 1 | 1 | R | Discrete (FC02) | |
| 100005 | 4 | Control output 2 indicatorOut2Indicator · 1 means on. |
bool | 1 | 1 | R | Discrete (FC02) | |
| 100006 | 5 | Auto-tuning indicatorAtIndicator · 1 means on. |
bool | 1 | 1 | R | Discrete (FC02) | |
| 100007 | 6 | Multi SV 1 indicatorSv1Indicator · 1 means on. |
bool | 1 | 1 | R | Discrete (FC02) | |
| 100008 | 7 | Multi SV 2 indicatorSv2Indicator · 1 means on. |
bool | 1 | 1 | R | Discrete (FC02) | |
| 100009 | 8 | Multi SV 3 indicatorSv3Indicator · 1 means on. |
bool | 1 | 1 | R | Discrete (FC02) | |
| 100010 | 9 | Alarm output 1 indicatorAl1Indicator · 1 means on. |
bool | 1 | 1 | R | Discrete (FC02) | |
| 100011 | 10 | Alarm output 2 indicatorAl2Indicator · 1 means on. |
bool | 1 | 1 | R | Discrete (FC02) | |
| 100012 | 11 | Manual control indicatorManIndicator · 1 means on. |
bool | 1 | 1 | R | Discrete (FC02) | |
| 100013 | 12 | Digital input 1 stateDi1Input · 1 means on. |
bool | 1 | 1 | R | Discrete (FC02) | |
| 100014 | 13 | Digital input 2 stateDi2Input · 1 means on. |
bool | 1 | 1 | R | Discrete (FC02) | |
| 300103 | 102 | Hardware versionHardwareVersion |
uint16 | 1 | 1 | R | Input (FC04) | |
| 300104 | 103 | Software versionSoftwareVersion |
uint16 | 1 | 1 | R | Input (FC04) | |
| 300105 | 104 | Model name textModelName · Ten registers holding the model name pieces (product name, display rows, option output, power type, output types). |
string | 10 | 1 | R | Input (FC04) | |
| 301001 | 1000 | Present valuePV · Range -1999 to 9999. Decimal places are given by register 301002. |
int16 | 1 | 1 | R | Input (FC04) | |
| 301002 | 1001 | Decimal point locationDecimalPointLocation · 0 no decimal, 1 one decimal place, 2 two, 3 three. |
uint16 | 1 | 1 | R | Input (FC04) | |
| 301003 | 1002 | Indicator unitIndicatorUnit · 0 degC, 1 degF, 2 and 3 other unit displays listed in the manual. |
uint16 | 1 | 1 | R | Input (FC04) | |
| 301004 | 1003 | SV setting value (read-only copy)SvSettingValue · Within the L-SV to H-SV limits. |
int16 | 1 | 1 | R | Input (FC04) | |
| 301005 | 1004 | Heating side MVHeatingMv · Raw range 0 to 1000. |
uint16 | 1 | % | 0.1 | R | Input (FC04) |
| 301006 | 1005 | Cooling side MVCoolingMv · Raw range 0 to 1000. |
uint16 | 1 | % | 0.1 | R | Input (FC04) |
| 301007 | 1006 | Indicator and digital input status bitsIndicatorStatus · Bit 0 degC, 1 degF, 2 percent, 3 OUT1, 4 OUT2, 5 AT, 6 SV1, 7 SV2, 8 SV3, 9 AL1, 10 AL2, 11 MAN, 12 DI-1, 13 DI-2. |
bitfield16 | 1 | 1 | R | Input (FC04) | |
| 301008 | 1007 | Heater current value monitorHeaterCurrentMonitor · Listed range 0.0 to 50.0. Scale is inferred from that range. |
uint16 | 1 | A | 0.1 | R | Input (FC04) |
| 400001 | 0 | SV set valueSv · Within the L-SV to H-SV limits. Decimal places follow the decimal point setting. |
int16 | 1 | 1 | RW | Holding (FC03) | |
| 400002 | 1 | Heating MVHeatingMvSet · Raw range 0 to 1000. |
uint16 | 1 | % | 0.1 | RW | Holding (FC03) |
| 400003 | 2 | Cooling MVCoolingMvSet · Raw range 0 to 1000. |
uint16 | 1 | % | 0.1 | RW | Holding (FC03) |
| 400004 | 3 | Auto or manual controlAutoManual · 0 auto, 1 manual. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400051 | 50 | Control output run or stop parameterRunStopParam · 0 run, 1 stop. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400052 | 51 | Multi SV numberMultiSvNumber · 0 to 3 selects SV-0 to SV-3. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400053 | 52 | Heater current monitoringHeaterCurrentParam · Raw range 0 to 500. The manual lists this under a read/write group although it is a monitoring item. |
uint16 | 1 | A | 0.1 | RW | Holding (FC03) |
| 400054 | 53 | Alarm output 1 low-limit set valueAl1Low |
int16 | 1 | 1 | RW | Holding (FC03) | |
| 400055 | 54 | Alarm output 1 high-limit set valueAl1High |
int16 | 1 | 1 | RW | Holding (FC03) | |
| 400056 | 55 | Alarm output 2 low-limit set valueAl2Low |
int16 | 1 | 1 | RW | Holding (FC03) | |
| 400057 | 56 | Alarm output 2 high-limit set valueAl2High |
int16 | 1 | 1 | RW | Holding (FC03) | |
| 400058 | 57 | Set value SV-0Sv0 · Within the L-SV to H-SV limits. |
int16 | 1 | 1 | RW | Holding (FC03) | |
| 400059 | 58 | Set value SV-1Sv1 · Within the L-SV to H-SV limits. |
int16 | 1 | 1 | RW | Holding (FC03) | |
| 400060 | 59 | Set value SV-2Sv2 · Within the L-SV to H-SV limits. |
int16 | 1 | 1 | RW | Holding (FC03) | |
| 400061 | 60 | Set value SV-3Sv3 · Within the L-SV to H-SV limits. |
int16 | 1 | 1 | RW | Holding (FC03) | |
| 400062 | 61 | Alarm output 3 low-limit set valueAl3Low |
int16 | 1 | 1 | RW | Holding (FC03) | |
| 400063 | 62 | Alarm output 3 high-limit set valueAl3High |
int16 | 1 | 1 | RW | Holding (FC03) | |
| 400101 | 100 | Auto-tuning run or stopAutoTuning · 0 off, 1 on. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400102 | 101 | Heating proportional bandHeatingProportionalBand · Raw range 1 to 9999; decimal placement depends on input type. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400103 | 102 | Cooling proportional bandCoolingProportionalBand · Raw range 1 to 9999. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400104 | 103 | Heating integral timeHeatingIntegralTime · Range 0 to 9999. |
uint16 | 1 | s | 1 | RW | Holding (FC03) |
| 400105 | 104 | Cooling integral timeCoolingIntegralTime · Range 0 to 9999. |
uint16 | 1 | s | 1 | RW | Holding (FC03) |
| 400106 | 105 | Heating derivative timeHeatingDerivativeTime · Range 0 to 9999. |
uint16 | 1 | s | 1 | RW | Holding (FC03) |
| 400107 | 106 | Cooling derivative timeCoolingDerivativeTime · Range 0 to 9999. |
uint16 | 1 | s | 1 | RW | Holding (FC03) |
| 400108 | 107 | Dead or overlap bandDeadOverlapBand |
int16 | 1 | 1 | RW | Holding (FC03) | |
| 400110 | 109 | Heating hysteresisHeatingHysteresis |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400114 | 113 | MV low-limit set valueMvLowLimit · Printed with one decimal place. The heating and cooling control range starts below zero, so the value is signed. |
int16 | 1 | % | 0.1 | RW | Holding (FC03) |
| 400115 | 114 | MV high-limit set valueMvHighLimit · Raw range up to 1000, printed as up to 100.0 %. |
uint16 | 1 | % | 0.1 | RW | Holding (FC03) |
| 400118 | 117 | Ramp time unitRampTimeUnit · 0 seconds, 1 minutes, 2 hours. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400151 | 150 | Input typeInputType · Code for the sensor or analog input; the manual refers to the input specification order. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400152 | 151 | Sensor temperature unitSensorTempUnit · 0 degC, 1 degF. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400155 | 154 | Scaling decimal pointScalingDecimalPoint · 0 to 3 decimal places. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400158 | 157 | Display unitDisplayUnit · 0 degC, 1 degF, 2 and 3 other displays listed in the manual. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400159 | 158 | Input correctionInputCorrection |
int16 | 1 | 1 | RW | Holding (FC03) | |
| 400160 | 159 | Input digital filterInputDigitalFilter · Raw range 1 to 1200, which the manual prints as 0.1 to 120.0 s. |
uint16 | 1 | s | 0.1 | RW | Holding (FC03) |
| 400161 | 160 | SV low-limit set valueLowSvLimit |
int16 | 1 | 1 | RW | Holding (FC03) | |
| 400162 | 161 | SV high-limit set valueHighSvLimit |
int16 | 1 | 1 | RW | Holding (FC03) | |
| 400163 | 162 | Control output operation modeControlOutputMode · Standard type: 0 heat, 1 cool. Heating and cooling type: 0 heat, 1 cool, 2 heat-cool. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400164 | 163 | Control typeControlType · Standard control: 0 PID, 1 ONOF. Heating and cooling control: codes pP (0), Pon (1), OnP (2), OnON (3) as printed. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400165 | 164 | Auto-tuning modeAutoTuningMode · 0 TUN1, 1 TUN2. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400166 | 165 | OUT1 control output selectionOut1Selection · 0 SSR, 1 current. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400171 | 170 | Heating control timeHeatingControlTime |
uint16 | 1 | s | 1 | RW | Holding (FC03) |
| 400172 | 171 | Cooling control timeCoolingControlTime |
uint16 | 1 | s | 1 | RW | Holding (FC03) |
| 400201 | 200 | Alarm output 1 operation modeAl1Mode · 0 is off; codes 1 to 9 are listed in the manual and include LBA (7), SBA (8) and HBA (9). |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400203 | 202 | Alarm output 1 hysteresisAl1Hysteresis |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400204 | 203 | Alarm output 1 normally open or closedAl1NoNc · 0 N.O., 1 N.C. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400205 | 204 | Alarm output 1 ON delayAl1OnDelay · Range 0 to 3600. |
uint16 | 1 | s | 1 | RW | Holding (FC03) |
| 400206 | 205 | Alarm output 1 OFF delayAl1OffDelay · Range 0 to 3600. |
uint16 | 1 | s | 1 | RW | Holding (FC03) |
| 400207 | 206 | Alarm output 2 operation modeAl2Mode · Same code list as alarm 1 mode. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400219 | 218 | Communication addressCommAddress · 1 to 99. Factory default 01. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400220 | 219 | Communication speedCommSpeed · 0 is 2400 bps, 1 is 4800, 2 is 9600, 3 is 19200, 4 is 38400 (values shown in units of 100 bps). Factory default 9600. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400221 | 220 | Communication parityCommParity · 0 none, 1 even, 2 odd. Factory default none. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400222 | 221 | Communication stop bitsCommStopBits · 0 is 1 bit, 1 is 2 bits. Factory default 2 bits. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400223 | 222 | Communication response waiting timeCommResponseWait · Range 5 to 99. Factory default 20 ms. |
uint16 | 1 | ms | 1 | RW | Holding (FC03) |
| 400224 | 223 | Communication write enableCommWrite · 0 enabled, 1 disabled. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400253 | 252 | DI-1 terminal functionDi1Function · 0 off, 1 stop, 2 alarm reset, 3 manual, 4 multi SV. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400254 | 253 | DI-2 terminal functionDi2Function · Same list as DI-1. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 400268 | 267 | Password settingPassword · 0000 is off, 0002 to 9999 sets a password, 0001 is a read-only password. |
uint16 | 1 | 1 | RW | Holding (FC03) |
Scale is the number to multiply the raw value by to get the unit. Types with more than one register (32 and 64-bit) follow the word order above.
Open in Modbus Poll
- Download the Modbus Poll blocks file.
- Open Modbus Poll, connect to the device and set its unit ID. The manual does not state the word order for 32-bit values. Check one known value (a voltage or a counter) and switch the setting if it reads wrong.
- In the blocks panel on the right, click Import CSV and pick the file. CSV import is a Pro feature. Without Pro, Modbus Poll polls the first 20 values of your blocks.
- The wire addresses are already in the file, so there is no 0-based or 1-based conversion to do.
Once the values look right, export the tag list to Ignition, Kepware, Node-RED, Home Assistant or Voltrus SCADA.
Source and accuracy
Manufacturer document: User Manual for Communication, TK Series (www.instrumart.com)
Autonics TK Series communication manual, document code MCT-TKC1-V01.7-1701EN, p. 11-27. Read on 2026-10-24.
Also used: Autonics TK series manuals (www.autonics.com)
Addresses, types, units and scale are taken from the document above. Names and descriptions are written by Voltrus. Firmware versions can differ, so confirm a value on your own device before you rely on it.
Found a mistake? Report it by email with the register address and the manual page.