Advantech ADAM-4168 Modbus register map
8-channel relay output module with pulse output, RS485 Modbus RTU
- Official
- 79 registers
- Modbus RTU
- Revision 2 · 2026-10-17
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 RTU
- Unit ID
- 1
- Serial
- 9600 8N1 · 9600 baud, 8 data bits, none parity, 1 stop bit
- Byte / word order
- ABCD · bytes big-endian, words high first
- Addresses
- 1-based · wire address = address − 1
Connection values are defaults: the device may be configured differently.
Map
- Registers
- 63 holding registers, 16 coils
- Groups
- 5
- Revision
- 2 · 2026-10-17
- Added
- ()
- File
- maps/advantech/adam-4168.mbmap.json · 12 KB · history
- SHA-256
- d5c57995fed9a90fa77ca954444a07fdffd33105fbcdda21a34d4d1d49d99a0f
- Manufacturer
- advantech.com
Sources and notes
- ADAM-4100 Series User's Manual · version Edition 1.3 Appendix B.4; type codes from table 4-1
Source: Advantech, "ADAM-4100 Series User's Manual", Edition 1.3, Appendix B.4 (I/O Modbus mapping table)
- Addresses are the Modicon numbers of the manual (00001 = coil 1, 10001 = discrete input 1, 40001 = holding register 1).
- The module ships with the ADAM ASCII protocol; the manual's appendix explains how to switch it to Modbus RTU.
- 32-bit values (pulse settings and delays) use two registers; the manual does not give their word order or the units of the delays.
- The manual leaves the module name values blank for this module.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| CO | 17 | bool | RW | ||||
| CO | 18 | bool | RW | ||||
| CO | 19 | bool | RW | ||||
| CO | 20 | bool | RW | ||||
| CO | 21 | bool | RW | ||||
| CO | 22 | bool | RW | ||||
| CO | 23 | bool | RW | ||||
| CO | 24 | bool | RW | ||||
| CO | 33 | bool | R | ||||
| CO | 34 | bool | R | ||||
| CO | 35 | bool | R | ||||
| CO | 36 | bool | R | ||||
| CO | 37 | bool | R | ||||
| CO | 38 | bool | R | ||||
| CO | 39 | bool | R | ||||
| CO | 40 | bool | R | ||||
| HR | 1 | uint32 ABCD | RW | ms | ×0.1 | ||
| HR | 3 | uint32 ABCD | RW | ms | ×0.1 | ||
| HR | 5 | uint32 ABCD | RW | ms | ×0.1 | ||
| HR | 7 | uint32 ABCD | RW | ms | ×0.1 | ||
| HR | 9 | uint32 ABCD | RW | ms | ×0.1 | ||
| HR | 11 | uint32 ABCD | RW | ms | ×0.1 | ||
| HR | 13 | uint32 ABCD | RW | ms | ×0.1 | ||
| HR | 15 | uint32 ABCD | RW | ms | ×0.1 | ||
| HR | 17 | uint32 ABCD | RW | ms | ×0.1 | ||
| HR | 19 | uint32 ABCD | RW | ms | ×0.1 | ||
| HR | 21 | uint32 ABCD | RW | ms | ×0.1 | ||
| HR | 23 | uint32 ABCD | RW | ms | ×0.1 | ||
| HR | 25 | uint32 ABCD | RW | ms | ×0.1 | ||
| HR | 27 | uint32 ABCD | RW | ms | ×0.1 | ||
| HR | 29 | uint32 ABCD | RW | ms | ×0.1 | ||
| HR | 31 | uint32 ABCD | RW | ms | ×0.1 | ||
| HR | 33 | uint32 ABCD | RW | 0 = continuous | |||
| HR | 35 | uint32 ABCD | RW | ||||
| HR | 37 | uint32 ABCD | RW | ||||
| HR | 39 | uint32 ABCD | RW | ||||
| HR | 41 | uint32 ABCD | RW | ||||
| HR | 43 | uint32 ABCD | RW | ||||
| HR | 45 | uint32 ABCD | RW | ||||
| HR | 47 | uint32 ABCD | RW | ||||
| HR | 49 | uint32 ABCD | RW | ||||
| HR | 51 | uint32 ABCD | RW | ||||
| HR | 53 | uint32 ABCD | RW | ||||
| HR | 55 | uint32 ABCD | RW | ||||
| HR | 57 | uint32 ABCD | RW | ||||
| HR | 59 | uint32 ABCD | RW | ||||
| HR | 61 | uint32 ABCD | RW | ||||
| HR | 63 | uint32 ABCD | RW | ||||
| HR | 65 | uint16 | RW | ||||
| HR | 66 | uint16 | RW | ||||
| HR | 67 | uint16 | RW | ||||
| HR | 68 | uint16 | RW | ||||
| HR | 69 | uint16 | RW | ||||
| HR | 70 | uint16 | RW | ||||
| HR | 71 | uint16 | RW | ||||
| HR | 72 | uint16 | RW | ||||
| HR | 73 | uint32 ABCD | RW | ||||
| HR | 75 | uint32 ABCD | RW | ||||
| HR | 77 | uint32 ABCD | RW | ||||
| HR | 79 | uint32 ABCD | RW | ||||
| HR | 81 | uint32 ABCD | RW | ||||
| HR | 83 | uint32 ABCD | RW | ||||
| HR | 85 | uint32 ABCD | RW | ||||
| HR | 87 | uint32 ABCD | RW | ||||
| HR | 89 | uint32 ABCD | RW | ||||
| HR | 91 | uint32 ABCD | RW | ||||
| HR | 93 | uint32 ABCD | RW | ||||
| HR | 95 | uint32 ABCD | RW | ||||
| HR | 97 | uint32 ABCD | RW | ||||
| HR | 99 | uint32 ABCD | RW | ||||
| HR | 101 | uint32 ABCD | RW | ||||
| HR | 103 | uint32 ABCD | RW | ||||
| HR | 211 | uint16 | R | ||||
| HR | 212 | uint16 | R | ||||
| HR | 213 | uint16 | R | ||||
| HR | 214 | uint16 | R | ||||
| HR | 215 | uint16 | R | ||||
| HR | 216 | uint16 | R | ||||
| HR | 303 | uint16 | RW | Bit n = relay n |
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).