Moxa ioLogik E1242 Modbus register map
Also covers ioLogik E1242-T
Remote Ethernet I/O with 4 analog inputs, 4 digital inputs, 4 configurable DIO channels and a two-port Ethernet switch
- Official
- 138 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
- 21 holding registers, 48 input registers, 45 coils, 24 discrete inputs
- Groups
- 7
- Revision
- 2 · 2026-10-17
- Added
- ()
- File
- maps/moxa/iologik-e1242.mbmap.json · 22 KB · history
- SHA-256
- 5e602e1b4486ab40217f24f886f2435f247eab41a369273cdf203abab83bd426
- 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.
- The manual notes that the AI scaled values incorporate word swapping and the DI counter values byte swapping; check the word and byte order of these values on the device.
- DI 0-3 are the DI channels and DI 4-7 the DIO channels set as inputs; DO 0-3 are the DIO channels set as outputs.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| IR | 512 | uint16 | R | ||||
| IR | 513 | uint16 | R | ||||
| IR | 514 | uint16 | R | ||||
| IR | 515 | uint16 | R | ||||
| IR | 520 | float32 ABCD | R | ||||
| IR | 522 | float32 ABCD | R | ||||
| IR | 524 | float32 ABCD | R | ||||
| IR | 526 | float32 ABCD | R | ||||
| IR | 528 | uint16 | R | ||||
| IR | 529 | uint16 | R | ||||
| IR | 530 | uint16 | R | ||||
| IR | 531 | uint16 | R | ||||
| IR | 532 | uint16 | R | ||||
| IR | 533 | uint16 | R | ||||
| IR | 534 | uint16 | R | ||||
| IR | 535 | uint16 | R | ||||
| IR | 536 | float32 ABCD | R | ||||
| IR | 538 | float32 ABCD | R | ||||
| IR | 540 | float32 ABCD | R | ||||
| IR | 542 | float32 ABCD | R | ||||
| IR | 546 | float32 ABCD | R | ||||
| IR | 548 | float32 ABCD | R | ||||
| IR | 550 | float32 ABCD | R | ||||
| IR | 552 | float32 ABCD | R | ||||
| IR | 576 | uint16 | R | ||||
| IR | 577 | uint16 | R | ||||
| IR | 578 | uint16 | R | ||||
| IR | 579 | uint16 | R | ||||
| HR | 544 | uint16 | RW | ||||
| HR | 545 | uint16 | RW | ||||
| HR | 546 | uint16 | RW | ||||
| HR | 547 | uint16 | RW | ||||
| HR | 560 | float32 ABCD | RW | ||||
| HR | 562 | float32 ABCD | RW | ||||
| HR | 564 | float32 ABCD | RW | ||||
| HR | 566 | 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 | 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 | |||
| DI | 0 | bool | R | ||||
| DI | 1 | bool | R | ||||
| DI | 2 | bool | R | ||||
| DI | 3 | bool | R | ||||
| DI | 4 | bool | R | ||||
| DI | 5 | bool | R | ||||
| DI | 6 | bool | R | ||||
| DI | 7 | bool | R | ||||
| IR | 48 | uint16 | R | Bit n = DI n (DI-00 in bit 0) | |||
| IR | 16 | uint32 ABCD | R | ||||
| IR | 18 | uint32 ABCD | R | ||||
| IR | 20 | uint32 ABCD | R | ||||
| IR | 22 | uint32 ABCD | R | ||||
| IR | 24 | uint32 ABCD | R | ||||
| IR | 26 | uint32 ABCD | R | ||||
| IR | 28 | uint32 ABCD | R | ||||
| IR | 30 | uint32 ABCD | R | ||||
| CO | 256 | bool | RW | ||||
| CO | 257 | bool | RW | ||||
| CO | 258 | bool | RW | ||||
| CO | 259 | bool | RW | ||||
| CO | 260 | bool | RW | ||||
| CO | 261 | bool | RW | ||||
| CO | 262 | bool | RW | ||||
| CO | 263 | bool | RW | ||||
| CO | 272 | bool | RW | Write 1 to reset the counter to its initial value | |||
| CO | 273 | bool | RW | Write 1 to reset the counter to its initial value | |||
| CO | 274 | bool | RW | Write 1 to reset the counter to its initial value | |||
| CO | 275 | bool | RW | Write 1 to reset the counter to its initial value | |||
| CO | 276 | bool | RW | Write 1 to reset the counter to its initial value | |||
| CO | 277 | bool | RW | Write 1 to reset the counter to its initial value | |||
| CO | 278 | bool | RW | Write 1 to reset the counter to its initial value | |||
| CO | 279 | bool | RW | Write 1 to reset the counter to its initial value | |||
| CO | 288 | bool | RW | Write 1 to clear the overflow flag | |||
| CO | 289 | bool | RW | Write 1 to clear the overflow flag | |||
| CO | 290 | bool | RW | Write 1 to clear the overflow flag | |||
| CO | 291 | bool | RW | Write 1 to clear the overflow flag | |||
| CO | 292 | bool | RW | Write 1 to clear the overflow flag | |||
| CO | 293 | bool | RW | Write 1 to clear the overflow flag | |||
| CO | 294 | bool | RW | Write 1 to clear the overflow flag | |||
| CO | 295 | bool | RW | Write 1 to clear the overflow flag | |||
| DI | 1000 | bool | R | ||||
| DI | 1001 | bool | R | ||||
| DI | 1002 | bool | R | ||||
| DI | 1003 | bool | R | ||||
| DI | 1004 | bool | R | ||||
| DI | 1005 | bool | R | ||||
| DI | 1006 | bool | R | ||||
| DI | 1007 | bool | R | ||||
| CO | 0 | bool | RW | ||||
| CO | 1 | bool | RW | ||||
| CO | 2 | bool | RW | ||||
| CO | 3 | bool | RW | ||||
| CO | 16 | bool | RW | ||||
| CO | 17 | bool | RW | ||||
| CO | 18 | bool | 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).