It is required to read the value of the second attribute of the parameter "0.0.96.1.0.255".
Case 1: I use code:
public object ReadData(string objectName, int attributeIndex)
{
var dataObject = new GXDLMSData(objectName);
var reply = new GXReplyData();
foreach (byte[] data in Client.Read(dataObject, attributeIndex))
{
ReadDataBlock(data, reply);
}
if (dataObject.GetDataType(attributeIndex) == DataType.None)
{
dataObject.SetDataType(attributeIndex, reply.DataType);
}
return Client.UpdateValue(dataObject, attributeIndex, reply.Value);
}
Type of attribute is DataType.OctetString, UIType of attribute is DataType.None. After calling the method Client.UpdateValue(dataObject, attributeIndex, reply.Value) I get value byte array "0x31 0x38 0x31 0x32 0x36 0x39 0x39 0x30 0x36 0x35".
Case 2:
If I read Association View and use method reader.Read(settings.client.Objects.FindByLN(ObjectType.None, it.Key), it.Value) from .Net example I get
Type of attribute is DataType.OctetString, UIType of attribute is DataType.String. After calling the method Client.UpdateValue(dataObject, attributeIndex, reply.Value) I get value "1812699065". As you can see in the second case, I get a string.
How do I get a string without reading Association View using code from case 1?
Hi,
Hi,
Set UIType to String.
dataObject.SetUIDataType(2, DataType.String);
BR,
Mikko