Schneider Electric EasyLogic PM1200 Modbus register map

Three-phase digital power meter, the Modbus RTU model of the EasyLogic PM1000 series (the PM1000 has no communications). It reports current, voltage, power, power factor, frequency, THD, demand, energy integrators, run and on hours and power interruption counts, and its setup values can be read and written over RS-485.

Protocol
Modbus RTU
Defaults
Table 6-5 lists Modbus RTU, 8 data bits, even parity, 1 stop bit and device address 1 (valid 1 to 247), with a baud rate of 9600 (user range 4800 to 19200). The setup block (Table 6-22) lists a default baud code of 5.0, which is 19200, so confirm the baud rate on the meter.
Addresses in the manual
1-based register numbers (wire address is the number minus 1)
32 and 64-bit values
Not stated in the manual
Registers listed
88
Checked against
NHA1696401-02, 07/2015 (Schneider Electric document page: version 02, released 1 Jul 2015), vendor hosted

Address base. The manual prints decimal addresses such as 3901 for apparent power total (VA) and says some SCADA software uses a Modbus register address instead: add 40000, giving 43901. Its master software table (Table 6-7, p. 50) then lists 43901 for most PLC and SCADA packages and 3900 for the Siemens PLC and ABB Microscada entries, so wire address = printed number minus 1. Function code 03 is used for reads and 10 (hex) for writes. Values in the 'block only' rows must be read or written as the whole block stated in the note. The manual lists the OLD integrated blocks (Tables 6-18 to 6-20) one address above the forward, reverse and total blocks (for example 3122 against 3121), which overlaps the two register floats, so those rows are not included here. For example 85 in the manual (Model, options and version number) is address 84 on the wire.

Word order. All readings are 32-bit values over two registers. The manual describes the float byte order only through the setup parameter F.SEQ (register 141): 4321 for big-endian and 2143 for swapped big-endian, with a default of 2143, and through the test value 4030201.0 at register 320 that a master writes and reads back to check the byte order. Table 6-7 also tells some masters (ION Enterprise) to use a swapped float and Modscan to use unswapped floating point mode for the same register. The manual does not say which register carries the high word, so check against the meter before relying on it.

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

