This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm that you accept these cookies being set.

modbus energy meter
#1
Hello guys! 
Its my first that i integrate with modbus. 
Im using an energy meter from legrand ( EMDX3) and i dont receive measurments and when i check the error logs i get this 
read failed :Illegal function. 
Does ever this happend to anyone else ? 
Here is my profile for the device that i builded 


Attached Files
.json   legrand_energymeter by MaOP.json (Size: 2.63 KB / Downloads: 6)
Reply
#2
You are missing datatype - this will be defined in device manuals. Before making profile use Read test to find correct configuration.
------------------------------
Ctrl+F5
Reply
#3
(03.01.2025, 10:29)Daniel Wrote: You are missing datatype - this will be defined in device manuals.  Before making profile use Read test to find correct configuration.

When i try to do it i get Illegal fuction and illegal data value
Reply
#4
Do you have manuals with registry definition?
------------------------------
Ctrl+F5
Reply
#5
(03.01.2025, 11:09)Daniel Wrote: Do you have manuals with registry definition?

yes , here it is

Attached Files
.pdf   emdx3 multifunction meter modbustable 412045.pdf (Size: 454.17 KB / Downloads: 11)
Reply
#6
You have registers, not inputregisters. Try also subtracting register address by 1
------------------------------
Ctrl+F5
Reply
#7
(03.01.2025, 11:22)Daniel Wrote: You have registers, not inputregisters. Try also subtracting register address by 1
 I tried Both but unfortunately doesnt work
Reply
#8
Try running Read test with the following parameters and post the results.

- Function: Input register (#4)
- Address: 4096
- Data type: uint32
- Read swap: Word (CDAB)

Also try Function = Holding register (#3)
Reply
#9
(03.01.2025, 12:21)admin Wrote: Try running Read test with the following parameters and post the results.

- Function: Input register (#4)
- Address: 4096
- Data type: uint32
- Read swap: Word (CDAB)

Also try Function = Holding register (#3)

With holding register i get the volts.. but i dont get the value in the group address.

Attached Files Thumbnail(s)
       
Reply
#10
Try this
Code:
"address": 4096,
"name": "Voltage L1",
"bus_datatype": "float32",
"type": "register",
"units": "V",
"description": "Voltage of phase L1",
"datatype": "uint32",
"value_multiplier": 0.001
------------------------------
Ctrl+F5
Reply
#11
(03.01.2025, 14:18)Daniel Wrote: Try this
Code:
"address": 4096,
"name": "Voltage L1",
"bus_datatype": "float32",
"type": "register",
"units": "V",
"description": "Voltage of phase L1",
"datatype": "uint32",
"value_multiplier": 0.001

it worked, i will do it for all and i will update you

(03.01.2025, 14:18)Daniel Wrote: Try this
Code:
"address": 4096,
"name": "Voltage L1",
"bus_datatype": "float32",
"type": "register",
"units": "V",
"description": "Voltage of phase L1",
"datatype": "uint32",
"value_multiplier": 0.001

it worked, i will do it for all and i will update you
Reply
#12
It works perfecty!!! 
Thank you gus i will add the profile so if anynone need it to be ready!!

Attached Files
.json   legrand_energymeter EMDX3 tested26.json (Size: 3.34 KB / Downloads: 6)
Reply


Forum Jump: