06.11.2022, 12:15
(06.11.2022, 11:00)CristianAgata Wrote:(06.11.2022, 08:46)JanJJ Wrote: Hello everyone,
Have a small issue with reading Modbus addresses on the Eastron SDM72DM-V2 electricity meter.
It is an error that repeats itself at several addresses, but an example could be when reading volts on phases 1, 2 and 3.
Has exactly the same setup for reading on all three phases.
"manufacturer": "Eastron SDM72DM-V2",
"description": "Three Phase Four Wire Energy Meter",
"read_swap": "n",
"mapping": [
{ "name": "Phase 1 line to neutral volts", "bus_datatype": "float32", "type": "input register", "address": 1, "datatype": "float32", "units": "V " },
{ "name": "Phase 2 line to neutral volts", "bus_datatype": "float32", "type": "input register", "address": 3, "datatype": "float32", "units": "V " },
{ "name": "Phase 3 line to neutral volts", "bus_datatype": "float32", "type": "input register", "address": 5, "datatype": "float32", "units": "V " }
]
}
Phase 1 answer: 234,760
Phase 2 answer: 234,020
Which is correct.
Phase 3 answer: 9,959
Which is not correct.
If I use the LM Read test at address 5, I get the same incorrect reading.
If I put a USB-Modbus reader in my PC and read at address 5, I get 233,331 back. Which is correct.
Have also tried with a KNX/Modbus-Gateway and here I also get the correct answer back.
So what am I doing wrong in my LM Modbus setup.?
Link to Eastron SDM72DM-V2 electricity meter manual/modbus:
https://xn--stromzhler-v5a.eu/media/pdf/...2DM-V2.pdf
Hi, I got a similar problem, and I solved reding registers starting from 0 (if my memory doesn't joke me).
{ "name": "Phase 1 line to neutral volts", "bus_datatype": "float32", "type": "input register", "address": 0, "datatype": "float32", "units": "V " },
{ "name": "Phase 2 line to neutral volts", "bus_datatype": "float32", "type": "input register", "address": 2, "datatype": "float32", "units": "V " },
{ "name": "Phase 3 line to neutral volts", "bus_datatype": "float32", "type": "input register", "address": 4, "datatype": "float32", "units": "V " }
best regards Cristian
Hi, Thanks for the feedback.
Doesn't work for me, unfortunately.
also tried:
{ "name": "Phase 1 line to neutral voltsJ", "bus_datatype": "float32", "type": "input register", "address": 0, "read_offset": 1, "datatype": "float32", "units": "V" },
{ "name": "Phase 2 line to neutral voltsJ", "bus_datatype": "float32", "type": "input register", "address": 2, "read_offset": 1, "datatype": "float32", "units": "V" },
{ "name": "Phase 3 line to neutral voltsJ", "bus_datatype": "float32", "type": "input register", "address": 4, "read_offset": 1, "datatype": "float32", "units": "V" },
{ "name": "Phase 1 line to neutral voltsL", "bus_datatype": "float32", "type": "input register", "address": 0, "read_offset": 1, "datatype": "float32", "units": "V" },
{ "name": "Phase 2 line to neutral voltsL", "bus_datatype": "float32", "type": "input register", "address": 0, "read_offset": 3, "datatype": "float32", "units": "V" },
{ "name": "Phase 3 line to neutral voltsL", "bus_datatype": "float32", "type": "input register", "address": 0, "read_offset": 5, "datatype": "float32", "units": "V" },