Using the EKM iSerial TCP/IP Ethernet to RS-485 Converter
Posted: Wed Jul 30, 2014 1:19 pm
We're using the EKM iSerial v.2 TCP/IP Ethernet to RS-485 Serial Converter(1) to communicate with 8 daisy-chained Modbus RTU devices over ethernet.
The devices in question are three-phase NF29 digital smart meters(2) by Trinity of India.
As described in this blog post(3), the read addresses begin at 3000 in three-phase mode.
We first tried using libmodbus(4) in tcp mode.
This is what was transmitted when we tried to read 2 bytes from meter number 5, starting at address 3000 (2999 as zero-indexed):
[00][01][00][00][00][06][05][03][0B][B7][00][02]
The response was:
Waiting for a confirmation...
[03][04][00][00][00][00][BF][F3][05]
Invalid TID received 0x304 (not 0x1)
Invalid data
Since we weren't sure what kind of transformation the EKM converter might be doing to the message, we also tried creating the byte stream expected in RTU mode, including the checksum, and sending that over tcp, to the ip and port where the EKM converter is running.
Here's what we sent:
[05][03][0b][b7][00][02][77][8d]
The very first response was:
read 1 bytes
05
When we tried the same request a second time (we were closing the tcp socket after every request), we got this:
read 4 bytes
03040000
And then each subsequent request of the same sequence of bytes (i.e., [05][03][0b][b7][00][02][77][8d]) resulted in the same response from the EKM converter, appended to the previous responses:
read 8 bytes
030400000000bff3
read 13 bytes
030400000000bff30503040000
read 17 bytes
030400000000bff305030400000000bff3
Basically, we kept getting the same reponse pattern from the EKM converter -- [03][04][00][00][00][00][BF][F3][05] -- no matter what we sent (later we tried different meter numbers, start addresses and number of bytes to read, but always the same response).
So that's why we started thinking that we have misconfigured the EKM converter somehow.
We are certain the wiring is correct, and we are using the default ip address and data control port settings (192.168.1.125 and 5000 respectively) to coomunicate with the EKM converter.
Is it a configuration issue, or is the EKM converter not compatible with non-EKM meters?
(1) http://www.ekmmetering.com/ekm-metering ... ction.html
(2) http://www.trinityenergy.co.in/products/nf29.htm
(3) http://www.automation-talk.info/2010/12 ... eters.html
(4) http://libmodbus.org/
The devices in question are three-phase NF29 digital smart meters(2) by Trinity of India.
As described in this blog post(3), the read addresses begin at 3000 in three-phase mode.
We first tried using libmodbus(4) in tcp mode.
This is what was transmitted when we tried to read 2 bytes from meter number 5, starting at address 3000 (2999 as zero-indexed):
[00][01][00][00][00][06][05][03][0B][B7][00][02]
The response was:
Waiting for a confirmation...
[03][04][00][00][00][00][BF][F3][05]
Invalid TID received 0x304 (not 0x1)
Invalid data
Since we weren't sure what kind of transformation the EKM converter might be doing to the message, we also tried creating the byte stream expected in RTU mode, including the checksum, and sending that over tcp, to the ip and port where the EKM converter is running.
Here's what we sent:
[05][03][0b][b7][00][02][77][8d]
The very first response was:
read 1 bytes
05
When we tried the same request a second time (we were closing the tcp socket after every request), we got this:
read 4 bytes
03040000
And then each subsequent request of the same sequence of bytes (i.e., [05][03][0b][b7][00][02][77][8d]) resulted in the same response from the EKM converter, appended to the previous responses:
read 8 bytes
030400000000bff3
read 13 bytes
030400000000bff30503040000
read 17 bytes
030400000000bff305030400000000bff3
Basically, we kept getting the same reponse pattern from the EKM converter -- [03][04][00][00][00][00][BF][F3][05] -- no matter what we sent (later we tried different meter numbers, start addresses and number of bytes to read, but always the same response).
So that's why we started thinking that we have misconfigured the EKM converter somehow.
We are certain the wiring is correct, and we are using the default ip address and data control port settings (192.168.1.125 and 5000 respectively) to coomunicate with the EKM converter.
Is it a configuration issue, or is the EKM converter not compatible with non-EKM meters?
(1) http://www.ekmmetering.com/ekm-metering ... ction.html
(2) http://www.trinityenergy.co.in/products/nf29.htm
(3) http://www.automation-talk.info/2010/12 ... eters.html
(4) http://libmodbus.org/