Re: EKM-Omnimeter RS-485 Data
Posted: Mon Jun 17, 2013 8:18 pm
Hi Jameson,
I own a OmniMeter I v3 and I'm trying to connect it with an arduino micro controller. I've had pretty good success so far with the "General Request" parsing http://documents.ekmmetering.com/Meter_ ... ter_v3.pdf There were challenges with something called SoftwareSerial using 7 Data Bytes, Even Parody. But once I got over that I've been able to consistently request the "General Request".
I haven't however had great of success with the advance Command Protocol. http://documents.ekmmetering.com/EKM-Om ... ol_v.3.pdf
I have a couple of questions about the advanced document.
1.) The first one that seems to be stopping me is I can't seem to figure out BCC portion of the "Last kWh" read command. I presume that the BCC is not actually a "Block Check Character" but the same the same CRC16 that is used when parsing the general request above. I don't get a response from the meter when I send it "01 52 31 02 30 30 31 31 03 BCC"
2.) If BCC is the same checksum, which bytes are the checksum calculated with, if not can you elaborate on the BCC?
3.) Once I figure that out, what is the format for the "40 bytes last 1 month" How is it parsed?
4.) What is the format for the "Period Table" and the "Seasons Table". How are they parsed?
5.) Which commands require validating a password and how do I know what the default password is?
6.) Can you go over why the "Request" -> "Return" -> "Read" or "End" exchange is necessary? Is the "General Request" required in order to do "Read" operations? Is there a time limit on when each exchange is expected? Does it time out if it doesn't receive one of the exchange "Reads" or "Requests"?
By the way, I'm also a LabView Developer. I'm in the process of making a labview driver as well.
I own a OmniMeter I v3 and I'm trying to connect it with an arduino micro controller. I've had pretty good success so far with the "General Request" parsing http://documents.ekmmetering.com/Meter_ ... ter_v3.pdf There were challenges with something called SoftwareSerial using 7 Data Bytes, Even Parody. But once I got over that I've been able to consistently request the "General Request".
I haven't however had great of success with the advance Command Protocol. http://documents.ekmmetering.com/EKM-Om ... ol_v.3.pdf
I have a couple of questions about the advanced document.
1.) The first one that seems to be stopping me is I can't seem to figure out BCC portion of the "Last kWh" read command. I presume that the BCC is not actually a "Block Check Character" but the same the same CRC16 that is used when parsing the general request above. I don't get a response from the meter when I send it "01 52 31 02 30 30 31 31 03 BCC"
2.) If BCC is the same checksum, which bytes are the checksum calculated with, if not can you elaborate on the BCC?
3.) Once I figure that out, what is the format for the "40 bytes last 1 month" How is it parsed?
4.) What is the format for the "Period Table" and the "Seasons Table". How are they parsed?
5.) Which commands require validating a password and how do I know what the default password is?
6.) Can you go over why the "Request" -> "Return" -> "Read" or "End" exchange is necessary? Is the "General Request" required in order to do "Read" operations? Is there a time limit on when each exchange is expected? Does it time out if it doesn't receive one of the exchange "Reads" or "Requests"?
By the way, I'm also a LabView Developer. I'm in the process of making a labview driver as well.