Selec MFM384 Modbus register map

Panel mounted three phase multifunction meter for 3 phase 4 wire, 3 phase 3 wire, 2 phase 3 wire and 1 phase 2 wire systems. The communication model (MFM384-C) has an RS485 Modbus RTU port. Its register list covers voltage, current, power, power factor, frequency, energy, maximum and minimum demand, harmonic distortion, and the configuration and reset parameters. The register list has no unit column and the manual states no scaling: power and energy units follow the parameter names printed there (kW, kVA, kVAr, kWh, kVAh, kVArh), and volts, amps and hertz are the units shown on the display.

Protocol
Modbus RTU
Defaults
Factory settings per the configuration table: slave id 1, 9600 baud, no parity, 1 stop bit. The communication model supports slave addresses 1 to 255, 300 to 19200 bps, parity none, odd or even, and 1 or 2 stop bits.
Addresses in the manual
0-based protocol addresses, as sent on the wire
32 and 64-bit values
Not stated in the manual
Registers listed
107
Checked against
Selec Controls Pvt. Ltd. Operating Instructions, MFM384 SERIES, document OP620-V01 (4 pages, listed on selec.com as the MFM384-C-CU Instruction Manual; PDF created 2017-11-14). Vendor-hosted on selec.com.

Address base. The register list prints two numbers per row: a 5 digit Modicon style number (30000 plus the offset for readable parameters, 40000 plus the offset for readable/writable parameters) and a hex address, for example 30058 with 0x3A and 40008 with 0x08. The hex value equals the printed number minus 30000 or 40000, so the file lists the hex address in decimal, and the printed number is in each note. The first readable value is printed as 30000, so these printed numbers are not the usual 1-based 3xxxx numbers. The manual does not state function codes; readable parameters are placed in the input area and readable/writable parameters in the holding area following the 3x and 4x prefixes, so confirm with a test read. Address 0 in the manual is address 0 on the wire.

Word order. Floats take two registers (Length 2, Data Structure Float). This manual (OP620-V01) does not state the word order. The newer MFM384-1 series manuals (OP2042 and OP805) describe a default of big endian ABCD with a mid little endian option, but they use a different register map, so confirm the order on the device.

Modbus Poll and the Modbus protocol itself count from 0. The "Wire address" column is the number to type into Modbus Poll.

Downloads

The register table has every column on this page. The blocks file imports into Modbus Poll. The template JSON holds the same blocks plus unit, scale and access for scripts.

Registers

107 registers
Manual Wire Register Type Regs Unit Scale Access Area
0 0 Voltage V1NVoltage_V1N · Printed 30000, hex 0x00, two registers. float32 2 V 1 R Input (FC04)
2 2 Voltage V2NVoltage_V2N · Printed 30002, hex 0x02, two registers. float32 2 V 1 R Input (FC04)
4 4 Voltage V3NVoltage_V3N · Printed 30004, hex 0x04, two registers. float32 2 V 1 R Input (FC04)
6 6 Average voltage line to neutralVoltage_LN_Avg · Printed 30006, hex 0x06, two registers. float32 2 V 1 R Input (FC04)
8 8 Voltage V12Voltage_V12 · Printed 30008, hex 0x08, two registers. float32 2 V 1 R Input (FC04)
10 10 Voltage V23Voltage_V23 · Printed 30010, hex 0x0A, two registers. float32 2 V 1 R Input (FC04)
12 12 Voltage V31Voltage_V31 · Printed 30012, hex 0x0C, two registers. float32 2 V 1 R Input (FC04)
14 14 Average voltage line to lineVoltage_LL_Avg · Printed 30014, hex 0x0E, two registers. float32 2 V 1 R Input (FC04)
16 16 Current I1Current_I1 · Printed 30016, hex 0x10, two registers. float32 2 A 1 R Input (FC04)
18 18 Current I2Current_I2 · Printed 30018, hex 0x12, two registers. float32 2 A 1 R Input (FC04)
20 20 Current I3Current_I3 · Printed 30020, hex 0x14, two registers. float32 2 A 1 R Input (FC04)
22 22 Average currentCurrent_Avg · Printed 30022, hex 0x16, two registers. float32 2 A 1 R Input (FC04)
24 24 kW1, phase 1 active powerActivePower_L1 · Printed 30024, hex 0x18, two registers. float32 2 kW 1 R Input (FC04)
26 26 kW2, phase 2 active powerActivePower_L2 · Printed 30026, hex 0x1A, two registers. float32 2 kW 1 R Input (FC04)
28 28 kW3, phase 3 active powerActivePower_L3 · Printed 30028, hex 0x1C, two registers. float32 2 kW 1 R Input (FC04)
30 30 kVA1, phase 1 apparent powerApparentPower_L1 · Printed 30030, hex 0x1E, two registers. float32 2 kVA 1 R Input (FC04)
32 32 kVA2, phase 2 apparent powerApparentPower_L2 · Printed 30032, hex 0x20, two registers. float32 2 kVA 1 R Input (FC04)
34 34 kVA3, phase 3 apparent powerApparentPower_L3 · Printed 30034, hex 0x22, two registers. float32 2 kVA 1 R Input (FC04)
36 36 kVAr1, phase 1 reactive powerReactivePower_L1 · Printed 30036, hex 0x24, two registers. float32 2 kVAr 1 R Input (FC04)
38 38 kVAr2, phase 2 reactive powerReactivePower_L2 · Printed 30038, hex 0x26, two registers. float32 2 kVAr 1 R Input (FC04)
40 40 kVAr3, phase 3 reactive powerReactivePower_L3 · Printed 30040, hex 0x28, two registers. float32 2 kVAr 1 R Input (FC04)
42 42 Total kWActivePower_Total · Printed 30042, hex 0x2A, two registers. float32 2 kW 1 R Input (FC04)
44 44 Total kVAApparentPower_Total · Printed 30044, hex 0x2C, two registers. float32 2 kVA 1 R Input (FC04)
46 46 Total kVArReactivePower_Total · Printed 30046, hex 0x2E, two registers. float32 2 kVAr 1 R Input (FC04)
48 48 PF1, phase 1 power factorPowerFactor_L1 · Printed 30048, hex 0x30, two registers. float32 2 1 R Input (FC04)
50 50 PF2, phase 2 power factorPowerFactor_L2 · Printed 30050, hex 0x32, two registers. float32 2 1 R Input (FC04)
52 52 PF3, phase 3 power factorPowerFactor_L3 · Printed 30052, hex 0x34, two registers. float32 2 1 R Input (FC04)
54 54 Average power factorPowerFactor_Avg · Printed 30054, hex 0x36, two registers. float32 2 1 R Input (FC04)
56 56 FrequencyFrequency · Printed 30056, hex 0x38, two registers. float32 2 Hz 1 R Input (FC04)
58 58 kWh, active energyEnergy_Active · Printed 30058, hex 0x3A, two registers. float32 2 kWh 1 R Input (FC04)
60 60 kVAh, apparent energyEnergy_Apparent · Printed 30060, hex 0x3C, two registers. float32 2 kVAh 1 R Input (FC04)
62 62 kVArh, reactive energyEnergy_Reactive · Printed 30062, hex 0x3E, two registers. float32 2 kVArh 1 R Input (FC04)
64 64 kW MAX active powerActivePower_Max · Printed 30064, hex 0x40, two registers. float32 2 kW 1 R Input (FC04)
66 66 kW MIN active powerActivePower_Min · Printed 30066, hex 0x42, two registers. float32 2 kW 1 R Input (FC04)
68 68 kVAr MAX reactive powerReactivePower_Max · Printed 30068, hex 0x44, two registers. float32 2 kVAr 1 R Input (FC04)
70 70 kVAr MIN reactive powerReactivePower_Min · Printed 30070, hex 0x46, two registers. float32 2 kVAr 1 R Input (FC04)
72 72 kVA MAX apparent powerApparentPower_Max · Printed 30072, hex 0x48, two registers. float32 2 kVA 1 R Input (FC04)
122 122 Neutral currentCurrent_Neutral · Printed 30122, hex 0x7A, two registers. float32 2 A 1 R Input (FC04)
124 124 THD of voltage V1NTHD_Voltage_V1N · Printed 30124, hex 0x7C, two registers. The manual describes these display pages as total percentage harmonics. float32 2 % 1 R Input (FC04)
126 126 THD of voltage V2NTHD_Voltage_V2N · Printed 30126, hex 0x7E, two registers. The manual describes these display pages as total percentage harmonics. float32 2 % 1 R Input (FC04)
128 128 THD of voltage V3NTHD_Voltage_V3N · Printed 30128, hex 0x80, two registers. The manual describes these display pages as total percentage harmonics. float32 2 % 1 R Input (FC04)
130 130 THD of voltage V12THD_Voltage_V12 · Printed 30130, hex 0x82, two registers. The manual describes these display pages as total percentage harmonics. float32 2 % 1 R Input (FC04)
132 132 THD of voltage V23THD_Voltage_V23 · Printed 30132, hex 0x84, two registers. The manual describes these display pages as total percentage harmonics. float32 2 % 1 R Input (FC04)
134 134 THD of voltage V31THD_Voltage_V31 · Printed 30134, hex 0x86, two registers. The manual describes these display pages as total percentage harmonics. float32 2 % 1 R Input (FC04)
136 136 THD of current I1THD_Current_I1 · Printed 30136, hex 0x88, two registers. The manual describes these display pages as total percentage harmonics. float32 2 % 1 R Input (FC04)
138 138 THD of current I2THD_Current_I2 · Printed 30138, hex 0x8A, two registers. The manual describes these display pages as total percentage harmonics. float32 2 % 1 R Input (FC04)
140 140 THD of current I3THD_Current_I3 · Printed 30140, hex 0x8C, two registers. The manual describes these display pages as total percentage harmonics. float32 2 % 1 R Input (FC04)
692 692 MAX I1 demandDemand_Max_I1 · Printed 30692, hex 0x2B4, two registers. float32 2 A 1 R Input (FC04)
694 694 MAX I2 demandDemand_Max_I2 · Printed 30694, hex 0x2B6, two registers. float32 2 A 1 R Input (FC04)
696 696 MAX I3 demandDemand_Max_I3 · Printed 30696, hex 0x2B8, two registers. float32 2 A 1 R Input (FC04)
698 698 MAX average current demandDemand_Max_I_Avg · Printed 30698, hex 0x2BA, two registers. float32 2 A 1 R Input (FC04)
700 700 Phase sequence indicationPhase_Sequence · Printed 30700, hex 0x2BC, two registers. Listed in the float table. The manual gives 0 = OK clockwise, 1 = anticlockwise, 2 = invalid. float32 2 1 R Input (FC04)
702 702 Existing kW MAX active powerExisting_ActivePower_Max · Printed 30702, hex 0x2BE, two registers. Listed in the float table; the manual does not explain what 'Existing' means. float32 2 kW 1 R Input (FC04)
704 704 Existing kW MIN active powerExisting_ActivePower_Min · Printed 30704, hex 0x2C0, two registers. Listed in the float table; the manual does not explain what 'Existing' means. float32 2 kW 1 R Input (FC04)
706 706 Existing kVAr MAX reactive powerExisting_ReactivePower_Max · Printed 30706, hex 0x2C2, two registers. Listed in the float table; the manual does not explain what 'Existing' means. float32 2 kVAr 1 R Input (FC04)
708 708 Existing kVAr MIN reactive powerExisting_ReactivePower_Min · Printed 30708, hex 0x2C4, two registers. Listed in the float table; the manual does not explain what 'Existing' means. float32 2 kVAr 1 R Input (FC04)
710 710 Existing kVA MAX apparent powerExisting_ApparentPower_Max · Printed 30710, hex 0x2C6, two registers. Listed in the float table; the manual does not explain what 'Existing' means. float32 2 kVA 1 R Input (FC04)
712 712 Existing MAX I1 demandExisting_Demand_Max_I1 · Printed 30712, hex 0x2C8, two registers. Listed in the float table; the manual does not explain what 'Existing' means. float32 2 A 1 R Input (FC04)
714 714 Existing MAX I2 demandExisting_Demand_Max_I2 · Printed 30714, hex 0x2CA, two registers. Listed in the float table; the manual does not explain what 'Existing' means. float32 2 A 1 R Input (FC04)
716 716 Existing MAX I3 demandExisting_Demand_Max_I3 · Printed 30716, hex 0x2CC, two registers. Listed in the float table; the manual does not explain what 'Existing' means. float32 2 A 1 R Input (FC04)
718 718 Existing MAX average current demandExisting_Demand_Max_I_Avg · Printed 30718, hex 0x2CE, two registers. Listed in the float table; the manual does not explain what 'Existing' means. float32 2 A 1 R Input (FC04)
0 0 PasswordPassword · Printed 40000, hex 0x00. Range 0 to 9998. uint16 1 1 RW Holding (FC03)
1 1 Network selectionNetwork_Selection · Printed 40001, hex 0x01. 0 = 3P-4W, 1 = 3P-3W, 2 = 1P2W-P1, 3 = 1P2W-P2, 4 = 1P2W-P3. Factory setting 3P4W. uint16 1 1 RW Holding (FC03)
2 2 CT secondaryCT_Secondary · Printed 40002, hex 0x02. Range 1 to 5. Configuration table gives 1A or 5A, factory setting 5. uint16 1 A 1 RW Holding (FC03)
3 3 CT primaryCT_Primary · Printed 40003, hex 0x03. Range 5 to 10000 when CT secondary is 5 A, and 1 to 10000 when CT secondary is 1 A. Factory setting 5. uint16 1 A 1 RW Holding (FC03)
4 4 PT secondaryPT_Secondary · Printed 40004, hex 0x04. Range 100 to 500. Factory setting 350. uint16 1 V 1 RW Holding (FC03)
5 5 PT primaryPT_Primary · Printed 40005, hex 0x05. Range 100 to 500000, length 2 registers. The manual does not state the register order of this two register integer. Factory setting 350. uint32 2 V 1 RW Holding (FC03)
7 7 Slave idSlave_Id · Printed 40007, hex 0x07. Range 1 to 255. Factory setting 1. uint16 1 1 RW Holding (FC03)
8 8 Baud rateBaud_Rate · Printed 40008, hex 0x08. 0x0000 = 300, 0x0001 = 600, 0x0002 = 1200, 0x0003 = 2400, 0x0004 = 4800, 0x0005 = 9600, 0x0006 = 19200 bps. Factory setting 9600. uint16 1 1 RW Holding (FC03)
9 9 ParityParity · Printed 40009, hex 0x09. 0x0000 = none, 0x0001 = odd, 0x0002 = even. Factory setting none. uint16 1 1 RW Holding (FC03)
10 10 Stop bitStop_Bits · Printed 40010, hex 0x0A. 0x0000 = 1 stop bit, 0x0001 = 2 stop bits. Factory setting 1. uint16 1 1 RW Holding (FC03)
11 11 Backlight OFF timeBacklight_Off_Time · Printed 40011, hex 0x0B. Range 0 to 7200. Factory setting 0000. uint16 1 s 1 RW Holding (FC03)
12 12 Factory defaultFactory_Default · Printed 40012, hex 0x0C. Write 1 to set the factory setting range. uint16 1 1 RW Holding (FC03)
13 13 Reset kWhReset_Active_Energy · Printed 40013, hex 0x0D. Write 1 to reset total active energy. uint16 1 1 RW Holding (FC03)
14 14 Reset kVAhReset_Apparent_Energy · Printed 40014, hex 0x0E. Write 1 to reset total apparent energy. uint16 1 1 RW Holding (FC03)
15 15 Reset kVArhReset_Reactive_Energy · Printed 40015, hex 0x0F. Write 1 to reset total reactive energy. uint16 1 1 RW Holding (FC03)
16 16 Auto mode pagesAuto_Mode_Pages · Printed 40016, hex 0x10. Range 1 to 21. Factory setting 21. uint16 1 1 RW Holding (FC03)
17 17 Page address sequence, register 40017Page_Address_Sequence_40017 · Printed 40017, hex 0x11. Range 1 to 21, where 1 is the first page and 21 the last page. uint16 1 1 RW Holding (FC03)
18 18 Page address sequence, register 40018Page_Address_Sequence_40018 · Printed 40018, hex 0x12. Range 1 to 21, where 1 is the first page and 21 the last page. uint16 1 1 RW Holding (FC03)
19 19 Page address sequence, register 40019Page_Address_Sequence_40019 · Printed 40019, hex 0x13. Range 1 to 21, where 1 is the first page and 21 the last page. uint16 1 1 RW Holding (FC03)
20 20 Page address sequence, register 40020Page_Address_Sequence_40020 · Printed 40020, hex 0x14. Range 1 to 21, where 1 is the first page and 21 the last page. uint16 1 1 RW Holding (FC03)
21 21 Page address sequence, register 40021Page_Address_Sequence_40021 · Printed 40021, hex 0x15. Range 1 to 21, where 1 is the first page and 21 the last page. uint16 1 1 RW Holding (FC03)
22 22 Page address sequence, register 40022Page_Address_Sequence_40022 · Printed 40022, hex 0x16. Range 1 to 21, where 1 is the first page and 21 the last page. uint16 1 1 RW Holding (FC03)
23 23 Page address sequence, register 40023Page_Address_Sequence_40023 · Printed 40023, hex 0x17. Range 1 to 21, where 1 is the first page and 21 the last page. uint16 1 1 RW Holding (FC03)
24 24 Page address sequence, register 40024Page_Address_Sequence_40024 · Printed 40024, hex 0x18. Range 1 to 21, where 1 is the first page and 21 the last page. uint16 1 1 RW Holding (FC03)
25 25 Page address sequence, register 40025Page_Address_Sequence_40025 · Printed 40025, hex 0x19. Range 1 to 21, where 1 is the first page and 21 the last page. uint16 1 1 RW Holding (FC03)
26 26 Page address sequence, register 40026Page_Address_Sequence_40026 · Printed 40026, hex 0x1A. Range 1 to 21, where 1 is the first page and 21 the last page. uint16 1 1 RW Holding (FC03)
27 27 Page address sequence, register 40027Page_Address_Sequence_40027 · Printed 40027, hex 0x1B. Range 1 to 21, where 1 is the first page and 21 the last page. uint16 1 1 RW Holding (FC03)
28 28 Page address sequence, register 40028Page_Address_Sequence_40028 · Printed 40028, hex 0x1C. Range 1 to 21, where 1 is the first page and 21 the last page. uint16 1 1 RW Holding (FC03)
29 29 Page address sequence, register 40029Page_Address_Sequence_40029 · Printed 40029, hex 0x1D. Range 1 to 21, where 1 is the first page and 21 the last page. uint16 1 1 RW Holding (FC03)
30 30 Page address sequence, register 40030Page_Address_Sequence_40030 · Printed 40030, hex 0x1E. Range 1 to 21, where 1 is the first page and 21 the last page. uint16 1 1 RW Holding (FC03)
31 31 Page address sequence, register 40031Page_Address_Sequence_40031 · Printed 40031, hex 0x1F. Range 1 to 21, where 1 is the first page and 21 the last page. uint16 1 1 RW Holding (FC03)
32 32 Page address sequence, register 40032Page_Address_Sequence_40032 · Printed 40032, hex 0x20. Range 1 to 21, where 1 is the first page and 21 the last page. uint16 1 1 RW Holding (FC03)
33 33 Page address sequence, register 40033Page_Address_Sequence_40033 · Printed 40033, hex 0x21. Range 1 to 21, where 1 is the first page and 21 the last page. uint16 1 1 RW Holding (FC03)
34 34 Demand interval methodDemand_Interval_Method · Printed 40034, hex 0x22. 0x0000 = sliding, 0x0001 = fixed. Factory setting sliding. uint16 1 1 RW Holding (FC03)
35 35 Demand interval durationDemand_Interval_Duration · Printed 40035, hex 0x23. Range 1 to 30. The manual gives no unit for this row. Factory setting 15. uint16 1 1 RW Holding (FC03)
36 36 Demand interval lengthDemand_Interval_Length · Printed 40036, hex 0x24. Range 1 to 30. Factory setting 1. uint16 1 min 1 RW Holding (FC03)
37 37 Reset MAX kWReset_Max_kW · Printed 40037, hex 0x25. Write 1 to reset the MAX active power. uint16 1 1 RW Holding (FC03)
38 38 Reset MIN kWReset_Min_kW · Printed 40038, hex 0x26. Write 1 to reset the MIN active power. uint16 1 1 RW Holding (FC03)
39 39 Reset MAX kVArReset_Max_kVAr · Printed 40039, hex 0x27. Write 1 to reset the MAX reactive power. uint16 1 1 RW Holding (FC03)
40 40 Reset MIN kVArReset_Min_kVAr · Printed 40040, hex 0x28. Write 1 to reset the MIN reactive power. uint16 1 1 RW Holding (FC03)
41 41 Reset MAX kVAReset_Max_kVA · Printed 40041, hex 0x29. Write 1 to reset the MAX apparent power. uint16 1 1 RW Holding (FC03)
54 54 Page address sequence, register 40054Page_Address_Sequence_40054 · Printed 40054, hex 0x36. Range 1 to 21, where 1 is the first page and 21 the last page. uint16 1 1 RW Holding (FC03)
55 55 Page address sequence, register 40055Page_Address_Sequence_40055 · Printed 40055, hex 0x37. Range 1 to 21, where 1 is the first page and 21 the last page. uint16 1 1 RW Holding (FC03)
59 59 Page address sequence, register 40059Page_Address_Sequence_40059 · Printed 40059, hex 0x3B. Range 1 to 21, where 1 is the first page and 21 the last page. uint16 1 1 RW Holding (FC03)
60 60 Page address sequence, register 40060Page_Address_Sequence_40060 · Printed 40060, hex 0x3C. Range 1 to 21, where 1 is the first page and 21 the last page. uint16 1 1 RW Holding (FC03)
64 64 Reset MAX currentReset_Max_Current · Printed 40064, hex 0x40. Write 1 to reset the MAX current. uint16 1 1 RW Holding (FC03)

