Modbus CI867 with MT860 (ISKRA metering device)/ float value reading issue
we have developed a successful communication between 800xa CI867 and MT860 metering device through modbus TCP. The Device data that we need to read is in 32bit float value format (Address: 177 to 188 as mentioned in attached picture) . we have use Word_To_Real conversion block to get actual value. But the final value is matching/accurate according to device actual values.
Details snap shot is in attachment..
Most time the default Word to Real conversion block wont fetch you the actual value. This is due to the data swapping in the registers. For each meter parameter you are receiving data on two registers whose data types should be dint. Now you have to use IEEE754 block to merge this data to get a single 32bit float value.
Use the following link for creating a function block for dint to real conversion block. You can try interchanging the values of two registers(177 and 188) in the input side of the block. Also in the Modbusread block use read address as one less than what mentioned in manual. IF 177 TO 188, Then use %MW10#176.