Moxa ioLogik E1240 Modbus register map
Also covers ioLogik E1240-T
Remote Ethernet I/O with 8 analog inputs (voltage or current) and a two-port Ethernet switch
- Official
- 99 registers
- Modbus TCP
- Revision 2 · 2026-10-17
- Identity: firmware
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
- ABCD · bytes big-endian, words high first
- Addresses
- 0-based
Connection values are defaults: the device may be configured differently.
Map
- Registers
- 16 holding registers, 67 input registers, 16 coils
- Groups
- 3
- Revision
- 2 · 2026-10-17
- Added
- ()
- File
- maps/moxa/iologik-e1240.mbmap.json · 15 KB · history
- SHA-256
- d3e068c96821ab77b1ad7a2fbf43fa7195dd1ccca67fc0787e86e3f5d1b27e9a
- Manufacturer
- moxa.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 |
|---|---|---|---|---|
| Firmware | Firmware version major | input 5029 | uint16 bits 8–15 | |
| Firmware | Firmware version minor | input 5029 | uint16 bits 0–7 | |
| Firmware | Firmware version patch | input 5030 | uint16 bits 8–15 |
Sources and notes
- ioLogik E1200 Series User Manual · version 16.1, 2024-04 Appendix A, Modbus/TCP default address mappings
Source: Moxa, "ioLogik E1200 Series User Manual", version 16.1 (April 2024), Appendix A
- Default Modbus/TCP address map (Appendix A). The addresses can be changed in the web console under user-defined Modbus addressing; this map fits the defaults.
- 32-bit values are high word first.
- Scaled values are float32.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| IR | 0 | uint16 | R | ||||
| IR | 1 | uint16 | R | ||||
| IR | 2 | uint16 | R | ||||
| IR | 3 | uint16 | R | ||||
| IR | 4 | uint16 | R | ||||
| IR | 5 | uint16 | R | ||||
| IR | 6 | uint16 | R | ||||
| IR | 7 | uint16 | R | ||||
| IR | 8 | float32 ABCD | R | ||||
| IR | 10 | float32 ABCD | R | ||||
| IR | 12 | float32 ABCD | R | ||||
| IR | 14 | float32 ABCD | R | ||||
| IR | 16 | float32 ABCD | R | ||||
| IR | 18 | float32 ABCD | R | ||||
| IR | 20 | float32 ABCD | R | ||||
| IR | 22 | float32 ABCD | R | ||||
| IR | 24 | uint16 | R | ||||
| IR | 25 | uint16 | R | ||||
| IR | 26 | uint16 | R | ||||
| IR | 27 | uint16 | R | ||||
| IR | 28 | uint16 | R | ||||
| IR | 29 | uint16 | R | ||||
| IR | 30 | uint16 | R | ||||
| IR | 31 | uint16 | R | ||||
| IR | 32 | uint16 | R | ||||
| IR | 33 | uint16 | R | ||||
| IR | 34 | uint16 | R | ||||
| IR | 35 | uint16 | R | ||||
| IR | 36 | uint16 | R | ||||
| IR | 37 | uint16 | R | ||||
| IR | 38 | uint16 | R | ||||
| IR | 39 | uint16 | R | ||||
| IR | 109 | float32 ABCD | R | ||||
| IR | 111 | float32 ABCD | R | ||||
| IR | 113 | float32 ABCD | R | ||||
| IR | 115 | float32 ABCD | R | ||||
| IR | 117 | float32 ABCD | R | ||||
| IR | 119 | float32 ABCD | R | ||||
| IR | 121 | float32 ABCD | R | ||||
| IR | 123 | float32 ABCD | R | ||||
| IR | 125 | float32 ABCD | R | ||||
| IR | 127 | float32 ABCD | R | ||||
| IR | 129 | float32 ABCD | R | ||||
| IR | 131 | float32 ABCD | R | ||||
| IR | 133 | float32 ABCD | R | ||||
| IR | 135 | float32 ABCD | R | ||||
| IR | 137 | float32 ABCD | R | ||||
| IR | 139 | float32 ABCD | R | ||||
| IR | 60 | uint16 | R | ||||
| IR | 61 | uint16 | R | ||||
| IR | 62 | uint16 | R | ||||
| IR | 63 | uint16 | R | ||||
| IR | 64 | uint16 | R | ||||
| IR | 65 | uint16 | R | ||||
| IR | 66 | uint16 | R | ||||
| IR | 67 | uint16 | R | ||||
| HR | 24 | uint16 | RW | ||||
| HR | 25 | uint16 | RW | ||||
| HR | 26 | uint16 | RW | ||||
| HR | 27 | uint16 | RW | ||||
| HR | 28 | uint16 | RW | ||||
| HR | 29 | uint16 | RW | ||||
| HR | 30 | uint16 | RW | ||||
| HR | 31 | uint16 | RW | ||||
| HR | 40 | float32 ABCD | RW | ||||
| HR | 42 | float32 ABCD | RW | ||||
| HR | 44 | float32 ABCD | RW | ||||
| HR | 46 | float32 ABCD | RW | ||||
| HR | 48 | float32 ABCD | RW | ||||
| HR | 50 | float32 ABCD | RW | ||||
| HR | 52 | float32 ABCD | RW | ||||
| HR | 54 | float32 ABCD | RW | ||||
| CO | 4145 | bool | RW | Write 1 to reset the minimum values | |||
| CO | 4146 | bool | RW | Write 1 to reset the minimum values | |||
| CO | 4147 | bool | RW | Write 1 to reset the minimum values | |||
| CO | 4148 | bool | RW | Write 1 to reset the minimum values | |||
| CO | 4149 | bool | RW | Write 1 to reset the minimum values | |||
| CO | 4150 | bool | RW | Write 1 to reset the minimum values | |||
| CO | 4151 | bool | RW | Write 1 to reset the minimum values | |||
| CO | 4152 | bool | RW | Write 1 to reset the minimum values | |||
| CO | 4153 | bool | RW | Write 1 to reset the maximum values | |||
| CO | 4154 | bool | RW | Write 1 to reset the maximum values | |||
| CO | 4155 | bool | RW | Write 1 to reset the maximum values | |||
| CO | 4156 | bool | RW | Write 1 to reset the maximum values | |||
| CO | 4157 | bool | RW | Write 1 to reset the maximum values | |||
| CO | 4158 | bool | RW | Write 1 to reset the maximum values | |||
| CO | 4159 | bool | RW | Write 1 to reset the maximum values | |||
| CO | 4160 | bool | RW | Write 1 to reset the maximum values | |||
| IR | 5000 | string[10] | R | ||||
| IR | 5020 | uint32 ABCD | R | s | |||
| IR | 5024 | uint16 | R | MAC address, two bytes per register, first byte high | |||
| IR | 5025 | uint16 | R | ||||
| IR | 5026 | uint16 | R | ||||
| IR | 5027 | uint32 ABCD | R | One byte per octet, first octet in the high byte | |||
| IR | 5029 | uint16 bits 8–15 | R | ||||
| IR | 5029 | uint16 bits 0–7 | R | ||||
| IR | 5030 | uint16 bits 8–15 | R | ||||
| IR | 5031 | uint32 ABCD | R | e.g. Build16051718 reads as 16051718 | |||
| IR | 5040 | string[30] | R |
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).