{
  "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json",
  "mbmap": 2,
  "vendor": "Pilot",
  "model": "SPM93",
  "models": ["SPM93"],
  "revision": 2,
  "vendor_website": "pmac.com.cn",
  "source": "Modbus Database (Jibril Sharafi, MIT licence), table pilot/spm93; https://www.aggsoft.com/serial-data-logger/tutorials/modbus-data-logging/pilot-spm93.htm. Not verified against the manufacturer's documentation",
  "notes": [
    "Pilot SPM93.",
    "Converted automatically from the Modbus Database (MIT licence, Jibril Sharafi).",
    "Not verified against the manufacturer's documentation. The byte order is a guess: the source does not give one.",
    "Corrections are welcome (CONTRIBUTING.md). Change x_status once this table has been checked against the manual."
  ],
  "byte_order": "big",
  "word_order": "big",
  "address_base": 0,
  "x_status": "unofficial",
  "x_origin": "modbus-database",
  "registers": [
    {"name": "Vb", "area": "holding", "address": 1, "type": "uint16", "unit": "V", "access": "R"},
    {"name": "Vc", "area": "holding", "address": 2, "type": "uint16", "unit": "V", "access": "R"},
    {"name": "Ia (3)", "area": "holding", "address": 3, "type": "uint32", "unit": "A", "access": "R"},
    {"name": "Ib (5)", "area": "holding", "address": 5, "type": "uint32", "unit": "A", "access": "R"},
    {"name": "Ic (7)", "area": "holding", "address": 7, "type": "uint32", "unit": "A", "access": "R"},
    {"name": "Frequency (9)", "area": "holding", "address": 9, "type": "uint16", "access": "R", "description": "unit: Hz,"},
    {"name": "Total power factor (10)", "area": "holding", "address": 10, "type": "int16", "access": "R"},
    {"name": "Total apparent", "area": "holding", "address": 11, "type": "uint32", "access": "R"},
    {"name": "Total active energy", "area": "holding", "address": 13, "type": "uint32", "access": "R"},
    {"name": "Total reactive energy", "area": "holding", "address": 15, "type": "uint32", "access": "R", "description": "unit: kvarh,"},
    {"name": "Phase A active power (17)", "area": "holding", "address": 17, "type": "int32", "unit": "W", "access": "R"},
    {"name": "Phase B active power (19)", "area": "holding", "address": 19, "type": "int32", "unit": "W", "access": "R"},
    {"name": "Phase C active power (21)", "area": "holding", "address": 21, "type": "int32", "unit": "W", "access": "R"},
    {"name": "Total active power (23)", "area": "holding", "address": 23, "type": "int32", "unit": "W", "access": "R"},
    {"name": "Phase A reactive power (25)", "area": "holding", "address": 25, "type": "int32", "access": "R"},
    {"name": "Phase B reactive power (27)", "area": "holding", "address": 27, "type": "int32", "access": "R"},
    {"name": "Phase C reactive", "area": "holding", "address": 29, "type": "int32", "access": "R"},
    {"name": "Total reactive power (31)", "area": "holding", "address": 31, "type": "int32", "access": "R"},
    {"name": "Va (ph n)", "area": "holding", "address": 100, "type": "uint16", "unit": "V", "access": "R"},
    {"name": "Vb (ph n)", "area": "holding", "address": 101, "type": "uint16", "unit": "V", "access": "R"},
    {"name": "Vc (ph n)", "area": "holding", "address": 102, "type": "uint16", "unit": "V", "access": "R"},
    {"name": "Vab (ph ph)", "area": "holding", "address": 103, "type": "uint16", "unit": "V", "access": "R"},
    {"name": "Vbc (ph ph)", "area": "holding", "address": 104, "type": "uint16", "unit": "V", "access": "R"},
    {"name": "Vca (ph ph)", "area": "holding", "address": 105, "type": "uint16", "unit": "V", "access": "R"},
    {"name": "Ia (106)", "area": "holding", "address": 106, "type": "uint32", "access": "R"},
    {"name": "Ib (108)", "area": "holding", "address": 108, "type": "uint32", "access": "R"},
    {"name": "Ic (110)", "area": "holding", "address": 110, "type": "uint32", "access": "R"},
    {"name": "Average current", "area": "holding", "address": 112, "type": "uint32", "access": "R"},
    {"name": "Phase A active power (114)", "area": "holding", "address": 114, "type": "int32", "unit": "W", "access": "R"},
    {"name": "Phase B active power (116)", "area": "holding", "address": 116, "type": "int32", "unit": "W", "access": "R"},
    {"name": "Phase C active power (118)", "area": "holding", "address": 118, "type": "int32", "unit": "W", "access": "R"},
    {"name": "Total active power (120)", "area": "holding", "address": 120, "type": "int32", "unit": "W", "access": "R"},
    {"name": "Phase A reactive power (122)", "area": "holding", "address": 122, "type": "int32", "access": "R"},
    {"name": "Phase B reactive power (124)", "area": "holding", "address": 124, "type": "int32", "access": "R"},
    {"name": "Phase C reactive power", "area": "holding", "address": 126, "type": "int32", "access": "R"},
    {"name": "Total reactive power (128)", "area": "holding", "address": 128, "type": "int32", "access": "R"},
    {"name": "Phase A apparent power", "area": "holding", "address": 130, "type": "uint32", "access": "R"},
    {"name": "Phase B apparent power", "area": "holding", "address": 132, "type": "uint32", "access": "R"},
    {"name": "Phase C apparent power", "area": "holding", "address": 134, "type": "uint32", "access": "R"},
    {"name": "Total apparent power", "area": "holding", "address": 136, "type": "uint32", "access": "R"},
    {"name": "Phase A power factor", "area": "holding", "address": 138, "type": "int16", "access": "R"},
    {"name": "Phase B power factor", "area": "holding", "address": 139, "type": "int16", "access": "R"},
    {"name": "Phase C power factor", "area": "holding", "address": 140, "type": "int16", "access": "R"},
    {"name": "Total power factor (141)", "area": "holding", "address": 141, "type": "int16", "access": "R"},
    {"name": "Frequency (142)", "area": "holding", "address": 142, "type": "uint16", "access": "R"},
    {"name": "Loaded timing", "area": "holding", "address": 143, "type": "uint32", "access": "R"},
    {"name": "Over voltage timing under voltage timing", "area": "holding", "address": 145, "type": "uint32", "access": "R"},
    {"name": "Imp. kwh", "area": "holding", "address": 1000, "type": "uint32", "access": "R"},
    {"name": "Exp. kwh", "area": "holding", "address": 1002, "type": "uint32", "access": "R"},
    {"name": "Total kwh", "area": "holding", "address": 1004, "type": "uint32", "access": "R"}
  ]
}
