Technical FAQs

Ask a Question

How to determine energy values from ION meters using modbus register reads

Issue:
A user would like to read certain values from an ION meter via Modbus register reads. 

Product Line:
ION 7300, 7500, 7600, 7550, 7650, 8300, 8400, 8500, 8600, 8650 series meters

Cause:
Using Modbus Tester to read 'Mod 10' or Int32  type registers will return two types of registers that need to be converted in order to find the Energy decimal value.

Resolution:
There are two register formats that are used to store energy measurements on ION meters. The two register formats are Int32-M10k and Int32. The table below shows which meters utilize each of the formats. Review the table and calculation descriptions shown below. 
 

Meters
               Int32-M10K
                     Int32
ION 7300 Series
                               X
                                  X
ION 7500/7600
                               X
                                  X
ION7550/7650
 
                                  X
ION8600
                              X
                                  X
ION8650
                              X
                                  X
ION8800
                              X
                                  X
ION8300/8400/8500
                              X
                                  X


1) 32-bit integer format
To accommodate values that can reach beyond the 16-bit range, the Modbus Slave module provides 32-bit integer format as an output option.
Value = registerhigh x 65536 + registerlow
or
Value = registerhigh|registerlow

Example:



 

Calculating the kWh del (Import):
230: registerhigh = 18
231: registerlow = 39792
kWh = (18*65536) + 39792
kWh = 1219440

The calculated kWh matches with the real time kWh as viewed in ION Setup. 

Another method that can be used is to read these registers is to read the Modbus register values (most significant bit followed by the least significant bit) in hexadecimal format, and convert to decimal using Modbus Tester:





Calculating the kWh del (import):
230: registerhigh (hex) = 0
231: registerlow (hex) = 7550
kWh del (hex) = 7550
kWh del (decimal) = 30,032

Calculating the kWh rec (export):
232: registerhigh (hex) = 7D
233: registerlow (hex) = 19C2
kWh rec (hex) = 7D19C2
kWh rec (decimal) = 8,198,594

The calculated kWh matches with the real time kWh as viewed in ION Setup. 


2) 32-bit ‘Modulus-10000’ format (MOD10)
The Modulo-10000 (M10K) format breaks a 32-bit value into two 16-bit registers,
according to the following relationship:

Formula:
The 32-bit value can be retrieved by the following calculation:
Value = (registerhigh * 10000^1)) + (registerlow * (10000^0))

Example:


Calculating the kWh:
91: registerhigh = 33
92: registerlow = 716
kWh = (33* (10,000^1)) + (716 * (10,000^0))
kWh = 330,716

The calculated kWh matches with the real time kWh as viewed in ION Setup. 

Refer to the Modbus Protocol and Register Map for ION Devices for the Modbus register tables and further register format descriptions.
 

Was this helpful?
What can we do to improve the information ?