Ken Moore
Lifetime Supporting Member
Yes another addressing issue, I know that when using Modbus to transfer data from AB to Siemens, one starts at zero and the other starts at one.
When you set up the DB in classic Step7 or PCS7, all the addressing is in bytes. When you are building the DB and you declare a value as Real, it will automatically reserve 4 bytes. It will show something like Byte 0.0 Real, then the next entry will be Byte 4.0.
Since the OP says it was declared as a Real in the DB, then it will try and show real values, something is wrong outside the DB.
Modbus don't standardize order of bytes on integers and real values. That is why modbus drivers have selection for byte orders.
You can check what the 32bit number would translate to as a real value using this website:
https://www.binaryconvert.com/result_float.html
DBW0 is being overwritten with zero.
Yes and no: the writing of the zero is done by the Modbus function code 0x03 Read Holding Registers from an earlier holding register.