Advantech ADAM-6015 Modbus register map
Also covers ADAM-6015-DE
7-channel isolated RTD input module, Modbus TCP
- Official
- 136 registers
- Modbus TCP
- Revision 2 · 2026-10-17
- Identity: model
Official: Written from the manufacturer's documentation, but not tested on a device yet. Check the map against the manufacturer's documentation before you write to a live device. Tested it? Report a test.
Communication
- Protocol
- Modbus TCP
- Unit ID
- 1
- TCP port
- 502
- Byte / word order
- CDAB · bytes big-endian, words low first (word swap)
- Addresses
- 1-based · wire address = address − 1
Connection values are defaults: the device may be configured differently.
Map
- Registers
- 89 holding registers, 47 coils
- Groups
- 8
- Translation tables
- 1
- Revision
- 2 · 2026-10-17
- Added
- ()
- File
- maps/advantech/adam-6015.mbmap.json · 18 KB · history
- SHA-256
- f37651db9e7b9db35445c2983645246641652c1d62f69fa7dd63eb5854ad30db
- Manufacturer
- advantech.com
Device identity
What a tool can read to check that this map fits the connected device (SPEC.md section 4.7). Registers with a role are read like any other register.
| Role | Register | Address | Type | Values |
|---|---|---|---|---|
| Model | Module name 1 | holding 211 | uint16 | 0x6015 = ADAM-6015 |
Sources and notes
- ADAM-6000 Series User Manual · version Edition 9 Appendix B.2, ADAM-6015
Source: Advantech, "ADAM-6000 Series User Manual", Edition 9, Appendix B.2 (I/O Modbus mapping tables)
- Addresses are the Modicon numbers of the manual (00001 = coil 1, 40001 = holding register 1).
- 32-bit counters and pulse settings are low word first (the manual: counter = (40002) × 65536 + (40001)).
- The floats are in the module's engineering units; the manual does not give their word order (this map uses the counters' low word first).
- Some registers (floats, GCL, diagnostics) need the CE or D version of the module.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| CO | 101 | bool | RW | ||||
| CO | 102 | bool | RW | ||||
| CO | 103 | bool | RW | ||||
| CO | 104 | bool | RW | ||||
| CO | 105 | bool | RW | ||||
| CO | 106 | bool | RW | ||||
| CO | 107 | bool | RW | ||||
| CO | 109 | bool | RW | ||||
| CO | 111 | bool | RW | ||||
| CO | 112 | bool | RW | ||||
| CO | 113 | bool | RW | ||||
| CO | 114 | bool | RW | ||||
| CO | 115 | bool | RW | ||||
| CO | 116 | bool | RW | ||||
| CO | 117 | bool | RW | ||||
| CO | 119 | bool | RW | ||||
| CO | 121 | bool | R | ||||
| CO | 122 | bool | R | ||||
| CO | 123 | bool | R | ||||
| CO | 124 | bool | R | ||||
| CO | 125 | bool | R | ||||
| CO | 126 | bool | R | ||||
| CO | 127 | bool | R | ||||
| CO | 131 | bool | R | ||||
| CO | 132 | bool | R | ||||
| CO | 133 | bool | R | ||||
| CO | 134 | bool | R | ||||
| CO | 135 | bool | R | ||||
| CO | 136 | bool | R | ||||
| CO | 137 | bool | R | ||||
| CO | 139 | bool | R | ||||
| CO | 141 | bool | R | ||||
| CO | 142 | bool | R | ||||
| CO | 143 | bool | R | ||||
| CO | 144 | bool | R | ||||
| CO | 145 | bool | R | ||||
| CO | 146 | bool | R | ||||
| CO | 147 | bool | R | ||||
| CO | 149 | bool | R | ||||
| HR | 1 | uint16 | R | Raw value of the range set by the type code | |||
| HR | 2 | uint16 | R | ||||
| HR | 3 | uint16 | R | ||||
| HR | 4 | uint16 | R | ||||
| HR | 5 | uint16 | R | ||||
| HR | 6 | uint16 | R | ||||
| HR | 7 | uint16 | R | ||||
| HR | 9 | uint16 | R | ||||
| HR | 11 | uint16 | R | ||||
| HR | 12 | uint16 | R | ||||
| HR | 13 | uint16 | R | ||||
| HR | 14 | uint16 | R | ||||
| HR | 15 | uint16 | R | ||||
| HR | 16 | uint16 | R | ||||
| HR | 17 | uint16 | R | ||||
| HR | 19 | uint16 | R | ||||
| HR | 21 | uint16 | R | ||||
| HR | 22 | uint16 | R | ||||
| HR | 23 | uint16 | R | ||||
| HR | 24 | uint16 | R | ||||
| HR | 25 | uint16 | R | ||||
| HR | 26 | uint16 | R | ||||
| HR | 27 | uint16 | R | ||||
| HR | 29 | uint16 | R | ||||
| HR | 31 | float32 CDAB | R | CE/D version | |||
| HR | 33 | float32 CDAB | R | ||||
| HR | 35 | float32 CDAB | R | ||||
| HR | 37 | float32 CDAB | R | ||||
| HR | 39 | float32 CDAB | R | ||||
| HR | 41 | float32 CDAB | R | ||||
| HR | 43 | float32 CDAB | R | ||||
| HR | 47 | float32 CDAB | R | ||||
| HR | 51 | float32 CDAB | R | ||||
| HR | 53 | float32 CDAB | R | ||||
| HR | 55 | float32 CDAB | R | ||||
| HR | 57 | float32 CDAB | R | ||||
| HR | 59 | float32 CDAB | R | ||||
| HR | 61 | float32 CDAB | R | ||||
| HR | 63 | float32 CDAB | R | ||||
| HR | 67 | float32 CDAB | R | ||||
| HR | 71 | float32 CDAB | R | ||||
| HR | 73 | float32 CDAB | R | ||||
| HR | 75 | float32 CDAB | R | ||||
| HR | 77 | float32 CDAB | R | ||||
| HR | 79 | float32 CDAB | R | ||||
| HR | 81 | float32 CDAB | R | ||||
| HR | 83 | float32 CDAB | R | ||||
| HR | 87 | float32 CDAB | R | ||||
| HR | 101 | uint32 CDAB | R | Bit 3 open circuit/burn-out; 0 = normal | |||
| HR | 103 | uint32 CDAB | R | ||||
| HR | 105 | uint32 CDAB | R | ||||
| HR | 107 | uint32 CDAB | R | ||||
| HR | 109 | uint32 CDAB | R | ||||
| HR | 111 | uint32 CDAB | R | ||||
| HR | 113 | uint32 CDAB | R | ||||
| HR | 201 | uint16 | RW | ||||
| HR | 202 | uint16 | RW | ||||
| HR | 203 | uint16 | RW | ||||
| HR | 204 | uint16 | RW | ||||
| HR | 205 | uint16 | RW | ||||
| HR | 206 | uint16 | RW |
No registers match
Try part of the name, an address (decimal or 0x hex) or clear the filters.
Help improve this map
- I tested it on a deviceReport whether it worked, even if you did not write the map.
- Suggest a correctionEdit the file on GitHub; it opens a pull request.
- Report a problemA wrong address, type, scale or byte order.
- Read the formatWhat each key of the file means (SPEC.md).