{
  "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json",
  "mbmap": 2,
  "vendor": "Moxa",
  "model": "ioLogik R1241",
  "models": ["ioLogik R1241", "ioLogik R1241-T"],
  "vendor_website": "moxa.com",
  "description": "RS-485 remote I/O with 4 analog outputs (voltage or current)",
  "revision": 2,
  "revised": "2026-10-17",
  "source": "Moxa, \"ioLogik R1200 Series User's Manual\", edition 3.3 (February 2018), Appendix A",
  "sources": [{"title": "ioLogik R1200 Series User's Manual", "version": "Edition 3.3", "date": "2018-02", "url": "https://cdn11.bigcommerce.com/s-hltjsp5jm3/content/pdfs/moxa-iologik-r1200-series-manual.pdf", "note": "Appendix A, Modbus address and register maps"}],
  "notes": [
    "The unit ID is set with the two rotary switches (1-99). With the mode switch in Initial position the port runs at 9600 baud, 8N1; the settings in Run mode are configured by software.",
    "32-bit values are high word first."
  ],
  "protocol": "rtu",
  "unit_id": 1,
  "baudrate": 9600,
  "parity": "N",
  "databits": 8,
  "stopbits": 1,
  "byte_order": "big",
  "word_order": "big",
  "address_base": 0,
  "x_status": "official",
  "registers": [
    {"name": "AO 0 raw value", "group": "AO", "area": "holding", "address": "0x04A0", "type": "uint16", "access": "RW"},
    {"name": "AO 1 raw value", "group": "AO", "area": "holding", "address": "0x04A1", "type": "uint16", "access": "RW"},
    {"name": "AO 2 raw value", "group": "AO", "area": "holding", "address": "0x04A2", "type": "uint16", "access": "RW"},
    {"name": "AO 3 raw value", "group": "AO", "area": "holding", "address": "0x04A3", "type": "uint16", "access": "RW"},
    {"name": "AO 0 raw value power on", "group": "AO", "area": "holding", "address": "0x04C0", "type": "uint16", "access": "RW"},
    {"name": "AO 1 raw value power on", "group": "AO", "area": "holding", "address": "0x04C1", "type": "uint16", "access": "RW"},
    {"name": "AO 2 raw value power on", "group": "AO", "area": "holding", "address": "0x04C2", "type": "uint16", "access": "RW"},
    {"name": "AO 3 raw value power on", "group": "AO", "area": "holding", "address": "0x04C3", "type": "uint16", "access": "RW"},
    {"name": "AO 0 raw value safe mode", "group": "AO", "area": "holding", "address": "0x04E0", "type": "uint16", "access": "RW"},
    {"name": "AO 1 raw value safe mode", "group": "AO", "area": "holding", "address": "0x04E1", "type": "uint16", "access": "RW"},
    {"name": "AO 2 raw value safe mode", "group": "AO", "area": "holding", "address": "0x04E2", "type": "uint16", "access": "RW"},
    {"name": "AO 3 raw value safe mode", "group": "AO", "area": "holding", "address": "0x04E3", "type": "uint16", "access": "RW"},
    {"name": "AO 0 mode", "group": "AO", "area": "holding", "address": "0x0500", "type": "uint16", "access": "RW", "enum": {"0": "0-10 v", "1": "0-20 mA", "2": "4-20 mA"}},
    {"name": "AO 1 mode", "group": "AO", "area": "holding", "address": "0x0501", "type": "uint16", "access": "RW", "enum": {"0": "0-10 v", "1": "0-20 mA", "2": "4-20 mA"}},
    {"name": "AO 2 mode", "group": "AO", "area": "holding", "address": "0x0502", "type": "uint16", "access": "RW", "enum": {"0": "0-10 v", "1": "0-20 mA", "2": "4-20 mA"}},
    {"name": "AO 3 mode", "group": "AO", "area": "holding", "address": "0x0503", "type": "uint16", "access": "RW", "enum": {"0": "0-10 v", "1": "0-20 mA"}},
    {"name": "Model ID", "group": "System", "area": "input", "address": "0x7530", "type": "uint16", "access": "R"},
    {"name": "Firmware version", "group": "System", "area": "input", "address": "0x7545", "type": "uint32", "access": "R"},
    {"name": "Firmware release date", "group": "System", "area": "input", "address": "0x7547", "type": "uint32", "access": "R"},
    {"name": "Vendor ID", "group": "System", "area": "input", "address": "0x7549", "type": "uint16", "access": "R"},
    {"name": "Unit ID", "group": "System", "area": "input", "address": "0x754A", "type": "uint16", "access": "R", "description": "Set with the two rotary switches, 1-99"},
    {"name": "Serial number", "group": "System", "area": "input", "address": "0x754B", "type": "string", "length": 6, "access": "R", "role": "serial"},
    {"name": "Product name", "group": "System", "area": "input", "address": "0x7555", "type": "string", "length": 10, "access": "R"},
    {"name": "RS-485 port mode", "group": "System", "area": "input", "address": "0x756A", "type": "uint16", "access": "R", "enum": {"0": "Initial, repeater", "1": "Initial, dual RS-485", "2": "Run, repeater", "3": "Run, dual RS-485"}},
    {"name": "Server name", "group": "System", "area": "holding", "address": "0x7531", "type": "string", "length": 10, "access": "RW"},
    {"name": "Server location", "group": "System", "area": "holding", "address": "0x753B", "type": "string", "length": 10, "access": "RW"},
    {"name": "Password", "group": "System", "area": "holding", "address": "0x755F", "type": "string", "length": 5, "access": "RW"},
    {"name": "Modbus watchdog", "group": "System", "area": "holding", "address": "0x7564", "type": "uint16", "access": "RW", "enum": {"0": "Disabled", "1": "Enabled"}},
    {"name": "Modbus watchdog timeout", "group": "System", "area": "holding", "address": "0x7565", "type": "uint16", "unit": "s", "access": "RW"},
    {"name": "Modbus watchdog status", "group": "System", "area": "holding", "address": "0x7566", "type": "uint16", "access": "RW", "enum": {"0": "Normal", "1": "Timeout"}},
    {"name": "Locate device", "group": "System", "area": "holding", "address": "0x7567", "type": "uint16", "access": "RW"},
    {"name": "Restart device", "group": "System", "area": "holding", "address": "0x7568", "type": "uint16", "access": "RW", "enum": {"404": "Restart"}},
    {"name": "Load factory defaults", "group": "System", "area": "holding", "address": "0x7569", "type": "uint16", "access": "RW", "enum": {"404": "Load defaults"}},
    {"name": "Port 0 baud rate", "group": "System", "area": "holding", "address": "0x756C", "type": "uint16", "access": "RW", "enum": {"1": "1200", "2": "2400", "3": "4800", "4": "9600", "5": "19200", "6": "38400", "7": "57600", "8": "115200", "9": "921600"}},
    {"name": "Port 0 stop bits", "group": "System", "area": "holding", "address": "0x7570", "type": "uint16", "access": "RW", "enum": {"0": "1", "1": "2"}},
    {"name": "Port 0 parity", "group": "System", "area": "holding", "address": "0x7572", "type": "uint16", "access": "RW", "enum": {"0": "None", "1": "Even", "2": "Odd"}},
    {"name": "Port 1 baud rate", "group": "System", "area": "holding", "address": "0x756D", "type": "uint16", "access": "RW", "enum": {"1": "1200", "2": "2400", "3": "4800", "4": "9600", "5": "19200", "6": "38400", "7": "57600", "8": "115200", "9": "921600"}},
    {"name": "Port 1 stop bits", "group": "System", "area": "holding", "address": "0x7571", "type": "uint16", "access": "RW", "enum": {"0": "1", "1": "2"}},
    {"name": "Port 1 parity", "group": "System", "area": "holding", "address": "0x7573", "type": "uint16", "access": "RW", "enum": {"0": "None", "1": "Even", "2": "Odd"}},
    {"name": "Vendor name", "group": "System", "area": "holding", "address": "0x7594", "type": "string", "length": 20, "access": "RW"}
  ]
}
