Registers on Modbus

General questions and discussions focused around the EKM Metering System. Discuss your meters, installations, and meter communications here.
Post Reply
Inventrex3601
Posts: 3
Joined: Wed Jan 02, 2019 5:35 pm

Registers on Modbus

Post by Inventrex3601 » Wed Jan 02, 2019 5:45 pm

Hi there, new user here, do Modbus registers exist for the V3 meter?

I am trying to use Node-red on a Raspberry Pi to request the L-N Voltage and have it come back with a response. Is there any function code that anyone has that I can test out for a specific parameter suchas L-N Voltage?

The image link is the "node" I am using to request the register. If I can do it through a function node, is there any script to try? I will be experimenting in the meantime to see if I can get it to read through Node-red.

Image

If more clarification is needed please let me know.
Thanks

Jameson
Posts: 759
Joined: Fri Nov 04, 2011 7:42 pm
Location: Santa Cruz, CA
Contact:

Re: Registers on Modbus

Post by Jameson » Thu Jan 03, 2019 11:01 am

Hello there, thank you for posting to the forum.

Very cool to see you are using NodeRed, I got interested in it a while back and made a simple call to the PushAPI (I'll paste in my snippet below). Node Red seems like a good combination of really powerful and easy to understand, I should take another look.

Our meters are not technically Modbus, they do communicate over RS485 like many Modbus devices do, but they use a simple single format call and response. Modbus is too limited by design for what we are trying to accomplish.

(We are developing a multi-protocol EKM/Modbus protocol meter, if you email us, we will let you know when it is available.)

Our meters use a heavily modified version of an IEC 62056-21 communication standard. The v3 and v4 meter protocols are outlined in this section of our Developer Portal: http://documents.ekmmetering.com/api-do ... unications I would say our protocol is easier to understand than modbus in that it is a simple request string that contains the meter number, and if any meter in the string sees its meter number it responds with 90% of its meter data. One huge advantage of our protocol over Modbus, is that our protocol allows for up to 999999999999 unique devices to be used on our system (each of our meters ships with a unique ID), whereas Modbus was created under a different paradigm and only has 255 possible addresses (you would have to assign address 1-255 when you install a meter)

The physical hardware and 2-wire communication system are the same as is used for Modbus. The remote read is a simple 2 wire RS-485 system which allows the meter string (up to 256 meters on a string) to be read from up to 4000 feet away.

This string of meters can then be connected to one of our USB Converters or our EKM Push and from there you can read your meters with a computer or over the internet from anywhere in the world.

Node Red snippet:

Code: Select all

[{"id":"9c2a35fa.419698","type":"http request","z":"c896c7cd.77e708","name":"EKM","method":"GET","ret":"obj","url":"http://io.ekmpush.com/readMeter?meters=300000369&ver=v4&key=MTExOjExMQ&fmt=json&cnt=10","tls":"","x":622.8924102783203,"y":802.5520324707031,"wires":[["ebfee2a0.f326d"]]},{"id":"2e6b9b25.654d84","type":"inject","z":"c896c7cd.77e708","name":"","topic":"","payload":"","payloadType":"date","repeat":"60","crontab":"","once":true,"x":390.89588928222656,"y":764.6180114746094,"wires":[["9c2a35fa.419698"]]},{"id":"1994256c.85003b","type":"debug","z":"c896c7cd.77e708","name":"","active":true,"console":"false","complete":"false","x":969.2813262939453,"y":989.2292058379564,"wires":[]},{"id":"ebfee2a0.f326d","type":"function","z":"c896c7cd.77e708","name":"","func":"\nreturn msg;","outputs":1,"noerr":0,"x":713.829865867709,"y":981.5208843725699,"wires":[["33c99413.ec6c4c","1994256c.85003b"]]},{"id":"33c99413.ec6c4c","type":"file","z":"c896c7cd.77e708","name":"","filename":"Node red file maker","appendNewline":true,"createDir":true,"overwriteFile":"false","x":894.1597671508789,"y":1106.9999465942383,"wires":[]}]
Jameson
EKM METERING
http://www.ekmmetering.com
831.425.7371

Inventrex3601
Posts: 3
Joined: Wed Jan 02, 2019 5:35 pm

Re: Registers on Modbus

Post by Inventrex3601 » Thu Jan 03, 2019 5:51 pm

Hi Jameson,

Thank you for your reply. It has helped a lot.

Is there anyway that you could make a script that reads L1 and L2 Voltage, and comes back with a response so I have something to go off of, in Python?

If you can do that it would save me so much time that way I fully understand how this meter reads and responds, and so I can modify it to read the other parameters.

In Node-red, I can link the script that is created to a node, and have it output and go where I need it to, if the script ends in .py.

Right now I am using the USB to RS-485 converter from you guys plugged into the Pi.

Lastly, Regarding your EKM Push, is that system capable of requesting parameters every second?

Thank you so much for your help,
Nick

Jameson
Posts: 759
Joined: Fri Nov 04, 2011 7:42 pm
Location: Santa Cruz, CA
Contact:

Re: Registers on Modbus

Post by Jameson » Fri Jan 04, 2019 3:51 pm

Please try running the python script here: https://documents.ekmmetering.com/api-d ... ers-py-api

I would always use the EKM Dash to make sure you are able to read your meter via your USB converter. Once you have the Dash successfully reading your meter (you then know your connections are good), then you can implement your own code to make sure your code can still read your meter.

The EKM Push can technically read your meter as fast as once per second. There are data charges if you want to read faster than once per minute.

You can sign up for faster read rates here: https://www.ekmmetering.com/pages/subscription
Jameson
EKM METERING
http://www.ekmmetering.com
831.425.7371

Post Reply