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.

Integration of Smart Meter from E-Redes (PORTUGAL)
#1
Good morning,

I'm trying to integrate a smart energy meter from the company that supplies electricity in Portugal (E-Redes).

I have already managed to integrate most of the values through a Schneider Electric AS-P PLC using the RS-485 port in modbus RTU, values shown in the image attached. 

Settings used:
Baudrate: 9600
Parity: None
Stop bits: 2

Now I'm trying to use LM to read the same values.

I started by creating a profile and I can read the long unsigned variables, however I am not able to read the double long unsigned variables.

Can anyone help?

Attached is an image of the correct reading of a long unsigned (Voltage L1) and the non-reading of a double long unsigned (Active Energy Import Sum).

Attached I also leave the settings I have in the PLC for the variable (Active Energy Import Sum) that I am not able to read in the LM.

Attached I also leave the profile that I have unitl right now.


Below is the E-Redes document with the HAN protocol specification, if you need to consult it
https://www.e-redes.pt/sites/eredes/file...44-509.pdf

Attached Files Thumbnail(s)
                       
       
.json   E-Redes_Contador_Trifasico.json (Size: 2.46 KB / Downloads: 1)
Reply
#2
What happens if you read the input register 22 without any data type set and length set to 1?
Reply
#3
(03.04.2024, 15:37)admin Wrote: What happens if you read the input register 22 without any data type set and length set to 1?

I obtain invalid data, image attached.

Attached Files Thumbnail(s)
   
Reply
#4
If you have the values in the AS-P and btw thats not a PLC (: why don’t you just create objects in the LM and expose them to BACnet, do a discovery in the AS-P and bind your objects in the AS-P to the discovered objects?

Another way is creating a Modbus slave network in the AS-P and expose the needed modbus objects to TCP so the LM can read them.

I would definitely go for option 1, few minutes work…

PS: Why are all meters offline in the AS-P? Did you set the correct polling register for online status?
Reply
#5
It looks like this meter has a non-standard Modbus implementation. When reading a single register LM expects the answer to contain 2 bytes of data. But for "double long unsigned" the meter returns 4 bytes instead of 2 and LM rejects such reply. All other manufacturers store such data in multiple registers and LM can read it without any issues.
Reply
#6
(03.04.2024, 18:37)Erwin van der Zwart Wrote: If you have the values in the AS-P and btw thats not a PLC (: why don’t you just create objects in the LM and expose them to BACnet, do a discovery in the AS-P and bind your objects in the AS-P to the discovered objects?

Another way is creating a Modbus slave network in the AS-P and expose the needed modbus objects to TCP so the LM can read them.

I would definitely go for option 1, few minutes work…

PS: Why are all meters offline in the AS-P? Did you set the correct polling register for online status?

Your solotion will work, but my goal is use only LM for read the meter because in residences clients we use LM and not a AS-P.

I have tried with AS-P here in our office because we have one and it's more simple to test it in full and edit the modbus registers to validate the values of the meter.

It's offline because right now it's not physically connected to the AS-P. It's connected to the RS485 port of the LM.

(04.04.2024, 07:46)admin Wrote: It looks like this meter has a non-standard Modbus implementation. When reading a single register LM expects the answer to contain 2 bytes of data. But for "double long unsigned" the meter returns 4 bytes instead of 2 and LM rejects such reply. All other manufacturers store such data in multiple registers and LM can read it without any issues.

So do you think that are a workarround to be able to read with success this "double long unsigned" only with LM?
Reply


Forum Jump: