Formula to Calculate the Energy 64-bit INT in PM5000 Series
Issue
End user would like to obtain energy values via modbus register.
Product Line
PM5100, PM5110, PM5111, PM5310, PM5330, PM5331, PM5320, PM5340, PM5341, PM5560, PM5563
Environment
64-bit Energy Register
Cause
The energy values are stored in the INT64 bit format.
Resolution:
Formula to calculate the Energy for 64bit INT :
Energy = ( lower 32bit value )+( Higher 32bit value *232)
Energy = ( lower 32bit value )+( Higher 32bit value *4294967296)
Example to calculate the Active Energy Delivered (32 bit Formula)
Read register 3204 and 3206 in UINT32
Formula :
Higher 32 bit value = register value of 3206= 0
Lower 32 bit value= register value of 3204 = 89550842
( lower 32bit value )+( Higher 32bit value *4294967296)= Energy
(89550842)+(0*4294967296) = 89550.842 kWh
Example to calculate the Active Energy Delivered + Received (16 bit Formula)
Read register 3212 through 3215 as UINT16
Energy = ((register 4) * (2^48)) + ((register 3) * (2^32)) + ((register 2) * (2^16)) + (register 1)
Formula:
Energy = ((Reg 3212) * (2^48)) + ((Reg 3213) * (2^32)) + ((Reg 3214) * (2^16)) + (Reg 3215)
Note:
If the user is using Firmware version 1.3.7 then there is an option for Float 32-bit energy registers ( Registers 2700 onwards). The float 32 registers are the replication of the INT64 bit registers.
For more information reference kb FA204140