{
  "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json",
  "mbmap": 2,
  "vendor": "KRON",
  "model": "Ikron 03-D",
  "models": [
    "Ikron 03-D",
    "IKRON 03-D"
  ],
  "vendor_website": "kron.com.br",
  "description": "Three-phase energy meter: voltages, currents, frequency, power, power factor, active and reactive energy, and communication settings",
  "revision": 1,
  "revised": "2026-11-10",
  "source": "KRON, \"Protocolo Modbus – Ikron 03-D\", rev. 1.0 (May 2018)",
  "sources": [
    {
      "title": "Protocolo Modbus – Ikron 03-D",
      "version": "1.0",
      "date": "2018-05",
      "url": "https://es.kron.com.br/wp-content/uploads/2020/02/Protocolo-Modbus-Ikron-03-D-1.1.pdf",
      "note": "linked in issue #140"
    }
  ],
  "notes": [
    "Read with FC03 and write with FC06 or FC16. The document numbers the registers from 40001 and gives the hex address as the number minus 40001 (40015 is 0x000E), which is what this map uses.",
    "Values are IEEE 754 floats sent with the most significant byte first (the document's example reads 43 66 4C CD as 230.3 V).",
    "The factory settings are 9600 bps, 8 data bits, even parity and 1 stop bit (8E1). The document does not give a default slave address: 1 is its example.",
    "The document does not state units for power or energy, so those registers have none. The date and time registers (0x003C to 0x003F, BCD) and the firmware and hardware versions (floats at 0x0004 and 0x0006) are not mapped: the table in the document is garbled there."
  ],
  "protocol": "rtu",
  "unit_id": 1,
  "baudrate": 9600,
  "parity": "E",
  "databits": 8,
  "stopbits": 1,
  "byte_order": "big",
  "word_order": "big",
  "address_base": 0,
  "x_status": "official",
  "registers": [
    {"name": "Serial number", "group": "Info", "area": "holding", "address": "0x0000", "type": "float32", "access": "R", "description": "Sent as a float, like the other values"},
    {"name": "Modbus address", "group": "Settings", "area": "holding", "address": "0x0002", "type": "uint16", "access": "RW"},
    {"name": "Baud rate", "group": "Settings", "area": "holding", "address": "0x0003", "type": "uint16", "unit": "bps", "access": "RW", "description": "The value is the speed itself: 1200, 2400, 4800 or 9600 (default 9600)"},
    {"name": "Pulse output constant", "group": "Settings", "area": "holding", "address": "0x0009", "type": "float32", "access": "RW", "description": "Pulses per kWh (the manual writes 10 as 41 20 00 00 to 40010)"},
    {"name": "Voltage L1", "group": "Measurements", "area": "holding", "address": "0x000E", "type": "float32", "unit": "V", "access": "R"},
    {"name": "Voltage L2", "group": "Measurements", "area": "holding", "address": "0x0010", "type": "float32", "unit": "V", "access": "R"},
    {"name": "Voltage L3", "group": "Measurements", "area": "holding", "address": "0x0012", "type": "float32", "unit": "V", "access": "R"},
    {"name": "Frequency", "group": "Measurements", "area": "holding", "address": "0x0014", "type": "float32", "unit": "Hz", "access": "R"},
    {"name": "Current L1", "group": "Measurements", "area": "holding", "address": "0x0016", "type": "float32", "unit": "A", "access": "R"},
    {"name": "Current L2", "group": "Measurements", "area": "holding", "address": "0x0018", "type": "float32", "unit": "A", "access": "R"},
    {"name": "Current L3", "group": "Measurements", "area": "holding", "address": "0x001A", "type": "float32", "unit": "A", "access": "R"},
    {"name": "Active power total", "group": "Power", "area": "holding", "address": "0x001C", "type": "float32", "access": "R"},
    {"name": "Active power L1", "group": "Power", "area": "holding", "address": "0x001E", "type": "float32", "access": "R"},
    {"name": "Active power L2", "group": "Power", "area": "holding", "address": "0x0020", "type": "float32", "access": "R"},
    {"name": "Active power L3", "group": "Power", "area": "holding", "address": "0x0022", "type": "float32", "access": "R"},
    {"name": "Reactive power total", "group": "Power", "area": "holding", "address": "0x0024", "type": "float32", "access": "R"},
    {"name": "Reactive power L1", "group": "Power", "area": "holding", "address": "0x0026", "type": "float32", "access": "R"},
    {"name": "Reactive power L2", "group": "Power", "area": "holding", "address": "0x0028", "type": "float32", "access": "R"},
    {"name": "Reactive power L3", "group": "Power", "area": "holding", "address": "0x002A", "type": "float32", "access": "R"},
    {"name": "Apparent power total", "group": "Power", "area": "holding", "address": "0x002C", "type": "float32", "access": "R"},
    {"name": "Apparent power L1", "group": "Power", "area": "holding", "address": "0x002E", "type": "float32", "access": "R"},
    {"name": "Apparent power L2", "group": "Power", "area": "holding", "address": "0x0030", "type": "float32", "access": "R"},
    {"name": "Apparent power L3", "group": "Power", "area": "holding", "address": "0x0032", "type": "float32", "access": "R"},
    {"name": "Power factor total", "group": "Power", "area": "holding", "address": "0x0034", "type": "float32", "access": "R"},
    {"name": "Power factor L1", "group": "Power", "area": "holding", "address": "0x0036", "type": "float32", "access": "R"},
    {"name": "Power factor L2", "group": "Power", "area": "holding", "address": "0x0038", "type": "float32", "access": "R"},
    {"name": "Power factor L3", "group": "Power", "area": "holding", "address": "0x003A", "type": "float32", "access": "R"},
    {"name": "Imported active energy total", "group": "Energy", "area": "holding", "address": "0x0108", "type": "float32", "access": "R"},
    {"name": "Imported active energy L1", "group": "Energy", "area": "holding", "address": "0x010A", "type": "float32", "access": "R"},
    {"name": "Imported active energy L2", "group": "Energy", "area": "holding", "address": "0x010C", "type": "float32", "access": "R"},
    {"name": "Imported active energy L3", "group": "Energy", "area": "holding", "address": "0x010E", "type": "float32", "access": "R"},
    {"name": "Exported active energy total", "group": "Energy", "area": "holding", "address": "0x0110", "type": "float32", "access": "R"},
    {"name": "Exported active energy L1", "group": "Energy", "area": "holding", "address": "0x0112", "type": "float32", "access": "R"},
    {"name": "Exported active energy L2", "group": "Energy", "area": "holding", "address": "0x0114", "type": "float32", "access": "R"},
    {"name": "Exported active energy L3", "group": "Energy", "area": "holding", "address": "0x0116", "type": "float32", "access": "R"},
    {"name": "Imported reactive energy total", "group": "Energy", "area": "holding", "address": "0x0120", "type": "float32", "access": "R"},
    {"name": "Imported reactive energy L1", "group": "Energy", "area": "holding", "address": "0x0122", "type": "float32", "access": "R"},
    {"name": "Imported reactive energy L2", "group": "Energy", "area": "holding", "address": "0x0124", "type": "float32", "access": "R"},
    {"name": "Imported reactive energy L3", "group": "Energy", "area": "holding", "address": "0x0126", "type": "float32", "access": "R"},
    {"name": "Exported reactive energy total", "group": "Energy", "area": "holding", "address": "0x0128", "type": "float32", "access": "R"},
    {"name": "Exported reactive energy L1", "group": "Energy", "area": "holding", "address": "0x012A", "type": "float32", "access": "R"},
    {"name": "Exported reactive energy L2", "group": "Energy", "area": "holding", "address": "0x012C", "type": "float32", "access": "R"},
    {"name": "Exported reactive energy L3", "group": "Energy", "area": "holding", "address": "0x012E", "type": "float32", "access": "R"}
  ]
}
