Retrieving Measurements


The measurement registers in the instruments are stored as 32 bit (4 byte) IEEE754 floating point numbers. They are transmitted using one of four ENDIAN formats (dependent on the model and its revision: see the model's manual).
Each is arranged as 2, 16 bit words; hence the evenly numbered real Start Addresses in the tables in this document.
The Modbus protocol dictates the retrieval of data as 2 bytes (one word) at a time.
To accommodate Modbus register addressing when the registers are 4 bytes wide, the data has to be retrieved in double words.
The SLAVES require data start ADDRESSES on even numbered register locations and will reject odd numbers and return an exception code.
The SLAVES require the number of DATA words requested in multiples of 2 and will reject odd numbers and return an exception code.

Example 1
Volts L2-L1 - Modbus Address 30001 (Reg. Start Address 0000h)
The Modbus address of this measurement is 30001. The actual register addresses in the SLAVE are 0000h, containing the most significant bits of the floating point measurement and 0001h, containing the least significant bits of the floating point measurement. Both of these registers are 16 bits wide.

Example 2
Volts L3-L2 - Modbus Address 30003 (Reg. Start Address 0002h)
The Modbus address of this measurement is 30003. The actual register addresses in the SLAVE are 0002h, containing the most significant bits of the floating point measurement and 0003h, containing the least significant bits of the floating point measurement. Both of these registers are 16 bits wide.

To calculate the correct register offset within the SLAVE and the correct number of registers to retrieve, use the following formulae:
(Modbus 3x start address - 30001) for the register start address.
(Number of measurements required x 2) for registers required.

See Packet Structure