{ "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json", "mbmap": 2, "vendor": "Schneider Electric", "model": "EM1200 / EM1220", "models": [ "EM1200", "EM1220" ], "vendor_website": "se.com", "description": "Conzerv power and energy meters with RS485 Modbus RTU: per-phase power, power factor and energy (EM1200, EM1220), current, voltage and frequency (EM1220), setup, diagnostics and identity", "revision": 3, "revised": "2026-10-31", "source": "Schneider Electric Conzerv EM1000/EM1200/EM1220 power and energy meter user manual EAV95462-01, chapter 6", "sources": [ { "title": "Conzerv EM1000/EM1200/EM1220 Power and Energy Meters - User Manual", "version": "EAV95462-01", "date": "2014-06", "url": "https://download.schneider-electric.com/files?p_enDocType=User+guide&p_File_Name=EAV95462-01.pdf&p_Doc_Ref=EAV95462", "note": "chapter 6, tables 6-1 and 6-3 to 6-11" } ], "notes": [ "Only the EM1200 and EM1220 have the RS485 port; the EM1000 has a pulse output and no Modbus. The file keeps its old name.", "Function 03 to read, 16 to write. Defaults: unit ID 1, 19200 bit/s, even parity, 1 stop bit.", "Addresses are the manual's absolute addresses (3049 is 43049), so this map is 1-based. Every reading is 32 bits in two registers; floats have the word order that Modscan calls swapped (low word first).", "No scaling: the meter sends the full value. The manual does not give the units of power and energy.", "Power, power factor and energy readings return 0 unless the parameter is selected in the setup (Wh/VAh selection). Current, voltage and frequency are only on the EM1220.", "The factory TURBO block (2501-2599) holds the same readings at other addresses and can be reconfigured; it is not listed.", "The setup block (1001-1040) can only be read and written as a whole block, so its registers are read-only in this map.", "Written from the manufacturer's manual; not tested on a device." ], "protocol": "rtu", "unit_id": 1, "baudrate": 19200, "databits": 8, "parity": "E", "stopbits": 1, "byte_order": "big", "word_order": "little", "address_base": 1, "x_status": "official", "enums": { "phases": { "0": "None", "1": "Phase 1", "2": "Phase 2", "3": "Phases 1 and 2", "4": "Phase 3", "5": "Phases 1 and 3", "6": "Phases 2 and 3", "7": "All phases" } }, "registers": [ {"name": "Current average", "group": "Current", "area": "holding", "address": 3057, "type": "float32", "access": "R", "unit": "A", "description": "EM1220 only"}, {"name": "Current phase 1", "group": "Current", "area": "holding", "address": 3009, "type": "float32", "access": "R", "unit": "A", "description": "EM1220 only"}, {"name": "Current phase 2", "group": "Current", "area": "holding", "address": 3025, "type": "float32", "access": "R", "unit": "A", "description": "EM1220 only"}, {"name": "Current phase 3", "group": "Current", "area": "holding", "address": 3041, "type": "float32", "access": "R", "unit": "A", "description": "EM1220 only"}, {"name": "Voltage L-L average", "group": "Voltage", "area": "holding", "address": 3059, "type": "float32", "access": "R", "unit": "V", "description": "EM1220 only"}, {"name": "Voltage L1-L2", "group": "Voltage", "area": "holding", "address": 3011, "type": "float32", "access": "R", "unit": "V", "description": "EM1220 only"}, {"name": "Voltage L2-L3", "group": "Voltage", "area": "holding", "address": 3027, "type": "float32", "access": "R", "unit": "V", "description": "EM1220 only"}, {"name": "Voltage L3-L1", "group": "Voltage", "area": "holding", "address": 3043, "type": "float32", "access": "R", "unit": "V", "description": "EM1220 only"}, {"name": "Voltage L-N average", "group": "Voltage", "area": "holding", "address": 3061, "type": "float32", "access": "R", "unit": "V", "description": "EM1220 only"}, {"name": "Voltage L1-N", "group": "Voltage", "area": "holding", "address": 3013, "type": "float32", "access": "R", "unit": "V", "description": "EM1220 only"}, {"name": "Voltage L2-N", "group": "Voltage", "area": "holding", "address": 3029, "type": "float32", "access": "R", "unit": "V", "description": "EM1220 only"}, {"name": "Voltage L3-N", "group": "Voltage", "area": "holding", "address": 3045, "type": "float32", "access": "R", "unit": "V", "description": "EM1220 only"}, {"name": "Frequency", "group": "Voltage", "area": "holding", "address": 3063, "type": "float32", "access": "R", "unit": "Hz", "description": "EM1220 only"}, {"name": "Active power total", "group": "Power", "area": "holding", "address": 3051, "type": "float32", "access": "R", "description": "Returns 0 unless the parameter is selected in the meter setup"}, {"name": "Active power phase 1", "group": "Power", "area": "holding", "address": 3003, "type": "float32", "access": "R", "description": "Returns 0 unless the parameter is selected in the meter setup"}, {"name": "Active power phase 2", "group": "Power", "area": "holding", "address": 3019, "type": "float32", "access": "R", "description": "Returns 0 unless the parameter is selected in the meter setup"}, {"name": "Active power phase 3", "group": "Power", "area": "holding", "address": 3035, "type": "float32", "access": "R", "description": "Returns 0 unless the parameter is selected in the meter setup"}, {"name": "Reactive power total", "group": "Power", "area": "holding", "address": 3053, "type": "float32", "access": "R", "description": "Returns 0 unless the parameter is selected in the meter setup"}, {"name": "Reactive power phase 1", "group": "Power", "area": "holding", "address": 3005, "type": "float32", "access": "R", "description": "Returns 0 unless the parameter is selected in the meter setup"}, {"name": "Reactive power phase 2", "group": "Power", "area": "holding", "address": 3021, "type": "float32", "access": "R", "description": "Returns 0 unless the parameter is selected in the meter setup"}, {"name": "Reactive power phase 3", "group": "Power", "area": "holding", "address": 3037, "type": "float32", "access": "R", "description": "Returns 0 unless the parameter is selected in the meter setup"}, {"name": "Apparent power total", "group": "Power", "area": "holding", "address": 3049, "type": "float32", "access": "R", "description": "Returns 0 unless the parameter is selected in the meter setup"}, {"name": "Apparent power phase 1", "group": "Power", "area": "holding", "address": 3001, "type": "float32", "access": "R", "description": "Returns 0 unless the parameter is selected in the meter setup"}, {"name": "Apparent power phase 2", "group": "Power", "area": "holding", "address": 3017, "type": "float32", "access": "R", "description": "Returns 0 unless the parameter is selected in the meter setup"}, {"name": "Apparent power phase 3", "group": "Power", "area": "holding", "address": 3033, "type": "float32", "access": "R", "description": "Returns 0 unless the parameter is selected in the meter setup"}, {"name": "Power factor total", "group": "Power factor", "area": "holding", "address": 3055, "type": "float32", "access": "R", "description": "Returns 0 unless the parameter is selected in the meter setup"}, {"name": "Power factor phase 1", "group": "Power factor", "area": "holding", "address": 3007, "type": "float32", "access": "R", "description": "Returns 0 unless the parameter is selected in the meter setup"}, {"name": "Power factor phase 2", "group": "Power factor", "area": "holding", "address": 3023, "type": "float32", "access": "R", "description": "Returns 0 unless the parameter is selected in the meter setup"}, {"name": "Power factor phase 3", "group": "Power factor", "area": "holding", "address": 3039, "type": "float32", "access": "R", "description": "Returns 0 unless the parameter is selected in the meter setup"}, {"name": "Forward apparent energy", "group": "Energy", "area": "holding", "address": 3201, "type": "float32", "access": "R", "description": "Returns 0 unless the parameter is selected in the meter setup"}, {"name": "Forward active energy", "group": "Energy", "area": "holding", "address": 3203, "type": "float32", "access": "R", "description": "Returns 0 unless the parameter is selected in the meter setup"}, {"name": "Forward reactive energy", "group": "Energy", "area": "holding", "address": 3205, "type": "float32", "access": "R", "description": "Returns 0 unless the parameter is selected in the meter setup"}, {"name": "Forward run time", "group": "Energy", "area": "holding", "address": 3265, "type": "uint32", "access": "R", "unit": "s"}, {"name": "On time", "group": "Energy", "area": "holding", "address": 3267, "type": "uint32", "access": "R", "unit": "s"}, {"name": "Voltage interruptions", "group": "Energy", "area": "holding", "address": 3269, "type": "uint32", "access": "R", "description": "Number of input voltage interruptions"}, {"name": "Old forward apparent energy", "group": "Old integrator", "area": "holding", "address": 7001, "type": "float32", "access": "R", "description": "Energy stored at the last integrator reset or overflow"}, {"name": "Old forward active energy", "group": "Old integrator", "area": "holding", "address": 7003, "type": "float32", "access": "R", "description": "Energy stored at the last integrator reset or overflow"}, {"name": "Old forward reactive energy", "group": "Old integrator", "area": "holding", "address": 7005, "type": "float32", "access": "R", "description": "Energy stored at the last integrator reset or overflow"}, {"name": "Old forward run time", "group": "Old integrator", "area": "holding", "address": 7065, "type": "uint32", "unit": "s", "access": "R"}, {"name": "Old on time", "group": "Old integrator", "area": "holding", "address": 7067, "type": "uint32", "unit": "s", "access": "R"}, {"name": "Old voltage interruptions", "group": "Old integrator", "area": "holding", "address": 7069, "type": "uint32", "access": "R"}, {"name": "CT primary", "group": "Setup", "area": "holding", "address": 1001, "type": "float32", "unit": "A", "access": "R", "description": "Setup block: read and write the 40 registers from 1001 as one block"}, {"name": "CT secondary", "group": "Setup", "area": "holding", "address": 1003, "type": "float32", "unit": "A", "access": "R", "description": "Setup block: read and write the 40 registers from 1001 as one block"}, {"name": "PT primary", "group": "Setup", "area": "holding", "address": 1005, "type": "float32", "unit": "V", "access": "R", "description": "Setup block: read and write the 40 registers from 1001 as one block"}, {"name": "PT secondary", "group": "Setup", "area": "holding", "address": 1007, "type": "float32", "unit": "V", "access": "R", "description": "Setup block: read and write the 40 registers from 1001 as one block"}, {"name": "System type", "group": "Setup", "area": "holding", "address": 1009, "type": "uint16", "access": "R", "description": "Setup block: read and write the 40 registers from 1001 as one block", "enum": {"1": "Single-phase", "2": "Two-phase", "3": "Delta", "4": "Star"}}, {"name": "Starting current", "group": "Setup", "area": "holding", "address": 1010, "type": "uint16", "access": "R", "description": "Setup block: read and write the 40 registers from 1001 as one block; 0-200 mA"}, {"name": "PF convention", "group": "Setup", "area": "holding", "address": 1011, "type": "uint16", "access": "R", "description": "Setup block: read and write the 40 registers from 1001 as one block", "enum": {"1": "IEC", "2": "IEEE", "3": "Trigonometric"}}, {"name": "VA function", "group": "Setup", "area": "holding", "address": 1012, "type": "uint16", "access": "R", "description": "Setup block: read and write the 40 registers from 1001 as one block", "enum": {"1": "Arithmetic", "2": "3D"}}, {"name": "Energy parameter", "group": "Setup", "area": "holding", "address": 1013, "type": "uint16", "access": "R", "description": "Setup block: read and write the 40 registers from 1001 as one block", "enum": {"1": "VAh", "2": "Wh"}}, {"name": "Baud rate", "group": "Setup", "area": "holding", "address": 1017, "type": "uint16", "access": "R", "description": "Setup block: read and write the 40 registers from 1001 as one block", "enum": {"3": "4800", "4": "9600", "5": "19200"}}, {"name": "Parity and stop bits", "group": "Setup", "area": "holding", "address": 1018, "type": "uint16", "access": "R", "description": "Setup block: read and write the 40 registers from 1001 as one block", "enum": {"1": "Even, 1 stop bit", "2": "Odd, 1 stop bit", "3": "None, 2 stop bits"}}, {"name": "Unit ID", "group": "Setup", "area": "holding", "address": 1019, "type": "uint16", "access": "R", "description": "Setup block: read and write the 40 registers from 1001 as one block; 1-247"}, {"name": "Clear integrator", "group": "Commands", "area": "holding", "address": 2001, "type": "uint32", "access": "W", "description": "Write 1 (function 16, both registers) to clear the energy integrator"}, {"name": "Load default setup", "group": "Commands", "area": "holding", "address": 2003, "type": "uint32", "access": "W", "description": "Write 1 (function 16, both registers) to restore the default setup"}, {"name": "Display lock", "group": "Commands", "area": "holding", "address": 2005, "type": "uint32", "access": "RW", "enum": {"256": "Operator unlock", "257": "Operator lock", "512": "Supervisor unlock", "514": "Supervisor lock"}, "description": "Read and write both registers together"}, {"name": "Meter on hours", "group": "Diagnostics", "area": "holding", "address": 2701, "type": "uint32", "access": "R"}, {"name": "Meter interruptions", "group": "Diagnostics", "area": "holding", "address": 2703, "type": "uint32", "access": "R"}, {"name": "Reversed current phases", "group": "Diagnostics", "area": "holding", "address": 2705, "type": "uint32", "access": "R", "enum": "phases"}, {"name": "Missing current inputs", "group": "Diagnostics", "area": "holding", "address": 2707, "type": "uint32", "access": "R", "enum": "phases"}, {"name": "Missing voltage inputs", "group": "Diagnostics", "area": "holding", "address": 2709, "type": "uint32", "access": "R", "enum": "phases"}, {"name": "Integrator reset type", "group": "Diagnostics", "area": "holding", "address": 2723, "type": "uint32", "access": "R", "enum": {"0": "No reset", "1": "Auto reset", "2": "Manual reset", "3": "Communication reset"}}, {"name": "Reset parameter", "group": "Diagnostics", "area": "holding", "address": 2725, "type": "uint32", "access": "R", "enum": {"0": "None", "1": "VAh", "2": "Wh"}}, {"name": "Number of resets", "group": "Diagnostics", "area": "holding", "address": 2727, "type": "uint32", "access": "R"}, {"name": "Manufacturer", "group": "Identity", "area": "holding", "address": 1, "type": "string", "length": 10, "access": "R", "reference": "SCHNEIDER ELECTRIC"}, {"name": "Product code", "group": "Identity", "area": "holding", "address": 11, "type": "string", "length": 10, "access": "R", "description": "EM1200 or EM1220"}, {"name": "Firmware version", "group": "Identity", "area": "holding", "address": 21, "type": "string", "length": 5, "access": "R", "role": "firmware", "description": "e.g. V01.02.02"}, {"name": "Firmware version (number)", "group": "Identity", "area": "holding", "address": 26, "type": "uint16", "access": "R", "description": "e.g. 10202 for V01.02.02"}, {"name": "Model", "group": "Identity", "area": "holding", "address": 27, "type": "uint16", "access": "R", "role": "model", "enum": {"403": "EM1000", "404": "EM1200", "405": "EM1220"}}, {"name": "Hardware version", "group": "Identity", "area": "holding", "address": 28, "type": "string", "length": 3, "access": "R"} ] }