{ "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json", "mbmap": 2, "vendor": "Moxa", "model": "ioLogik E1242", "models": ["ioLogik E1242", "ioLogik E1242-T"], "vendor_website": "moxa.com", "description": "Remote Ethernet I/O with 4 analog inputs, 4 digital inputs, 4 configurable DIO channels and a two-port Ethernet switch", "revision": 2, "revised": "2026-10-17", "source": "Moxa, \"ioLogik E1200 Series User Manual\", version 16.1 (April 2024), Appendix A", "sources": [{"title": "ioLogik E1200 Series User Manual", "version": "16.1", "date": "2024-04", "url": "https://moxa.ru/files/Manuals_IE/moxa-iologik-e1200-series-manual-v16_1.pdf", "note": "Appendix A, Modbus/TCP default address mappings"}], "notes": [ "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." ], "protocol": "tcp", "unit_id": 1, "port": 502, "byte_order": "big", "word_order": "big", "address_base": 0, "x_status": "official", "registers": [ {"name": "AI 0 raw value", "group": "AI", "area": "input", "address": 512, "type": "uint16", "access": "R"}, {"name": "AI 1 raw value", "group": "AI", "area": "input", "address": 513, "type": "uint16", "access": "R"}, {"name": "AI 2 raw value", "group": "AI", "area": "input", "address": 514, "type": "uint16", "access": "R"}, {"name": "AI 3 raw value", "group": "AI", "area": "input", "address": 515, "type": "uint16", "access": "R"}, {"name": "AI 0 scaled value", "group": "AI", "area": "input", "address": 520, "type": "float32", "access": "R"}, {"name": "AI 1 scaled value", "group": "AI", "area": "input", "address": 522, "type": "float32", "access": "R"}, {"name": "AI 2 scaled value", "group": "AI", "area": "input", "address": 524, "type": "float32", "access": "R"}, {"name": "AI 3 scaled value", "group": "AI", "area": "input", "address": 526, "type": "float32", "access": "R"}, {"name": "AI 0 minimum raw value", "group": "AI", "area": "input", "address": 528, "type": "uint16", "access": "R"}, {"name": "AI 1 minimum raw value", "group": "AI", "area": "input", "address": 529, "type": "uint16", "access": "R"}, {"name": "AI 2 minimum raw value", "group": "AI", "area": "input", "address": 530, "type": "uint16", "access": "R"}, {"name": "AI 3 minimum raw value", "group": "AI", "area": "input", "address": 531, "type": "uint16", "access": "R"}, {"name": "AI 0 maximum raw value", "group": "AI", "area": "input", "address": 532, "type": "uint16", "access": "R"}, {"name": "AI 1 maximum raw value", "group": "AI", "area": "input", "address": 533, "type": "uint16", "access": "R"}, {"name": "AI 2 maximum raw value", "group": "AI", "area": "input", "address": 534, "type": "uint16", "access": "R"}, {"name": "AI 3 maximum raw value", "group": "AI", "area": "input", "address": 535, "type": "uint16", "access": "R"}, {"name": "AI 0 minimum scaled value", "group": "AI", "area": "input", "address": 536, "type": "float32", "access": "R"}, {"name": "AI 1 minimum scaled value", "group": "AI", "area": "input", "address": 538, "type": "float32", "access": "R"}, {"name": "AI 2 minimum scaled value", "group": "AI", "area": "input", "address": 540, "type": "float32", "access": "R"}, {"name": "AI 3 minimum scaled value", "group": "AI", "area": "input", "address": 542, "type": "float32", "access": "R"}, {"name": "AI 0 maximum scaled value", "group": "AI", "area": "input", "address": 546, "type": "float32", "access": "R"}, {"name": "AI 1 maximum scaled value", "group": "AI", "area": "input", "address": 548, "type": "float32", "access": "R"}, {"name": "AI 2 maximum scaled value", "group": "AI", "area": "input", "address": 550, "type": "float32", "access": "R"}, {"name": "AI 3 maximum scaled value", "group": "AI", "area": "input", "address": 552, "type": "float32", "access": "R"}, {"name": "AI 0 status", "group": "AI", "area": "input", "address": 576, "type": "uint16", "access": "R", "enum": {"0": "Normal", "1": "Burnout", "2": "Over range", "3": "Under range"}}, {"name": "AI 1 status", "group": "AI", "area": "input", "address": 577, "type": "uint16", "access": "R", "enum": {"0": "Normal", "1": "Burnout", "2": "Over range", "3": "Under range"}}, {"name": "AI 2 status", "group": "AI", "area": "input", "address": 578, "type": "uint16", "access": "R", "enum": {"0": "Normal", "1": "Burnout", "2": "Over range", "3": "Under range"}}, {"name": "AI 3 status", "group": "AI", "area": "input", "address": 579, "type": "uint16", "access": "R", "enum": {"0": "Normal", "1": "Burnout", "2": "Over range", "3": "Under range"}}, {"name": "AI 0 mode", "group": "AI setup", "area": "holding", "address": 544, "type": "uint16", "access": "RW", "enum": {"0": "0-10 V", "1": "4-20 mA", "2": "0-20 mA", "4": "4-20 mA with burnout detection"}}, {"name": "AI 1 mode", "group": "AI setup", "area": "holding", "address": 545, "type": "uint16", "access": "RW", "enum": {"0": "0-10 V", "1": "4-20 mA", "2": "0-20 mA", "4": "4-20 mA with burnout detection"}}, {"name": "AI 2 mode", "group": "AI setup", "area": "holding", "address": 546, "type": "uint16", "access": "RW", "enum": {"0": "0-10 V", "1": "4-20 mA", "2": "0-20 mA", "4": "4-20 mA with burnout detection"}}, {"name": "AI 3 mode", "group": "AI setup", "area": "holding", "address": 547, "type": "uint16", "access": "RW", "enum": {"0": "0-10 V", "1": "4-20 mA", "2": "0-20 mA", "4": "4-20 mA with burnout detection"}}, {"name": "AI 0 burnout value", "group": "AI setup", "area": "holding", "address": 560, "type": "float32", "access": "RW"}, {"name": "AI 1 burnout value", "group": "AI setup", "area": "holding", "address": 562, "type": "float32", "access": "RW"}, {"name": "AI 2 burnout value", "group": "AI setup", "area": "holding", "address": 564, "type": "float32", "access": "RW"}, {"name": "AI 3 burnout value", "group": "AI setup", "area": "holding", "address": 566, "type": "float32", "access": "RW"}, {"name": "AI 0 reset minimum", "group": "AI", "area": "coil", "address": 4145, "type": "bool", "access": "RW", "description": "Write 1 to reset the minimum values"}, {"name": "AI 1 reset minimum", "group": "AI", "area": "coil", "address": 4146, "type": "bool", "access": "RW", "description": "Write 1 to reset the minimum values"}, {"name": "AI 2 reset minimum", "group": "AI", "area": "coil", "address": 4147, "type": "bool", "access": "RW", "description": "Write 1 to reset the minimum values"}, {"name": "AI 3 reset minimum", "group": "AI", "area": "coil", "address": 4148, "type": "bool", "access": "RW", "description": "Write 1 to reset the minimum values"}, {"name": "AI 0 reset maximum", "group": "AI", "area": "coil", "address": 4153, "type": "bool", "access": "RW", "description": "Write 1 to reset the maximum values"}, {"name": "AI 1 reset maximum", "group": "AI", "area": "coil", "address": 4154, "type": "bool", "access": "RW", "description": "Write 1 to reset the maximum values"}, {"name": "AI 2 reset maximum", "group": "AI", "area": "coil", "address": 4155, "type": "bool", "access": "RW", "description": "Write 1 to reset the maximum values"}, {"name": "AI 3 reset maximum", "group": "AI", "area": "coil", "address": 4156, "type": "bool", "access": "RW", "description": "Write 1 to reset the maximum values"}, {"name": "DI 0 status", "group": "DI", "area": "discrete", "address": 0, "type": "bool", "access": "R", "enum": {"0": "Off", "1": "On"}}, {"name": "DI 1 status", "group": "DI", "area": "discrete", "address": 1, "type": "bool", "access": "R", "enum": {"0": "Off", "1": "On"}}, {"name": "DI 2 status", "group": "DI", "area": "discrete", "address": 2, "type": "bool", "access": "R", "enum": {"0": "Off", "1": "On"}}, {"name": "DI 3 status", "group": "DI", "area": "discrete", "address": 3, "type": "bool", "access": "R", "enum": {"0": "Off", "1": "On"}}, {"name": "DI 4 status", "group": "DI", "area": "discrete", "address": 4, "type": "bool", "access": "R", "enum": {"0": "Off", "1": "On"}}, {"name": "DI 5 status", "group": "DI", "area": "discrete", "address": 5, "type": "bool", "access": "R", "enum": {"0": "Off", "1": "On"}}, {"name": "DI 6 status", "group": "DI", "area": "discrete", "address": 6, "type": "bool", "access": "R", "enum": {"0": "Off", "1": "On"}}, {"name": "DI 7 status", "group": "DI", "area": "discrete", "address": 7, "type": "bool", "access": "R", "enum": {"0": "Off", "1": "On"}}, {"name": "DI all status", "group": "DI", "area": "input", "address": 48, "type": "uint16", "access": "R", "description": "Bit n = DI n (DI-00 in bit 0)"}, {"name": "DI 0 counter value", "group": "DI counters", "area": "input", "address": 16, "type": "uint32", "access": "R"}, {"name": "DI 1 counter value", "group": "DI counters", "area": "input", "address": 18, "type": "uint32", "access": "R"}, {"name": "DI 2 counter value", "group": "DI counters", "area": "input", "address": 20, "type": "uint32", "access": "R"}, {"name": "DI 3 counter value", "group": "DI counters", "area": "input", "address": 22, "type": "uint32", "access": "R"}, {"name": "DI 4 counter value", "group": "DI counters", "area": "input", "address": 24, "type": "uint32", "access": "R"}, {"name": "DI 5 counter value", "group": "DI counters", "area": "input", "address": 26, "type": "uint32", "access": "R"}, {"name": "DI 6 counter value", "group": "DI counters", "area": "input", "address": 28, "type": "uint32", "access": "R"}, {"name": "DI 7 counter value", "group": "DI counters", "area": "input", "address": 30, "type": "uint32", "access": "R"}, {"name": "DI 0 counter start", "group": "DI counters", "area": "coil", "address": 256, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "DI 1 counter start", "group": "DI counters", "area": "coil", "address": 257, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "DI 2 counter start", "group": "DI counters", "area": "coil", "address": 258, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "DI 3 counter start", "group": "DI counters", "area": "coil", "address": 259, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "DI 4 counter start", "group": "DI counters", "area": "coil", "address": 260, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "DI 5 counter start", "group": "DI counters", "area": "coil", "address": 261, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "DI 6 counter start", "group": "DI counters", "area": "coil", "address": 262, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "DI 7 counter start", "group": "DI counters", "area": "coil", "address": 263, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "DI 0 counter reset", "group": "DI counters", "area": "coil", "address": 272, "type": "bool", "access": "RW", "description": "Write 1 to reset the counter to its initial value"}, {"name": "DI 1 counter reset", "group": "DI counters", "area": "coil", "address": 273, "type": "bool", "access": "RW", "description": "Write 1 to reset the counter to its initial value"}, {"name": "DI 2 counter reset", "group": "DI counters", "area": "coil", "address": 274, "type": "bool", "access": "RW", "description": "Write 1 to reset the counter to its initial value"}, {"name": "DI 3 counter reset", "group": "DI counters", "area": "coil", "address": 275, "type": "bool", "access": "RW", "description": "Write 1 to reset the counter to its initial value"}, {"name": "DI 4 counter reset", "group": "DI counters", "area": "coil", "address": 276, "type": "bool", "access": "RW", "description": "Write 1 to reset the counter to its initial value"}, {"name": "DI 5 counter reset", "group": "DI counters", "area": "coil", "address": 277, "type": "bool", "access": "RW", "description": "Write 1 to reset the counter to its initial value"}, {"name": "DI 6 counter reset", "group": "DI counters", "area": "coil", "address": 278, "type": "bool", "access": "RW", "description": "Write 1 to reset the counter to its initial value"}, {"name": "DI 7 counter reset", "group": "DI counters", "area": "coil", "address": 279, "type": "bool", "access": "RW", "description": "Write 1 to reset the counter to its initial value"}, {"name": "DI 0 counter overflow flag clear", "group": "DI counters", "area": "coil", "address": 288, "type": "bool", "access": "RW", "description": "Write 1 to clear the overflow flag"}, {"name": "DI 1 counter overflow flag clear", "group": "DI counters", "area": "coil", "address": 289, "type": "bool", "access": "RW", "description": "Write 1 to clear the overflow flag"}, {"name": "DI 2 counter overflow flag clear", "group": "DI counters", "area": "coil", "address": 290, "type": "bool", "access": "RW", "description": "Write 1 to clear the overflow flag"}, {"name": "DI 3 counter overflow flag clear", "group": "DI counters", "area": "coil", "address": 291, "type": "bool", "access": "RW", "description": "Write 1 to clear the overflow flag"}, {"name": "DI 4 counter overflow flag clear", "group": "DI counters", "area": "coil", "address": 292, "type": "bool", "access": "RW", "description": "Write 1 to clear the overflow flag"}, {"name": "DI 5 counter overflow flag clear", "group": "DI counters", "area": "coil", "address": 293, "type": "bool", "access": "RW", "description": "Write 1 to clear the overflow flag"}, {"name": "DI 6 counter overflow flag clear", "group": "DI counters", "area": "coil", "address": 294, "type": "bool", "access": "RW", "description": "Write 1 to clear the overflow flag"}, {"name": "DI 7 counter overflow flag clear", "group": "DI counters", "area": "coil", "address": 295, "type": "bool", "access": "RW", "description": "Write 1 to clear the overflow flag"}, {"name": "DI 0 counter overflow flag", "group": "DI counters", "area": "discrete", "address": 1000, "type": "bool", "access": "R", "enum": {"0": "Normal", "1": "Overflow"}}, {"name": "DI 1 counter overflow flag", "group": "DI counters", "area": "discrete", "address": 1001, "type": "bool", "access": "R", "enum": {"0": "Normal", "1": "Overflow"}}, {"name": "DI 2 counter overflow flag", "group": "DI counters", "area": "discrete", "address": 1002, "type": "bool", "access": "R", "enum": {"0": "Normal", "1": "Overflow"}}, {"name": "DI 3 counter overflow flag", "group": "DI counters", "area": "discrete", "address": 1003, "type": "bool", "access": "R", "enum": {"0": "Normal", "1": "Overflow"}}, {"name": "DI 4 counter overflow flag", "group": "DI counters", "area": "discrete", "address": 1004, "type": "bool", "access": "R", "enum": {"0": "Normal", "1": "Overflow"}}, {"name": "DI 5 counter overflow flag", "group": "DI counters", "area": "discrete", "address": 1005, "type": "bool", "access": "R", "enum": {"0": "Normal", "1": "Overflow"}}, {"name": "DI 6 counter overflow flag", "group": "DI counters", "area": "discrete", "address": 1006, "type": "bool", "access": "R", "enum": {"0": "Normal", "1": "Overflow"}}, {"name": "DI 7 counter overflow flag", "group": "DI counters", "area": "discrete", "address": 1007, "type": "bool", "access": "R", "enum": {"0": "Normal", "1": "Overflow"}}, {"name": "DO 0 status", "group": "DO", "area": "coil", "address": 0, "type": "bool", "access": "RW", "enum": {"0": "Off", "1": "On"}}, {"name": "DO 1 status", "group": "DO", "area": "coil", "address": 1, "type": "bool", "access": "RW", "enum": {"0": "Off", "1": "On"}}, {"name": "DO 2 status", "group": "DO", "area": "coil", "address": 2, "type": "bool", "access": "RW", "enum": {"0": "Off", "1": "On"}}, {"name": "DO 3 status", "group": "DO", "area": "coil", "address": 3, "type": "bool", "access": "RW", "enum": {"0": "Off", "1": "On"}}, {"name": "DO 0 pulse status", "group": "DO", "area": "coil", "address": 16, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "DO 1 pulse status", "group": "DO", "area": "coil", "address": 17, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "DO 2 pulse status", "group": "DO", "area": "coil", "address": 18, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "DO 3 pulse status", "group": "DO", "area": "coil", "address": 19, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "DO all status", "group": "DO", "area": "holding", "address": 32, "type": "uint16", "access": "RW", "description": "Bit n = DO n (DO-00 in bit 0)"}, {"name": "DO 0 pulse count", "group": "DO", "area": "holding", "address": 36, "type": "uint16", "access": "RW"}, {"name": "DO 1 pulse count", "group": "DO", "area": "holding", "address": 37, "type": "uint16", "access": "RW"}, {"name": "DO 2 pulse count", "group": "DO", "area": "holding", "address": 38, "type": "uint16", "access": "RW"}, {"name": "DO 3 pulse count", "group": "DO", "area": "holding", "address": 39, "type": "uint16", "access": "RW"}, {"name": "DO 0 pulse on width", "group": "DO", "area": "holding", "address": 52, "type": "uint16", "unit": "ms", "access": "RW"}, {"name": "DO 1 pulse on width", "group": "DO", "area": "holding", "address": 53, "type": "uint16", "unit": "ms", "access": "RW"}, {"name": "DO 2 pulse on width", "group": "DO", "area": "holding", "address": 54, "type": "uint16", "unit": "ms", "access": "RW"}, {"name": "DO 3 pulse on width", "group": "DO", "area": "holding", "address": 55, "type": "uint16", "unit": "ms", "access": "RW"}, {"name": "DO 0 pulse off width", "group": "DO", "area": "holding", "address": 68, "type": "uint16", "unit": "ms", "access": "RW"}, {"name": "DO 1 pulse off width", "group": "DO", "area": "holding", "address": 69, "type": "uint16", "unit": "ms", "access": "RW"}, {"name": "DO 2 pulse off width", "group": "DO", "area": "holding", "address": 70, "type": "uint16", "unit": "ms", "access": "RW"}, {"name": "DO 3 pulse off width", "group": "DO", "area": "holding", "address": 71, "type": "uint16", "unit": "ms", "access": "RW"}, {"name": "DO 0 peer-to-peer status", "group": "DO peer-to-peer", "area": "discrete", "address": 4096, "type": "bool", "access": "R", "enum": {"0": "Off", "1": "On"}}, {"name": "DO 1 peer-to-peer status", "group": "DO peer-to-peer", "area": "discrete", "address": 4097, "type": "bool", "access": "R", "enum": {"0": "Off", "1": "On"}}, {"name": "DO 2 peer-to-peer status", "group": "DO peer-to-peer", "area": "discrete", "address": 4098, "type": "bool", "access": "R", "enum": {"0": "Off", "1": "On"}}, {"name": "DO 3 peer-to-peer status", "group": "DO peer-to-peer", "area": "discrete", "address": 4099, "type": "bool", "access": "R", "enum": {"0": "Off", "1": "On"}}, {"name": "DO 0 peer-to-peer safe mode flag", "group": "DO peer-to-peer", "area": "discrete", "address": 4112, "type": "bool", "access": "R", "enum": {"0": "Off", "1": "On"}}, {"name": "DO 1 peer-to-peer safe mode flag", "group": "DO peer-to-peer", "area": "discrete", "address": 4113, "type": "bool", "access": "R", "enum": {"0": "Off", "1": "On"}}, {"name": "DO 2 peer-to-peer safe mode flag", "group": "DO peer-to-peer", "area": "discrete", "address": 4114, "type": "bool", "access": "R", "enum": {"0": "Off", "1": "On"}}, {"name": "DO 3 peer-to-peer safe mode flag", "group": "DO peer-to-peer", "area": "discrete", "address": 4115, "type": "bool", "access": "R", "enum": {"0": "Off", "1": "On"}}, {"name": "DO 0 peer-to-peer safe mode flag clear", "group": "DO peer-to-peer", "area": "coil", "address": 4128, "type": "bool", "access": "RW", "description": "Write 1 to clear the safe mode flag"}, {"name": "DO 1 peer-to-peer safe mode flag clear", "group": "DO peer-to-peer", "area": "coil", "address": 4129, "type": "bool", "access": "RW", "description": "Write 1 to clear the safe mode flag"}, {"name": "DO 2 peer-to-peer safe mode flag clear", "group": "DO peer-to-peer", "area": "coil", "address": 4130, "type": "bool", "access": "RW", "description": "Write 1 to clear the safe mode flag"}, {"name": "DO 3 peer-to-peer safe mode flag clear", "group": "DO peer-to-peer", "area": "coil", "address": 4131, "type": "bool", "access": "RW", "description": "Write 1 to clear the safe mode flag"}, {"name": "Watchdog alarm flag clear", "group": "System", "area": "coil", "address": 4144, "type": "bool", "access": "RW", "description": "Write 1 to clear the watchdog alarm"}, {"name": "Model name", "group": "System", "area": "input", "address": 5000, "type": "string", "length": 10, "access": "R"}, {"name": "Device up time", "group": "System", "area": "input", "address": 5020, "type": "uint32", "unit": "s", "access": "R"}, {"name": "LAN MAC address bytes 1-2", "group": "System", "area": "input", "address": 5024, "type": "uint16", "access": "R", "description": "MAC address, two bytes per register, first byte high"}, {"name": "LAN MAC address bytes 3-4", "group": "System", "area": "input", "address": 5025, "type": "uint16", "access": "R"}, {"name": "LAN MAC address bytes 5-6", "group": "System", "area": "input", "address": 5026, "type": "uint16", "access": "R"}, {"name": "LAN IP address", "group": "System", "area": "input", "address": 5027, "type": "uint32", "access": "R", "description": "One byte per octet, first octet in the high byte"}, {"name": "Firmware version major", "group": "System", "area": "input", "address": 5029, "type": "uint16", "bit": 8, "bits": 8, "access": "R", "role": "firmware"}, {"name": "Firmware version minor", "group": "System", "area": "input", "address": 5029, "type": "uint16", "bit": 0, "bits": 8, "access": "R", "role": "firmware"}, {"name": "Firmware version patch", "group": "System", "area": "input", "address": 5030, "type": "uint16", "bit": 8, "bits": 8, "access": "R", "role": "firmware"}, {"name": "Firmware build date", "group": "System", "area": "input", "address": 5031, "type": "uint32", "access": "R", "description": "e.g. Build16051718 reads as 16051718"}, {"name": "Device name", "group": "System", "area": "input", "address": 5040, "type": "string", "length": 30, "access": "R"} ] }