switch (variable.VarType.ToUpper())
{
case "BOOL":
variable.VarValue = BitLib.GetBitFrom2BytesArray(result.Content, start, offset,
(DataFormat)device.DataFormat == DataFormat.ABCD || (DataFormat)device.DataFormat == DataFormat.CDAB);
break;
case "BYTE":
variable.VarValue = ByteLib.GetByteFromByteArray(result.Content,
(DataFormat)device.DataFormat == DataFormat.ABCD || (DataFormat)device.DataFormat == DataFormat.CDAB ? start : start + 1);
break;
case "SHORT":
variable.VarValue = ShortLib.GetShortFromByteArray(result.Content, start, (DataFormat)device.DataFormat);
break;
case "USHORT":
variable.VarValue = UShortLib.GetUShortFromByteArray(result.Content, start, (DataFormat)device.DataFormat);
break;
case "INT":
variable.VarValue = IntLib.GetIntFromByteArray(result.Content, start, (DataFormat)device.DataFormat);
break;
case "UINT":
variable.VarValue = UIntLib.GetUIntFromByteArray(result.Content, start, (DataFormat)device.DataFormat);
break;
case "LONG":
variable.VarValue = LongLib.GetLongFromByteArray(result.Content, start, (DataFormat)device.DataFormat);
break;
case "ULONG":
variable.VarValue = ULongLib.GetULongFromByteArray(result.Content, start, (DataFormat)device.DataFormat);
break;
case "FLOAT":
variable.VarValue = FloatLib.GetFloatFromByteArray(result.Content, start, (DataFormat)device.DataFormat);
break;
case "DOUBLE":
variable.VarValue = DoubleLib.GetDoubleFromByteArray(result.Content, start, (DataFormat)device.DataFormat);
break;
case "STRING":
variable.VarValue = StringLib.GetStringFromByteArrayByEncoding(result.Content, start, offset, Encoding.ASCII);
break;
case "BYTEARRAY":
variable.VarValue = ByteArrayLib.GetByteArrayFromByteArray(result.Content, start, offset);
break;
case "HEXSTRING":
variable.VarValue = StringLib.GetHexStringFromByteArray(result.Content, start, offset);
break;
default:
break;
}