{ "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json", "mbmap": 2, "vendor": "Eastron", "model": "SDM320", "models": [ "SDM320", "SDM320C" ], "vendor_website": "eastroneurope.com", "revision": 3, "source": "Zhejiang Eastron Electronic, \"SDM320C User Manual V1.2\", sections 4.1 and 4.2 (Modbus RTU register tables)", "notes": [ "Eastron SDM320 / SDM320C single-phase energy meter (RS485 Modbus RTU).", "Measurements are float32 input registers (FC04), big-endian (bytes and words), 0-based addresses.", "Monthly and multi-rate energy registers of older catalogues are not in the SDM320C manual and were removed." ], "byte_order": "big", "word_order": "big", "address_base": 0, "x_status": "official", "revised": "2026-11-10", "sources": [ { "title": "SDM320C User Manual", "version": "V1.2", "note": "section 4.1 input registers (FC04); 4.2 holding registers (FC03/10)" } ], "registers": [ {"name": "Voltage", "area": "input", "address": 0, "type": "float32", "unit": "V", "access": "R"}, {"name": "Current", "area": "input", "address": 6, "type": "float32", "unit": "A", "access": "R"}, {"name": "Active power", "area": "input", "address": 12, "type": "float32", "unit": "W", "access": "R"}, {"name": "Apparent power", "area": "input", "address": 18, "type": "float32", "unit": "VA", "access": "R"}, {"name": "Reactive power", "area": "input", "address": 24, "type": "float32", "unit": "var", "access": "R"}, {"name": "Power factor", "area": "input", "address": 30, "type": "float32", "access": "R", "description": "Negative for export current"}, {"name": "Phase angle", "area": "input", "address": 36, "type": "float32", "unit": "°", "access": "R"}, {"name": "Frequency", "area": "input", "address": 70, "type": "float32", "unit": "Hz", "access": "R"}, {"name": "Import active energy", "area": "input", "address": 72, "type": "float32", "unit": "kWh", "access": "R"}, {"name": "Export active energy", "area": "input", "address": 74, "type": "float32", "unit": "kWh", "access": "R"}, {"name": "Import reactive energy", "area": "input", "address": 76, "type": "float32", "unit": "kvarh", "access": "R"}, {"name": "Export reactive energy", "area": "input", "address": 78, "type": "float32", "unit": "kvarh", "access": "R"}, {"name": "Total apparent energy", "area": "input", "address": 80, "type": "float32", "unit": "kVAh", "access": "R"}, {"name": "Active power demand", "area": "input", "address": 84, "type": "float32", "unit": "W", "access": "R"}, {"name": "Maximum active power demand", "area": "input", "address": 86, "type": "float32", "unit": "W", "access": "R"}, {"name": "Apparent power demand", "area": "input", "address": 100, "type": "float32", "unit": "VA", "access": "R"}, {"name": "Maximum apparent power demand", "area": "input", "address": 102, "type": "float32", "unit": "VA", "access": "R"}, {"name": "Reactive power demand", "area": "input", "address": 108, "type": "float32", "unit": "var", "access": "R"}, {"name": "Maximum reactive power demand", "area": "input", "address": 110, "type": "float32", "unit": "var", "access": "R"}, {"name": "Current demand", "area": "input", "address": 258, "type": "float32", "unit": "A", "access": "R"}, {"name": "Maximum current demand", "area": "input", "address": 264, "type": "float32", "unit": "A", "access": "R"}, {"name": "Total active energy", "area": "input", "address": 342, "type": "float32", "unit": "kWh", "access": "R"}, {"name": "Total reactive energy", "area": "input", "address": 344, "type": "float32", "unit": "kvarh", "access": "R"} ] }