Modbus Frame Decode

S

Thread Starter

saravanan

Hi,

Can any one help how to understand the value of register from the below HEX CODE reply. For example from reply i can understand register 7001 and 7002 has value of "add1" & "415f", but how to know the exact float value?

This slave is configured to send modbus float data as 2 * 16 bit register. So iam trying to read 5 data's from 7001 t0 7010.


Thanks
Saravanan<pre>
Query
01 03 1B 58 00 0A 42 FA

Reply
01 03 14 AD D1 41 5F D5 77 41 9B 3E B6 42 E1 00 00 00 00 30 45 42 4F 44 42

Frame Analysis
--------------

The frame has no errors.

Response Analysis
-----------------

Device Address =1 =0x01
Function =3 =0x03 =Read Holding Registers
Point Address =47001 (Obtained from Poll)
Point Count =10 (Obtained from Poll)
Point Address =47001 Value=44497=0xadd1
Point Address =47002 Value=16735=0x415f
Point Address =47003 Value=54647=0xd577
Point Address =47004 Value=16795=0x419b
Point Address =47005 Value=16054=0x3eb6
Point Address =47006 Value=17121=0x42e1
Point Address =47007 Value=0 =0000
Point Address =47008 Value=0 =0000
Point Address =47009 Value=12357=0x3045
Point Address =47010 Value=16975=0x424f


Finis.
-----------------------------------------------------</pre>
 
There is an Excel Hex to Float calculator at www.simplymodbus.ca/ieeefloats.xls<pre>
The float values for the bytes you listed are
7001/02 : 41 5F AD D1 : 13.9799356460571
7003/04 : 41 9B D5 77 : 19.4792308807373
7005/06 : 42 E1 3E B6 : 112.622482299805
7007/08 : 00 00 00 00 : 0
7009/10 : 42 4F 30 45 : 51.7971382141113</pre>
 
Top