Modbus Meter Hager ECR380D

leeroybrown

Member
Join Date
Mar 2024
Location
sali
Posts
4
Hi everyone,
struggling with a Modbus meter here, not getting anything sensible back :(.
It does not seem to respond with anything from its datasheet, is this actually a Rayleigh instrument meter?

XMT: [100][000][000][000][000][006][012][003][019][191][000][004]
RCV: [100][000][000][000][000][003][012][131][002]
 
Can you give more information about what device you are using as the Modbus Master?

As per usual with Modbus Comms, after you succeed in getting any response, if the data looks wonky, check for whether the devices on each end are using 0 or 1 based data addressing and when dealing with 32 bit values, word order may need to be swapped.
 
I'm a little confused because the XMT and RCV packets you show seem to be Modbus/TCP packets, but I believe the meter supports only Modbus RTU. Are you using a Modbus/TCP to Modbus RTU converter as well?

Regardless, your XMT packet shows you are requesting 4 holding registers starting at register address 5055. The RCV packet you're getting back is an exception response, code 02 ILLEGAL DATA ADDRESS. This means that the registers you're requesting do not exist on the device.

Looking at the device's Modbus table (https://hager.com/intl-en/products/...le/190724_MODBUS_TABLE_FOR_ENERGY_METERS.XLS/), comparing the Address DEC with Address HEX columns, it looks like you need to request starting at register address 45056, not 5055 (this document seems to use 0-based register addressing since B000 hex is equal to 45056). This document is especially confusing because one would assume that 45056 would be Modbus reference notation indicating Holding Register 5056 (which would be register address 5055 in the packet), but it is not. The 45056 is a 0-based register address.

For additional background, details on the different Modbus register numbering schemes can be found in my post here:

I'm not sure what method your master/client uses, but I would guess you entered 45056 in your client to get the XMT packet you show there, so you may need to enter 445057 in order for your master/client to actually request register address 45056.
 
jshilze, thank you very much for taking the time to have a look at this issue for me, i will go to this site tomorow and check to see if this is the fix. again thanks for taking the time. i can honestly say that this metre had beaten me
 
Dude, it worked.
thank you so much, it has saved countless hours and posibly removing them. but i cant help but feel i will fall into this trap again. what pointed you towards the additional register needed?
 
I'm glad it worked. Please reread my previous post, as I believe it already answers your question. Specifically, the Modbus register numbering post I linked to and the line, "this document seems to use 0-based register addressing since B000 hex is equal to 45056." Hexadecimal register addresses are always 0-based (at least I've never seen or heard of a case where they aren't).
 

Similar Topics

Hello gentlemen, Im working on a small project on TIA Portal, about establishing a Modbus TCP connection between my ET200SP plc and a socomec...
Replies
12
Views
313
Hi, i cant establish communication between fatek plc with an energy meter, both capable for modbus tcp, i did with modscan but fatek plc does not...
Replies
1
Views
157
Trying to get a G306A panel to talk to an SDM120CTM meter but i can't make the Red Lion make sense of the response from the meter. Using PC...
Replies
9
Views
858
I have several Siemens 9410 power meters throughout the factory. What is the best way to connect them to Control Logix PLC? Thanks.
Replies
4
Views
1,318
Hi All, I am using an Accuenergy Data Acquisition Server (https://www.accuenergy.com/products/aculink-810-data-acquisition-gateway-server/) to...
Replies
9
Views
2,686
Back
Top Bottom