I'm trying to gather data from a prometer secure 100 meter. I have a problem because when I'm using GuruxDlmsSample, can see the following help:
GuruxDlmsSample -h [Meter IP Address] -p [Meter Port No] -c 16 -s 1 -r SN
-h host name or IP address.
-p port number or name (Example: 1000).
-S serial port.
-i IEC is a start protocol.
-a Authentication (None, Low, High).
-P Password for authentication.
-c Client address. (Default: 16)
-s Server address. (Default: 1)
-n Server address as serial number.
-r [sn, sn] Short name or Logican Name (default) referencing is used.
-w WRAPPER profile is used. HDLC is default.
-t [Error, Warning, Info, Verbose] Trace messages.
-g "0.0.1.0.0.255:1; 0.0.1.0.0.255:2" Get selected object(s) with given attribute index.
Example:
Read LG device using TCP/IP connection.
GuruxDlmsSample -r SN -c 16 -s 1 -h [Meter IP Address] -p [Meter Port No]
Read LG device using serial port connection.
GuruxDlmsSample -r SN -c 16 -s 1 -sp COM1 -i
Read Indian device using serial port connection.
GuruxDlmsSample -S COM1 -c 16 -s 1 -a Low -P [password]
Then, I try to use -n option but it's not possible. I checked the code and option is not handled. How could I include the serial number of the meter in the request?
Now I gathering data from the meter. For example, the power is getting fine. The problem is when I want to read Load Profile. I'm using the following code:
GXDateTime date1 = new GXDateTime(2018,12,31,10,0,0,0);
GXDateTime date2 = new GXDateTime(2018,12,31,13,0,0,0);
GXDLMSObject clock = new GXDLMSObject();
clock.setLogicalName("0.0.1.0.0.255");
GXDLMSProfileGeneric pg = new GXDLMSProfileGeneric("1.0.99.1.0.255");
pg.setSortObject(clock);
Object[] vals = settings.client.readRowsByRange(pg, date1.getValue(), date2.getValue());
for (int i = 0; i<vals.length;i++) {
reader.showValue(0, vals[i]);
System.out.println( " Value of index "+i+": " + vals[i]);
}
Problem reading with Serial Number
Hi,
We'll add it. What programming language you are using?
BR,
Mikko
Hi Mikko,
Hi Mikko,
Now I gathering data from the meter. For example, the power is getting fine. The problem is when I want to read Load Profile. I'm using the following code:
GXDateTime date1 = new GXDateTime(2018,12,31,10,0,0,0);
GXDateTime date2 = new GXDateTime(2018,12,31,13,0,0,0);
GXDLMSObject clock = new GXDLMSObject();
clock.setLogicalName("0.0.1.0.0.255");
GXDLMSProfileGeneric pg = new GXDLMSProfileGeneric("1.0.99.1.0.255");
pg.setSortObject(clock);
Object[] vals = settings.client.readRowsByRange(pg, date1.getValue(), date2.getValue());
for (int i = 0; i<vals.length;i++) {
reader.showValue(0, vals[i]);
System.out.println( " Value of index "+i+": " + vals[i]);
}
I can read the following output:
java -jar dlmsTest.jar -h xxx.xxx.xxx.xxx -p xxxx -c 24 -g "1.0.1.7.0.255:2" -w -a Low -P XXXXXX
Authentication: Low
ClientAddress: 0x18
ServerAddress: 0x1
Index: 2 Value: 4,953,360 kW
Now reading generic load profile...
Index: 0 Value: 00 01 00 18 00 01 00 0D C0 01 C1 00 07 01 00 63 01 00 FF 02 00
Value of index 0: [B@368239c8
How I should use it?
Thank you so much for your support
Hi,
Hi,
Data depends on the profile generic what you read. Try to read capture objects first. In that way, it helps you a little bit.
BR,
Mikko