07.09.2021, 11:17
Hi all,
I have a Fronius Symo 10kW inverter and Smart Meter installed.
I have built profiles for them both but for the life of me I can't seem to get them to behave.
I have the Fronius Modbus set to Float Mapping.
I connect to the unit via TCP/IP
I can successfully read all registers I want from the Inverter (Device ID 1) as float32 values mapped to float32 objects.
I cannot however read the float values from the Smart Meter (Device ID 240).
I have modbus simulation software that we use for all kinds of modbus testing and it can very easily read the correct float value from the correct register in the smart meter.
Its doing my head in but it seems to be an issue with LM not an issue with the modbus registers or mapping in the smart meter.
The documented address is 40080 but the data actually appears in register 40078 (see screen shot attached)
That is a screenshot showing the registers 40078 containing the average voltage I want to read as a float type with no scaling or multiplication required.
For some reason when I map this to a float32 object the value is all over the shot and not the value retrieved by trusted modbus software.
Hopefully someone can help.
I have a Fronius Symo 10kW inverter and Smart Meter installed.
I have built profiles for them both but for the life of me I can't seem to get them to behave.
I have the Fronius Modbus set to Float Mapping.
I connect to the unit via TCP/IP
I can successfully read all registers I want from the Inverter (Device ID 1) as float32 values mapped to float32 objects.
I cannot however read the float values from the Smart Meter (Device ID 240).
I have modbus simulation software that we use for all kinds of modbus testing and it can very easily read the correct float value from the correct register in the smart meter.
Its doing my head in but it seems to be an issue with LM not an issue with the modbus registers or mapping in the smart meter.
Code:
{
"name": "AC_V_line_average",
"bus_datatype": "14",
"units": "V",
"type": "register",
"address": 40078
}
The documented address is 40080 but the data actually appears in register 40078 (see screen shot attached)
That is a screenshot showing the registers 40078 containing the average voltage I want to read as a float type with no scaling or multiplication required.
For some reason when I map this to a float32 object the value is all over the shot and not the value retrieved by trusted modbus software.
Hopefully someone can help.