Scanner 2000 modbus rs485

am testing node-red and I am trying to acquire data by modbus for reading in real time, the problem is that the values ​​are not delivered correctly and the owner register that I use to charge the gas supply does not read or is incorrect. This is a 32-bit holding register parameter. I could not communicate. I would appreciate your guidance.
use rs485 serial port


link de documentacion https://www.sensiaglobal.com/dpapi/v1/assets/documents/492c523f-f7a0-40c8-843a-9a4dc9cf7e3b

That table from the manual is a bit confusing .. it says Holding Registers 32bit but
are you sure 7014 (FR1 Instantaneous Flow Rate) is a 32bit value ?
The reason im asking is because 32bit values need two modbus registers
and usually there should be a gap in the device register numbering in order to save them.
In the table 7014 is directly followed by 7015 which is the Daily Total, without a gap in order for you to read 2 registers. so it must be 16bit ?

Besides that, i see that you get some data in the Modbus Response. Value 18408.
Maybe you need to divide that integer with 100 or 1000 to get a float value of your Flow meter's rate ?
Do you know the real value of the flow rate at that time in order to compare it with what modbus reads?

hello thanks for replying after so much reading see the sensor manual I am currently here in the field with the sensor in real time to review the modbus codes the data that is recorded in the holding register table is a 32bit float data stored in 2 holding registers register stored in codes 8000 to 8999 and and has another code called holding register 32bit that is stored in register from 7000 onwards that saves in the table value as a counter only the last current register after so much testing I was able to communicate the data delivered it was in memory buffer so I transformed it to a 32bit float with the Bufer parser plugin transform the data into 32bit float and the expected data is delivered in real time as it is seen in the sensor viewer


1 Like