88 registers
Manual Wire Register Type Regs Unit Scale Access Area
85 84 Model, options and version numberModel_Version · Listed as type Long; read as the model info block (14 registers from 81). Bits 30 to 24 model number (PM1200 is 22, 0x16, PM1000 is 24, 0x18), bits 23 to 16 options, bits 15 to 0 firmware version (see the manual's interpretation steps). uint32 2 1 R Holding (FC03)
101 100 Current primary (A.Pri)Setup_Current_Primary · Setup block: read with function 03 and write with function 10 as a whole block of 40 or 42 registers starting at 101. Range 1.0 to 99 k, default 100.0. float32 2 A 1 RW Holding (FC03)
103 102 Current secondary (A.Sec)Setup_Current_Secondary · Setup block: read with function 03 and write with function 10 as a whole block of 40 or 42 registers starting at 101. Range 1.0 to 6.5, default 5.000. float32 2 A 1 RW Holding (FC03)
105 104 Voltage primary (V.Pri)Setup_Voltage_Primary · Setup block: read with function 03 and write with function 10 as a whole block of 40 or 42 registers starting at 101. Range 100.0 to 999 k, default 415.0. float32 2 V 1 RW Holding (FC03)
107 106 Voltage secondary (V.Sec)Setup_Voltage_Secondary · Setup block: read with function 03 and write with function 10 as a whole block of 40 or 42 registers starting at 101. Range 50.00 to 601.0, default 415.0. float32 2 V 1 RW Holding (FC03)
109 108 System configuration (SYS)Setup_System_Config · Setup block: read with function 03 and write with function 10 as a whole block of 40 or 42 registers starting at 101. Range 2.0 to 6.0, default 3.000. 2.0 = Delta, 3.0 = Star, 4.0 = Wye, 5.0 = 2 Ph, 6.0 = 1 Ph. float32 2 1 RW Holding (FC03)
111 110 Phase labeling (LABL)Setup_Phase_Labeling · Setup block: read with function 03 and write with function 10 as a whole block of 40 or 42 registers starting at 101. Range 0.0 to 4.0, default 0.000. 0.0 = 123, 1.0 = ABC, 2.0 = RST, 3.0 = PQR, 4.0 = RYB. float32 2 1 RW Holding (FC03)
113 112 VA function selection (VA Fn)Setup_VA_Function · Setup block: read with function 03 and write with function 10 as a whole block of 40 or 42 registers starting at 101. Range 0.0 to 1.0, default 0.000. 0.0 = 3D, 1.0 = Arth. float32 2 1 RW Holding (FC03)
115 114 Demand selection (D sel)Setup_Demand_Selection · Setup block: read with function 03 and write with function 10 as a whole block of 40 or 42 registers starting at 101. Range 0.0 to 1.0, default 0.000. 0.0 = Auto, 1.0 = User. float32 2 1 RW Holding (FC03)
117 116 Demand parameter (D Par)Setup_Demand_Parameter · Setup block: read with function 03 and write with function 10 as a whole block of 40 or 42 registers starting at 101. Range 0.0 to 2.0, default 0.000. 0.0 = VA, 1.0 = W, 2.0 = A. float32 2 1 RW Holding (FC03)
119 118 Demand period (D Prd)Setup_Demand_Period · Setup block: read with function 03 and write with function 10 as a whole block of 40 or 42 registers starting at 101. Range 1.0 to 6.0, default 3.000. 1.0 = 5 min, 2.0 = 10 min, 3.0 = 15 min, 4.0 = 20 min, 5.0 = 25 min, 6.0 = 30 min. float32 2 1 RW Holding (FC03)
121 120 Baud rate code (BAUD)Setup_Baud_Rate · Setup block: read with function 03 and write with function 10 as a whole block of 40 or 42 registers starting at 101. Range 3.0 to 5.0, default 5.000. 3.0 = 4800, 4.0 = 9600, 5.0 = 19200. float32 2 1 RW Holding (FC03)
123 122 Parity and stop bit code (PRTY)Setup_Parity_Stop · Setup block: read with function 03 and write with function 10 as a whole block of 40 or 42 registers starting at 101. Range 0.0 to 5.0, default 0.000. 0.0 = Even 1, 1.0 = Even 2, 2.0 = Odd 1, 3.0 = Odd 2, 4.0 = No 1, 5.0 = No 2. float32 2 1 RW Holding (FC03)
125 124 Unit ID (ID)Setup_Unit_ID · Setup block: read with function 03 and write with function 10 as a whole block of 40 or 42 registers starting at 101. Range 1.0 to 247.0, default 1.000. float32 2 1 RW Holding (FC03)
127 126 Percent full scale (F.S%)Setup_Full_Scale_Percent · Setup block: read with function 03 and write with function 10 as a whole block of 40 or 42 registers starting at 101. Range 1 to 100, default 100.0. float32 2 % 1 RW Holding (FC03)
129 128 Overflow parameter selection (OFLO)Setup_Overflow_Parameter · Setup block: read with function 03 and write with function 10 as a whole block of 40 or 42 registers starting at 101. Range 0.0 to 3.0, default 2.000. 0.0 = Wh, 1.0 = VAh, 2.0 = Wh E, 3.0 = VAh E. float32 2 1 RW Holding (FC03)
131 130 Number of poles for RPM (POLE)Setup_Poles · Setup block: read with function 03 and write with function 10 as a whole block of 40 or 42 registers starting at 101. Range 1.0 to 8.0, default 2.000. 1.0 = 2, 2.0 = 4, 3.0 = 6, 4.0 = 8, 5.0 = 10, 6.0 = 12, 7.0 = 14, 8.0 = 16 poles. float32 2 1 RW Holding (FC03)
141 140 Float byte sequence (F.SEQ)Setup_Float_Byte_Sequence · Setup block: read with function 03 and write with function 10 as a whole block of 40 or 42 registers starting at 101. Range 1.0 to 2.0, default 2.0. 1.0 = 4321 (big-endian), 2.0 = 2143 (swapped big-endian). float32 2 1 RW Holding (FC03)
304 303 Health check registerHealth_Check · Used to identify that the meter is present on the network. uint16 1 1 R Holding (FC03)
306 305 Float byte order detection registerFloat_Byte_Order_Detection · Used to identify the float byte order in the meter. The manual does not list the values. uint16 1 1 R Holding (FC03)
311 310 Clear integrators, demand or setup defaultClear_Command · Listed as type Long; function 10 write as a block of 2 registers. 1 = clear INTG and maximum demand, 2 = clear maximum demand, 256 = restore setup defaults. The meter sends an exception for other values when restoring setup defaults. uint32 2 1 W Holding (FC03)
320 319 Float byte test sequence registerFloat_Byte_Test · Block access. The manual says to write 4030201.0 before starting communication and read it back; if they match, the float byte sequence is in sync with the master. Other written values give a data exception. float32 2 1 RW Holding (FC03)
3701 3700 Neutral voltageNeutral_Voltage · Block access only: the manual says this block must be read as a whole, starting at 3701 with 18 registers. Available only through communication, not on the display. float32 2 V 1 R Holding (FC03)
3703 3702 Neutral currentCurrent_Neutral · Block access only: the manual says this block must be read as a whole, starting at 3701 with 18 registers. float32 2 A 1 R Holding (FC03)
3705 3704 Voltage phase angle, phase 1Phase_Angle_Voltage_L1 · Block access only: the manual says this block must be read as a whole, starting at 3701 with 18 registers. The manual says the voltage angles are fixed at 0, 120 and 240 (not measured) and are available only through communication; the unit is taken from those values. float32 2 deg 1 R Holding (FC03)
3707 3706 Voltage phase angle, phase 2Phase_Angle_Voltage_L2 · Block access only: the manual says this block must be read as a whole, starting at 3701 with 18 registers. The manual says the voltage angles are fixed at 0, 120 and 240 (not measured) and are available only through communication; the unit is taken from those values. float32 2 deg 1 R Holding (FC03)
3709 3708 Voltage phase angle, phase 3Phase_Angle_Voltage_L3 · Block access only: the manual says this block must be read as a whole, starting at 3701 with 18 registers. The manual says the voltage angles are fixed at 0, 120 and 240 (not measured) and are available only through communication; the unit is taken from those values. float32 2 deg 1 R Holding (FC03)
3711 3710 Current phase angle, phase 1Phase_Angle_Current_L1 · Block access only: the manual says this block must be read as a whole, starting at 3701 with 18 registers. The unit is assumed to be degrees from the voltage angle note. float32 2 deg 1 R Holding (FC03)
3713 3712 Current phase angle, phase 2Phase_Angle_Current_L2 · Block access only: the manual says this block must be read as a whole, starting at 3701 with 18 registers. The unit is assumed to be degrees from the voltage angle note. float32 2 deg 1 R Holding (FC03)
3715 3714 Current phase angle, phase 3Phase_Angle_Current_L3 · Block access only: the manual says this block must be read as a whole, starting at 3701 with 18 registers. The unit is assumed to be degrees from the voltage angle note. float32 2 deg 1 R Holding (FC03)
3717 3716 Rotations per minuteRPM · Block access only: the manual says this block must be read as a whole, starting at 3701 with 18 registers. float32 2 rpm 1 R Holding (FC03)
3739 3738 Demand time remainingDemand_Time_Remaining · Listed as type Long. Block access only: the demand block is read as a whole, starting at 3721 with 22 registers. The manual gives no unit. uint32 2 1 R Holding (FC03)
3861 3860 Voltage THD, phase 1THD_Voltage_L1 · The meter returns -999 when current through the internal CT is 0.5 A or below or 6 A or above, when the voltage at the measurement terminals is 50 V or below or 600 V or above, or when frequency is above 65 Hz. float32 2 % 1 R Holding (FC03)
3863 3862 Voltage THD, phase 2THD_Voltage_L2 · The meter returns -999 when current through the internal CT is 0.5 A or below or 6 A or above, when the voltage at the measurement terminals is 50 V or below or 600 V or above, or when frequency is above 65 Hz. float32 2 % 1 R Holding (FC03)
3865 3864 Voltage THD, phase 3THD_Voltage_L3 · The meter returns -999 when current through the internal CT is 0.5 A or below or 6 A or above, when the voltage at the measurement terminals is 50 V or below or 600 V or above, or when frequency is above 65 Hz. float32 2 % 1 R Holding (FC03)
3867 3866 Current THD, phase 1THD_Current_L1 · The meter returns -999 when current through the internal CT is 0.5 A or below or 6 A or above, when the voltage at the measurement terminals is 50 V or below or 600 V or above, or when frequency is above 65 Hz. float32 2 % 1 R Holding (FC03)
3869 3868 Current THD, phase 2THD_Current_L2 · The meter returns -999 when current through the internal CT is 0.5 A or below or 6 A or above, when the voltage at the measurement terminals is 50 V or below or 600 V or above, or when frequency is above 65 Hz. float32 2 % 1 R Holding (FC03)
3871 3870 Current THD, phase 3THD_Current_L3 · The meter returns -999 when current through the internal CT is 0.5 A or below or 6 A or above, when the voltage at the measurement terminals is 50 V or below or 600 V or above, or when frequency is above 65 Hz. float32 2 % 1 R Holding (FC03)
3881 3880 Average load percentageLoad_Avg_Percent float32 2 % 1 R Holding (FC03)
3883 3882 Percentage of phase 1 loadLoad_L1_Percent float32 2 % 1 R Holding (FC03)
3885 3884 Percentage of phase 2 loadLoad_L2_Percent float32 2 % 1 R Holding (FC03)
3887 3886 Percentage of phase 3 loadLoad_L3_Percent float32 2 % 1 R Holding (FC03)
3889 3888 Unbalanced percentage loadLoad_Unbalance_Percent float32 2 % 1 R Holding (FC03)
3891 3890 Unbalanced percentage voltageVoltage_Unbalance_Percent float32 2 % 1 R Holding (FC03)
3901 3900 Apparent power, totalApparent_Power_Total float32 2 VA 1 R Holding (FC03)
3903 3902 Active power, totalActive_Power_Total float32 2 W 1 R Holding (FC03)
3905 3904 Reactive power, totalReactive_Power_Total float32 2 VAR 1 R Holding (FC03)
3907 3906 Power factor, average of 3 phasesPower_Factor_Avg float32 2 1 R Holding (FC03)
3909 3908 Line to line voltage, averageVoltage_LL_Avg float32 2 V 1 R Holding (FC03)
3911 3910 Line to neutral voltage, averageVoltage_LN_Avg float32 2 V 1 R Holding (FC03)
3913 3912 Current, average of 3 phasesCurrent_Avg float32 2 A 1 R Holding (FC03)
3915 3914 FrequencyFrequency float32 2 Hz 1 R Holding (FC03)
3917 3916 Apparent power, phase 1Apparent_Power_L1 float32 2 VA 1 R Holding (FC03)
3919 3918 Active power, phase 1Active_Power_L1 float32 2 W 1 R Holding (FC03)
3921 3920 Reactive power, phase 1Reactive_Power_L1 float32 2 VAR 1 R Holding (FC03)
3923 3922 Power factor, phase 1Power_Factor_L1 float32 2 1 R Holding (FC03)
3925 3924 Voltage, phase 1 to phase 2Voltage_L1_L2 float32 2 V 1 R Holding (FC03)
3927 3926 Voltage, phase 1 to neutralVoltage_L1_N float32 2 V 1 R Holding (FC03)
3929 3928 Current, phase 1Current_L1 float32 2 A 1 R Holding (FC03)
3931 3930 Apparent power, phase 2Apparent_Power_L2 float32 2 VA 1 R Holding (FC03)
3933 3932 Active power, phase 2Active_Power_L2 float32 2 W 1 R Holding (FC03)
3935 3934 Reactive power, phase 2Reactive_Power_L2 float32 2 VAR 1 R Holding (FC03)
3937 3936 Power factor, phase 2Power_Factor_L2 float32 2 1 R Holding (FC03)
3939 3938 Voltage, phase 2 to phase 3Voltage_L2_L3 float32 2 V 1 R Holding (FC03)
3941 3940 Voltage, phase 2 to neutralVoltage_L2_N float32 2 V 1 R Holding (FC03)
3943 3942 Current, phase 2Current_L2 float32 2 A 1 R Holding (FC03)
3945 3944 Apparent power, phase 3Apparent_Power_L3 float32 2 VA 1 R Holding (FC03)
3947 3946 Active power, phase 3Active_Power_L3 float32 2 W 1 R Holding (FC03)
3949 3948 Reactive power, phase 3Reactive_Power_L3 float32 2 VAR 1 R Holding (FC03)
3951 3950 Power factor, phase 3Power_Factor_L3 float32 2 1 R Holding (FC03)
3953 3952 Voltage, phase 3 to phase 1Voltage_L3_L1 float32 2 V 1 R Holding (FC03)
3955 3954 Voltage, phase 3 to neutralVoltage_L3_N float32 2 V 1 R Holding (FC03)
3957 3956 Current, phase 3Current_L3 float32 2 A 1 R Holding (FC03)
3959 3958 Forward apparent energyEnergy_Forward_Apparent float32 2 VAh 1 R Holding (FC03)
3961 3960 Forward active energyEnergy_Forward_Active float32 2 Wh 1 R Holding (FC03)
3963 3962 Forward reactive inductive energyEnergy_Forward_Reactive_Inductive float32 2 VARh 1 R Holding (FC03)
3965 3964 Forward reactive capacitive energyEnergy_Forward_Reactive_Capacitive float32 2 VARh 1 R Holding (FC03)
3967 3966 Reverse apparent energyEnergy_Reverse_Apparent float32 2 VAh 1 R Holding (FC03)
3969 3968 Reverse active energyEnergy_Reverse_Active float32 2 Wh 1 R Holding (FC03)
3971 3970 Reverse reactive inductive energyEnergy_Reverse_Reactive_Inductive float32 2 VARh 1 R Holding (FC03)
3973 3972 Reverse reactive capacitive energyEnergy_Reverse_Reactive_Capacitive float32 2 VARh 1 R Holding (FC03)
3975 3974 Present demandDemand_Present · The manual gives no unit. The demand parameter is chosen in setup (D Par: VA, W or A). float32 2 1 R Holding (FC03)
3977 3976 Rising demandDemand_Rising · The manual gives no unit. The demand parameter is chosen in setup (D Par: VA, W or A). float32 2 1 R Holding (FC03)
3979 3978 Maximum demandDemand_Max · The manual gives no unit. The demand parameter is chosen in setup (D Par: VA, W or A). float32 2 1 R Holding (FC03)
3981 3980 Maximum demand occurrence timeDemand_Max_Time · Listed as type Long; the manual does not give the time encoding. uint32 2 1 R Holding (FC03)
3993 3992 On hoursOn_Hours · Listed as type Long. The manual gives no unit beyond the name. uint32 2 1 R Holding (FC03)
3995 3994 Forward run secondsForward_Run_Seconds · Listed as type Long. uint32 2 s 1 R Holding (FC03)
3999 3998 Number of power interruptionsPower_Interruptions · Listed as type Long; the Data Formats table calls INTR a 32-bit unsigned integer. uint32 2 1 R 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: EasyLogic PM1000 Series Power Meter User Guide (PM1200 data communication chapter) (download.se.com)

NHA1696401-02, 07/2015 (Schneider Electric document page: version 02, released 1 Jul 2015), vendor hosted, Chapter 6, pp. 46 to 62 (Tables 6-1 to 6-3, 6-5, 6-8, 6-16, 6-21 to 6-24). Read on 2026-10-24.

Also used: Schneider Electric document page for NHA1696401 EasyLogic PM1000 Series Power Meters User Manual (www.se.com)

Also used: PowerLogic PM1000 Series Power Meters User Manual PLSED309039EN 08/2010 (earlier edition, third party copy used only to locate the register chapter) (www.netelectric.ir)

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.

More from Schneider Electric

All Schneider Electric register maps

Other power meters

All register maps · Modbus addressing explained