Hi,
I am trying to fetch the OBIS code (Logical Name) of the Instantaneous Profile using the following code. However, every time I execute it, I only get the values instead of the OBIS code. I have also tried using attributes 1 and 2, but I still receive only the values.
Could you please help me retrieve the OBIS code (Logical Name) correctly?
Here is my code
GXDLMSProfileGeneric profileGeneric = new GXDLMSProfileGeneric(obj.LogicalName);
// Define list of captured objects
var capturedObjectsList = new List<GXKeyValuePair<GXDLMSObject, GXDLMSCaptureObject>>();
// Define capture object
var c = new GXKeyValuePair<GXDLMSObject, GXDLMSCaptureObject>();
GXDLMSData gxobject = new GXDLMSData();
gxobject.LogicalName = obj.LogicalName;
GXDLMSCaptureObject captureObject = new GXDLMSCaptureObject();
captureObject.AttributeIndex = 3;
captureObject.DataIndex = 0;
c.Key = gxobject;
c.Value = captureObject;
// Add the capture object to the list
capturedObjectsList.Add(c);
// Assign the list to the profileGeneric object
profileGeneric.CaptureObjects = capturedObjectsList;
var a = Client.Settings.Objects.GetObjects(ObjectType.ProfileGeneric);
// Start reading
res = Client.ReadRowsByRange(profileGeneric, DateTime.Now.AddDays(-2), DateTime.Now.AddDays(-1), capturedObjectsList);
conn.ReadDataBlock(res, reply);
Every time I run this, I only receive the values, but I need to fetch the OBIS code (Logical Name) instead.
Thanks!
Hi, If you want to know the…
Hi,
If you want to know the logical name for profile generic you need to read attribute index #1 like this:
res = Client.Read(profileGeneric, 1);
conn.ReadDataBlock(res, reply);
https://gurux.fi/Gurux.DLMS.Objects.GXDLMSProfileGeneric
BR,
Mikko