Add array of structures to Value of GXDLMSData.

4 posts / 0 new
Last post
Yuriy
Add array of structures to Value of GXDLMSData.

Good day!
I make my practice in Gurux.DLMS.Server.Example.Net project. I need to add specific array to Value of GXDLMSData. Array ought to be an array of structures. I didn't find example of such code in project.

For example there is adding of symple UInt32 dataType:
void AddInvocationCounter()
{
GXDLMSData d = new GXDLMSData("0.0.43.1.0.255");
d.Value = 0;
d.SetDataType(2, DataType.UInt32);
//Set initial value for invocation counter.
d.Value = (UInt32)100;
Items.Add(d);
}

And how can I add array of structures?
struct Example
{
meter_id //octet-string
addr //unsigned
}

void AddArrayOfStructures()
{
GXDLMSData d = new GXDLMSData("0.0.49.1.0.255");
d.Value = 0;
d.SetDataType(2, DataType.Array);

???

Items.Add(d);
}

I hope for your help...

Kurumi
Kurumi's picture

Hi,

You can add it like this:

GXArray arr = new GXArray();
GXStructure struc = new GXStructure();
struc.Add((UInt16) 1);
struc.Add((UInt32) 1);
GXDLMSData d = new GXDLMSData("0.0.49.1.0.255");
d.Value = arr;
arr.Add(struc);

Make sure that your data types are correct or the meter is returning an exception.

BR,
Mikko

________________________________________
Mikko Kurunsaari
Gurux Ltd
http://www.gurux.fi

Yuriy

Thank you for quick response. I'll try.

Yuriy

Works correct. Thank you!