Scale is the number to multiply the raw value by to get the unit. Types with more than one register (32 and 64-bit) follow the word order above.

Open in Modbus Poll

  1. Download the Modbus Poll blocks file.
  2. Open Modbus Poll, connect to the device and set its unit ID. The manual does not state the word order for 32-bit values. Check one known value (a voltage or a counter) and switch the setting if it reads wrong.
  3. In the blocks panel on the right, click Import CSV and pick the file. CSV import is a Pro feature. Without Pro, Modbus Poll polls the first 20 values of your blocks.
  4. The wire addresses are already in the file, so there is no 0-based or 1-based conversion to do.

Once the values look right, export the tag list to Ignition, Kepware, Node-RED, Home Assistant or Voltrus SCADA.

Source and accuracy

Manufacturer document: MFM384 SERIES Operating Instructions (www.selec.com)

Selec Controls Pvt. Ltd. Operating Instructions, MFM384 SERIES, document OP620-V01 (4 pages, listed on selec.com as the MFM384-C-CU Instruction Manual; PDF created 2017-11-14). Vendor-hosted on selec.com., p. 1 of 4 (serial communication), p. 2 of 4 (configuration table with factory settings), pp. 3 and 4 of 4 (Modbus register addresses list). Read on 2026-10-24.

Also used: Selec multifunction meter product page (www.selec.com)

Addresses, types, units and scale are taken from the document above. Names and descriptions are written by Voltrus. Firmware versions can differ, so confirm a value on your own device before you rely on it.

Found a mistake? Report it by email with the register address and the manual page.

Other energy meters

All register maps · Modbus addressing explained