object IGXDLMSBase.GetValue(GXDLMSSettings settings, ValueEventArgs e)
{
if (e.Index == 1)
{
return this.LogicalName;
}
if (e.Index == 2)
{
return this.CurrentAverageValue;
}
if (e.Index == 3)
{
return this.LastAverageValue;
}
if (e.Index == 4)
{
GXByteBuffer data = new GXByteBuffer();
data.SetUInt8((byte)DataType.Structure);
data.SetUInt8(2);
GXCommon.SetData(settings, data, DataType.Int8, _scaler);
GXCommon.SetData(settings, data, DataType.Enum, Unit);
return data.Array();
}
if (e.Index == 5)
{
return this.Status;
}
if (e.Index == 6)
{
return CaptureTime;
}
if (e.Index == 7)
{
return StartTimeCurrent;
}
if (e.Index == 8)
{
return Period;
}
if (e.Index == 9)
{
return NumberOfPeriods;
}
e.Error = ErrorCode.ReadWriteDenied;
return null;
}