You can try to read the selected column using ReadRowsByEntry or ReadRowsByRange methods. I can say for sure that there are several meter manufacturers who don't support reading only part of the columns, but you can try. If you are planning to read multiple meter manufacturers you need to test this for each meter individually.
You can't do that with GXDLMSDirector, but you can do it using ReadRowsByRange. For the columns collection you give columns what you want to read. Something like:
I have performed the same steps that you have suggested.
Added two columns in the list and read Instant Profile data(1.0.94.91.0.255) from the meter and in the response got
"Device Reports an unavailable object".
List<GXKeyValuePair<GXDLMSObject, GXDLMSCaptureObject>> columns =
new List<GXKeyValuePair<GXDLMSObject, GXDLMSCaptureObject>>();
GXDLMSRegister voltage = new GXDLMSRegister("1.0.12.7.0.255");
GXDLMSRegister current = new GXDLMSRegister("1.0.11.7.0.255");
columns.Add(new GXKeyValuePair<GXDLMSObject, GXDLMSCaptureObject>(voltage,new GXDLMSCaptureObject(2,0)));
columns.Add(new GXKeyValuePair<GXDLMSObject, GXDLMSCaptureObject>(current, new GXDLMSCaptureObject(2, 0)));
Hi Bhaumik,
Hi Bhaumik,
You can try to read the selected column using ReadRowsByEntry or ReadRowsByRange methods. I can say for sure that there are several meter manufacturers who don't support reading only part of the columns, but you can try. If you are planning to read multiple meter manufacturers you need to test this for each meter individually.
BR,
Mikko
Hi Mikko,
Hi Mikko,
Using ReadRowsByEntry or ReadRowsByRange methods, we can read selected entries only.
But in my case I want to read specific field data, Like out of 10 parameters want to read only 5 parameters. Is that possible?
Regards
Bhaumik
Hi Bhaumik,
Hi Bhaumik,
You can do this if you set the columns that you want to read as the last parameter for Using ReadRowsByEntry or ReadRowsByRange methods.
ANSI C and ANSI C++ are not supporting this, but it's possible to do using Java, C#, or Python.
BR,
Mikko
Hi Mikko,
Hi Mikko,
I want to read only highlighted fields from the buffer of profile generic data instead of all buffer data. How can I read that?
Please see attached image.
Please provide your suggestion.
Regards
Bhaumik
Hi,
Hi,
You can't do that with GXDLMSDirector, but you can do it using ReadRowsByRange. For the columns collection you give columns what you want to read. Something like:
List<GXKeyValuePair<GXDLMSObject, GXDLMSCaptureObject>> columns = new List<GXKeyValuePair<GXDLMSObject, GXDLMSCaptureObject>>();
columns.Add(new GXKeyValuePair<GXDLMSObject, GXDLMSCaptureObject>(clock, GXDLMSCaptureObject(2, 0)));
//Add other objects in the same way.
ReadRowsByRange(pg, DateTime.Now.Date, DateTime.Now, columns);
You can read capture objects parameter and remove objects that you don't want to read and then use that to read only those values you need.
BR,
Mikko
Hi Mikko,
Hi Mikko,
I have performed the same steps that you have suggested.
Added two columns in the list and read Instant Profile data(1.0.94.91.0.255) from the meter and in the response got
"Device Reports an unavailable object".
List<GXKeyValuePair<GXDLMSObject, GXDLMSCaptureObject>> columns =
new List<GXKeyValuePair<GXDLMSObject, GXDLMSCaptureObject>>();
GXDLMSRegister voltage = new GXDLMSRegister("1.0.12.7.0.255");
GXDLMSRegister current = new GXDLMSRegister("1.0.11.7.0.255");
columns.Add(new GXKeyValuePair<GXDLMSObject, GXDLMSCaptureObject>(voltage,new GXDLMSCaptureObject(2,0)));
columns.Add(new GXKeyValuePair<GXDLMSObject, GXDLMSCaptureObject>(current, new GXDLMSCaptureObject(2, 0)));
tmp = gXConnections.Client.ReadRowsByRange(CurrentProfileGeneric, start, end,columns);
Can you please provide your suggestion?
Regards
Bhaumik
Hi Mikko,
Hi Mikko,
Can you please provide input?
Regards
Bhaumik
Hi,
Hi,
If the Logical name of the CurrentProfileGeneric is correct the reason is what I was afraid of. This feature is not implemented for the meter.
You need to read data from all columns. You can also ask if there is a firmware update available for the meter where this is fixed.
BR,
Mikko