Modbus read value problem
I am working on an energy measurement project for a customer, in which I intend to implement Comfortclick/bOS as the management system.
I have established a modbus connection between an energy measurement device from Finder and the bOS. I simultaneously noticed that the measurement (voltage, current and power) shown on the Finder display differs from the reading obtained by the bOS which is slightly higher.
Connection Type: Serial
Serial Transmission Mode: RTU
Low Word First: False
Low Byte First: False
Data Format: LittleEndian
Write Function Type: WriteSingle
Read Function Type: ReadSingle
Modbus Table: InputRegisters
Data Format: Signed32Bit (to power) and Unsigned32Bit (to voltage and current)
Scale Factor: 1
Use Status Address: False
Please, could you help me with the configuration in order to get the correct reading?
Customer support service by UserEcho
Could it be that you dont show the correct decimal place so it rounds the value in bOS? How much does it differ?
Read voltage value:
Shown in Finder display: 243.62
Read by bOS: 4278192516 (discarding 427819 and making the appropriate decimal adjustment, the value is 251.6)
This value for bOS seems wrong to me. Why would it display 427819 in front of the real value? Try different data formats.
Also bOS starts counting its addresses from 0. So also try -1 for registers.
Regarding the Data Format, there is no way to change it, as it is unsigned32. Changing Low Word or Low Byte first doesn't work either. About try -1 for registers, which field should I change? I couldn't find it on bOS.
This is the modbus register address.
Or you can use this option. Turn it on and see if the value is correct. Either way i dont think it should have anything before the correct meters value.
Following your recommendation regarding the data format, I decided to access the records individually and, as a result, I changed them from unsigned32 to unsigned16. After that, the reading error problem was solved. Thank you so much!