You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2039 lines
96 KiB
2039 lines
96 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using BatCharging.Service;
|
|
|
|
namespace Module.TBox.Can.Tool
|
|
{
|
|
public class SBMUCANDecoderUtils
|
|
{
|
|
/// <summary>
|
|
/// 换电池标准CAN信号1参数字段字节解析
|
|
/// </summary>
|
|
/// <param name="data">接收的字节数组</param>
|
|
/// <returns>电池标准CAN信号1参数值</returns>
|
|
public static S2MSTATUS Decode0X040141(byte[] data)
|
|
{
|
|
S2MSTATUS msg = new S2MSTATUS();
|
|
msg.SBMUCRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.SBMUALIV = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 4);
|
|
msg.HVPwrOnStatus = BitsConvertUtils.ByteToBitsValue(data, 1, 4, 2);
|
|
msg.HVPwrOffRuquest = BitsConvertUtils.ByteToBitsValue(data, 1, 6, 2);
|
|
msg.LVPwrOffReady = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 2);
|
|
msg.SbmuAddress = BitsConvertUtils.ByteToBitsValue(data, 2, 2, 4);
|
|
msg.ReqDCChrgMode = BitsConvertUtils.ByteToBitsValue(data, 2, 6, 2);
|
|
|
|
byte h = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8);
|
|
byte l = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
int temp = (int)(h << 8) + (int)l;
|
|
msg.PackDispSOC = Convert.ToSingle(temp * 0.002);
|
|
|
|
msg.PackRealSOH = BitsConvertUtils.ByteToBitsValue(data,5, 0, 8);
|
|
msg.SysFltLvl = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 4);
|
|
msg.MainAllowPwrOn = BitsConvertUtils.ByteToBitsValue(data, 6, 4, 2);
|
|
msg.AuxAllowPwrOn = BitsConvertUtils.ByteToBitsValue(data, 6, 6, 2);
|
|
msg.ReqDCChrgStop = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 1);
|
|
msg.StsSysFltID = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 7);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 2
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MALARM1 Decode0X040241(byte[] data)
|
|
{
|
|
S2MALARM1 msg = new S2MALARM1();
|
|
msg.AL1CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.AL1ALIV = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 4);
|
|
msg.AL1CellOverVolt = BitsConvertUtils.ByteToBitsValue(data, 1, 4, 2);
|
|
msg.AL1CellUnderVolt = BitsConvertUtils.ByteToBitsValue(data, 1, 6, 2);
|
|
msg.AL1CellOverTemp = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 2);
|
|
msg.AL1CellUnderTemp = BitsConvertUtils.ByteToBitsValue(data, 2, 2, 2);
|
|
msg.AL1PackOverVolt = BitsConvertUtils.ByteToBitsValue(data, 2, 4, 2);
|
|
msg.AL1PackUnderVolt = BitsConvertUtils.ByteToBitsValue(data, 2, 6, 2);
|
|
msg.AL1ChrgOverCurrFlt = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 2);
|
|
msg.AL1BranDchrgOvrCurFlt = BitsConvertUtils.ByteToBitsValue(data, 3, 2, 2);
|
|
msg.AL1PackDchrgOvrCurFlt = BitsConvertUtils.ByteToBitsValue(data, 3, 4, 2);
|
|
msg.AL1BranRechrgOvrCurFlt = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
msg.AL1PackRechrgOvrCurFlt = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 2);
|
|
msg.AL1ContBranReOvrCurFlt = BitsConvertUtils.ByteToBitsValue(data, 4, 2, 2);
|
|
msg.AL1ContPackReOvrCurFlt = BitsConvertUtils.ByteToBitsValue(data, 4, 4, 2);
|
|
msg.AL1ContBranDisOvrCurFlt = BitsConvertUtils.ByteToBitsValue(data, 4, 6, 2);
|
|
msg.AL1ContPackDisOvrCurFlt = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 2);
|
|
msg.AL1PackOverSOC = BitsConvertUtils.ByteToBitsValue(data, 5, 2, 2);
|
|
msg.AL1PackUnderSOC = BitsConvertUtils.ByteToBitsValue(data, 5, 4, 2);
|
|
msg.AL1BranSumVoltOvrDiff = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
msg.AL1IsoResLowFlt = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 2);
|
|
msg.AL1CellVoltOverDiff = BitsConvertUtils.ByteToBitsValue(data, 6, 2, 2);
|
|
msg.AL1BranchSOCOverDiff = BitsConvertUtils.ByteToBitsValue(data, 6, 4, 2);
|
|
msg.AL1CellTempOverDiff = BitsConvertUtils.ByteToBitsValue(data, 6, 6, 2);
|
|
msg.AL1RTCFlt = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 1);
|
|
msg.AL1InnerCommonFlt = BitsConvertUtils.ByteToBitsValue(data, 7, 1, 1);
|
|
msg.AL1BalaCircuitFlt = BitsConvertUtils.ByteToBitsValue(data, 7, 2, 1);
|
|
msg.AL1WaterCoolWarn = BitsConvertUtils.ByteToBitsValue(data, 7, 3, 1);
|
|
msg.AL1CellVoltSampErr = BitsConvertUtils.ByteToBitsValue(data, 7, 4, 1);
|
|
msg.AL1CellTempSampErr = BitsConvertUtils.ByteToBitsValue(data, 7, 5, 1);
|
|
msg.AL1CellSOCOverDiff = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 0X040341
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MALARM2 Decode0X040341(byte[] data)
|
|
{
|
|
S2MALARM2 msg = new S2MALARM2();
|
|
msg.AL2CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.AL2ALIV = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 4);
|
|
msg.AL2SampLineOpnFlg = BitsConvertUtils.ByteToBitsValue(data, 1, 4, 1);
|
|
msg.AL2VoltOutOfRangeFlg = BitsConvertUtils.ByteToBitsValue(data, 1, 5, 1);
|
|
msg.AL2SysNTCMinorFlt = BitsConvertUtils.ByteToBitsValue(data, 1, 6, 1);
|
|
msg.AL2SysNTCSeriousFlt = BitsConvertUtils.ByteToBitsValue(data, 1, 7, 1);
|
|
msg.AL2DaisyChainComLost = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 1);
|
|
msg.AL2PackSOCJumpFlt = BitsConvertUtils.ByteToBitsValue(data, 2, 1, 1);
|
|
msg.AL2HeatFlmFlt = BitsConvertUtils.ByteToBitsValue(data, 2, 2, 1);
|
|
msg.AL2BranchMsdOffWarn = BitsConvertUtils.ByteToBitsValue(data, 2, 3, 2);
|
|
msg.AL2SysParaNotMatchFlt = BitsConvertUtils.ByteToBitsValue(data, 2, 5, 2);
|
|
|
|
byte h = BitsConvertUtils.ByteToBitsValue(data, 2, 7, 1);
|
|
byte l = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 1);
|
|
int temp = (int)(h << 8) + (int)l;
|
|
msg.AL2ChrgOvrDisCurrFlt = (byte)Convert.ToSingle(temp);
|
|
|
|
msg.AL2ChrgOvrCurrLowTFlt = BitsConvertUtils.ByteToBitsValue(data, 3, 1, 2);
|
|
msg.AL2ChrgOvrCurrNormTFlt = BitsConvertUtils.ByteToBitsValue(data, 3, 3, 2);
|
|
msg.AL2FireProbeFlt = BitsConvertUtils.ByteToBitsValue(data, 3, 5, 1);
|
|
msg.AL2FireProbeComFlt = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 1);
|
|
msg.AL2CurrSensorFlt = BitsConvertUtils.ByteToBitsValue(data, 3, 7, 1);
|
|
msg.AL2ACANComFlt = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 1);
|
|
msg.AL2CSUCommLostFlg = BitsConvertUtils.ByteToBitsValue(data, 4, 1, 1);
|
|
msg.AL2HVBMsgTimeOut = BitsConvertUtils.ByteToBitsValue(data, 4, 2, 1);
|
|
msg.AL2SCANLostFlg = BitsConvertUtils.ByteToBitsValue(data, 4, 3, 1);
|
|
msg.AL2BSPEOverTempFlt = BitsConvertUtils.ByteToBitsValue(data, 4, 4, 1);
|
|
msg.AL2BSPEOverVoltFlt = BitsConvertUtils.ByteToBitsValue(data, 4, 5, 1);
|
|
msg.AL2BSPEUnderVoltFlt = BitsConvertUtils.ByteToBitsValue(data, 4, 6, 1);
|
|
msg.AL2FireAlarmFlt = BitsConvertUtils.ByteToBitsValue(data, 4, 7, 1);
|
|
msg.AL2BMUPwrFlt = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 1);
|
|
msg.AL2HvilFlt = BitsConvertUtils.ByteToBitsValue(data, 5, 1, 1);
|
|
msg.AL2BSPEAllFlt = BitsConvertUtils.ByteToBitsValue(data, 5, 2, 1);
|
|
msg.AL2InnerHVOpnCircuitFlt = BitsConvertUtils.ByteToBitsValue(data, 5, 3, 1);
|
|
msg.AL2CellOverDisChrgWarn = BitsConvertUtils.ByteToBitsValue(data, 5, 4, 2);
|
|
msg.AL2ZZTCutOffRelayFlg = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 1);
|
|
|
|
//
|
|
byte s1 = BitsConvertUtils.ByteToBitsValue(data, 5, 7, 1);
|
|
byte s2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte s3 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8);
|
|
int temp2 = (int)(s1 << 16) + (int)(s2 << 8) + (int)s3;
|
|
msg.AL2Reserved1 = (int)Convert.ToSingle(temp2);
|
|
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
///0X040441
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MPACKINFO Decode0X040441(byte[] data)
|
|
{
|
|
S2MPACKINFO msg = new S2MPACKINFO();
|
|
msg.PackInfoCRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.PackInfoALIV = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 4);
|
|
|
|
byte h1 = BitsConvertUtils.ByteToBitsValue(data, 1, 4, 4);
|
|
byte l1 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte s1 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 4);
|
|
int temp1 = (int)(h1 << 16)+(int)(l1 << 8) + (int)s1;
|
|
msg.BattInVolt = Convert.ToSingle(temp1 * 0.1) - 30000;
|
|
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 3, 4, 4);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte s2 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 4);
|
|
int temp2 = (int)(h2 << 16) + (int)(l2 << 8) + (int)s2;
|
|
msg.PackCumulVolt = Convert.ToSingle(temp2*0.1);
|
|
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 5, 4, 4);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte s3 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 4);
|
|
int temp3 = (int)(h3 << 16) + (int)(l3 << 8) + (int)s3;
|
|
msg.PackCurr = Convert.ToSingle(temp3 * 0.1) - 2000;
|
|
|
|
msg.PackInfoReserved1 = BitsConvertUtils.ByteToBitsValue(data, 7, 4, 4);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 0X040541
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MBRANCHCURR Decode0X040541(byte[] data)
|
|
{
|
|
S2MBRANCHCURR msg = new S2MBRANCHCURR();
|
|
//OffSet -2000未处理
|
|
byte h = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
byte l = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
int temp = (int)(h << 8) + (int)l;
|
|
msg.Branch1Curr = Convert.ToSingle(temp * 0.1)-2000;
|
|
//OffSet -2000未处理
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.Branch2Curr = Convert.ToSingle(temp2 * 0.1) - 2000;
|
|
//OffSet -2000未处理
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.Branch3Curr = Convert.ToSingle(temp3 * 0.1) - 2000;
|
|
//OffSet -2000未处理
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.Branch4Curr = Convert.ToSingle(temp4 * 0.1) - 2000;
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 6
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MRELAYSTATUS Decode0X040641(byte[] data)
|
|
{
|
|
S2MRELAYSTATUS msg = new S2MRELAYSTATUS();
|
|
msg.Branch1PosRlyStatus = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 1);
|
|
msg.Branch1NegRlyStatus = BitsConvertUtils.ByteToBitsValue(data, 0, 1, 1);
|
|
msg.Branch2PosRlyStatus = BitsConvertUtils.ByteToBitsValue(data, 0, 2, 1);
|
|
msg.Branch2NegRlyStatus = BitsConvertUtils.ByteToBitsValue(data, 0, 3, 1);
|
|
msg.Branch3PosRlyStatus = BitsConvertUtils.ByteToBitsValue(data, 0, 4, 1);
|
|
msg.Branch3NegRlyStatus = BitsConvertUtils.ByteToBitsValue(data, 0, 5, 1);
|
|
msg.Branch4PosRlyStatus = BitsConvertUtils.ByteToBitsValue(data, 0, 6, 1);
|
|
msg.Branch4NegRlyStatus = BitsConvertUtils.ByteToBitsValue(data, 0, 7, 1);
|
|
msg.MainPosRlyStatus = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 1);
|
|
msg.MainNegRlyStatus = BitsConvertUtils.ByteToBitsValue(data, 1, 1, 1);
|
|
msg.PreChrgRlyStatus = BitsConvertUtils.ByteToBitsValue(data, 1, 2, 1);
|
|
msg.HeatPosRlyStatus = BitsConvertUtils.ByteToBitsValue(data, 1, 3, 1);
|
|
msg.HeatNegRlyStatus = BitsConvertUtils.ByteToBitsValue(data, 1, 4, 1);
|
|
msg.RlyStsReserved1 = BitsConvertUtils.ByteToBitsValue(data, 1, 5, 3);
|
|
msg.Branch1PosRlyFlt = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 2);
|
|
msg.Branch1NegRlyFlt = BitsConvertUtils.ByteToBitsValue(data, 2, 2, 2);
|
|
msg.Branch2PosRlyFlt = BitsConvertUtils.ByteToBitsValue(data, 2, 4, 2);
|
|
msg.Branch2NegRlyFlt = BitsConvertUtils.ByteToBitsValue(data, 2, 6, 2);
|
|
msg.Branch3PosRlyFlt = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 2);
|
|
msg.Branch3NegRlyFlt = BitsConvertUtils.ByteToBitsValue(data, 3, 2, 2);
|
|
msg.Branch4PosRlyFlt = BitsConvertUtils.ByteToBitsValue(data, 3, 4, 2);
|
|
msg.Branch4NegRlyFlt = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
msg.MainPosRlyFlt = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 2);
|
|
msg.MainNegRlyFlt = BitsConvertUtils.ByteToBitsValue(data, 4, 2, 2);
|
|
msg.PreChrgPosRlyFlt = BitsConvertUtils.ByteToBitsValue(data, 4, 4, 2);
|
|
msg.HeatPosRlyFlt = BitsConvertUtils.ByteToBitsValue(data, 4, 6, 2);
|
|
msg.HeatNegRlyFlt = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 2);
|
|
msg.Branch1PosRlyCoilFlt = BitsConvertUtils.ByteToBitsValue(data, 5, 2, 1);
|
|
msg.Branch1NegRlyCoilFlt = BitsConvertUtils.ByteToBitsValue(data, 5, 3, 1);
|
|
msg.Branch2PosRlyCoilFlt = BitsConvertUtils.ByteToBitsValue(data, 5, 4, 1);
|
|
msg.Branch2NegRlyCoilFlt = BitsConvertUtils.ByteToBitsValue(data, 5, 5, 1);
|
|
msg.Branch3PosRlyCoilFlt = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 1);
|
|
msg.Branch3NegRlyCoilFlt = BitsConvertUtils.ByteToBitsValue(data, 5, 7, 1);
|
|
msg.Branch4PosRlyCoilFlt = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 1);
|
|
msg.Branch4NegRlyCoilFlt = BitsConvertUtils.ByteToBitsValue(data, 6, 1, 1);
|
|
msg.MainPosRlyCoilFlt = BitsConvertUtils.ByteToBitsValue(data, 6, 2, 1);
|
|
msg.MainNegRlyCoilFlt = BitsConvertUtils.ByteToBitsValue(data, 6, 3, 1);
|
|
msg.PreChrgPosRlyCoilFlt = BitsConvertUtils.ByteToBitsValue(data, 6, 4, 1);
|
|
msg.HeatPosRlyCoilFlt = BitsConvertUtils.ByteToBitsValue(data, 6, 5, 1);
|
|
msg.HeatNegRlyCoilFlt = BitsConvertUtils.ByteToBitsValue(data, 6, 6, 1);
|
|
//
|
|
byte h1 = BitsConvertUtils.ByteToBitsValue(data, 6, 7, 1);
|
|
byte l1 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8);
|
|
int temp = (int)(h1 << 8) + (int)l1;
|
|
msg.RlyStsReserved2 = (ushort )Convert.ToSingle(temp);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 7
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MPACKCURRLMT Decode0X040741(byte[] data)
|
|
{
|
|
S2MPACKCURRLMT msg = new S2MPACKCURRLMT();
|
|
//OffSet -2000未处理
|
|
byte h = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
byte l = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
int temp = (int)(h << 8) + (int)l;
|
|
msg.AllwPulseDischrgCurr = Convert.ToSingle(temp * 0.1)-2000;
|
|
//OffSet -2000未处理
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.AllwPulseRechrgCurr = Convert.ToSingle(temp2 * 0.1) - 2000;
|
|
//OffSet -2000未处理
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.AllwContiDischrgCurr = Convert.ToSingle(temp3 * 0.1) - 2000;
|
|
//OffSet -2000未处理
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.AllwContiRechrgCurr = Convert.ToSingle(temp4 * 0.1) - 2000;
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 8
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MRUNSTATUSINFO Decode0X040841(byte[] data)
|
|
{
|
|
S2MRUNSTATUSINFO msg = new S2MRUNSTATUSINFO();
|
|
//
|
|
byte h = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
byte l = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
int temp = (int)(h << 8) + (int)l;
|
|
msg.PackSoc = Convert.ToSingle(temp * 0.002);
|
|
//OffSet -2000未处理
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.ReqDCChrgCurr = Convert.ToSingle(temp2 * 0.1) - 2000;
|
|
|
|
msg.FullChrgFlg = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 1);
|
|
msg.CellVoltTooLowFlg = BitsConvertUtils.ByteToBitsValue(data, 4, 1, 1);
|
|
msg.SysCellTempRxFlg = BitsConvertUtils.ByteToBitsValue(data, 4, 2, 2);
|
|
msg.SysCellVoltRxFlg = BitsConvertUtils.ByteToBitsValue(data, 4, 4, 2);
|
|
msg.ChrgEn = BitsConvertUtils.ByteToBitsValue(data, 4, 6, 2);
|
|
msg.ChrgFault = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 2);
|
|
msg.ChrgStopReason = BitsConvertUtils.ByteToBitsValue(data, 5, 2, 3);
|
|
msg.ChrgHeatState = BitsConvertUtils.ByteToBitsValue(data, 5, 5, 3);
|
|
|
|
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.ReqDCChrgVolt = Convert.ToSingle(temp3 * 0.1);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 9
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MSUMVOLT Decode0X080141(byte[] data)
|
|
{
|
|
S2MSUMVOLT msg = new S2MSUMVOLT();
|
|
//
|
|
byte h1 = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
byte l1 = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
int temp1 = (int)(h1 << 8) + (int)l1;
|
|
msg.MaxCellVolt = (ushort )Convert.ToSingle(temp1);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.MinCellVolt = (ushort )Convert.ToSingle(temp2);
|
|
|
|
msg.MaxCellVoltCSCNum = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
msg.MaxCellVoltCellNum = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8);
|
|
msg.MinCellVoltCSCNum = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
msg.MinCellVoltCellNum = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 10
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MSUMTEMP Decode0X080241(byte[] data)
|
|
{
|
|
S2MSUMTEMP msg = new S2MSUMTEMP();
|
|
|
|
msg.MaxCellTemp = (byte)(BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8)-50);
|
|
|
|
msg.MinCellTemp = (byte)(BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8)-50);
|
|
|
|
msg.AvgCellTemp = (byte)(BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8)-50);
|
|
|
|
msg.MaxCellTempCSCNum = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
//
|
|
byte h = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
byte l = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 4);
|
|
int temp = (int)(h << 8) + (int)l;
|
|
msg.MaxCellTempCellNum = (byte)Convert.ToSingle(temp);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 4, 4, 4);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 2);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.MinCellTempCSCNum = (byte)Convert.ToSingle(temp2);
|
|
|
|
msg.MinCellTempCellNum = BitsConvertUtils.ByteToBitsValue(data, 5, 2, 6);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.AvgCellVolt = (ushort )Convert.ToSingle(temp3);
|
|
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 11
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MCHRGACCUINFO Decode0X080341(byte[] data)
|
|
{
|
|
S2MCHRGACCUINFO msg = new S2MCHRGACCUINFO();
|
|
//
|
|
byte h = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
byte l = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
byte s = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte p = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8);
|
|
int temp = (int)(h << 24)+ (int)(l << 16)+(int)(s << 8) + (int)p;
|
|
msg.SysAccuChrgEnergy = Convert.ToSingle(temp * 0.1);
|
|
//
|
|
byte h1 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l1 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8);
|
|
byte s1 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte p1 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8);
|
|
int temp1 = (int)(h1 << 24) + (int)(l1 << 16) + (int)(s1 << 8) + (int)p1;
|
|
msg.SysAccuChrgCapacity = Convert.ToSingle(temp1 * 0.1);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 12
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MDISCHRGACCUINFO Decode0X080441(byte[] data)
|
|
{
|
|
S2MDISCHRGACCUINFO msg = new S2MDISCHRGACCUINFO();
|
|
//
|
|
byte h = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
byte l = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
byte s = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte p = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8);
|
|
int temp = (int)(h << 24) + (int)(l << 16) + (int)(s << 8) + (int)p;
|
|
msg.SysAccuDischrgEnergy = Convert.ToSingle(temp * 0.1);
|
|
//
|
|
byte h1 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l1 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8);
|
|
byte s1 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte p1 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8);
|
|
int temp1 = (int)(h1 << 24) + (int)(l1 << 16) + (int)(s1 << 8) + (int)p1;
|
|
msg.SysAccuDischrgCapacity = Convert.ToSingle(temp1 * 0.1);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 13
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MRECHRGACCUINFO Decode0X080541(byte[] data)
|
|
{
|
|
S2MRECHRGACCUINFO msg = new S2MRECHRGACCUINFO();
|
|
//
|
|
byte h = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
byte l = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
byte s = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte p = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8);
|
|
int temp = (int)(h << 24) + (int)(l << 16) + (int)(s << 8) + (int)p;
|
|
msg.SysAccuReChrgEnergy = Convert.ToSingle(temp * 0.1);
|
|
//
|
|
byte h1 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l1 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8);
|
|
byte s1 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte p1 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8);
|
|
int temp1 = (int)(h1 << 24) + (int)(l1 << 16) + (int)(s1 << 8) + (int)p1;
|
|
msg.SysAccuReChrgCapacity = Convert.ToSingle(temp1 * 0.1);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 14
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MISOINFO Decode0X080641(byte[] data)
|
|
{
|
|
S2MISOINFO msg = new S2MISOINFO();
|
|
msg.ISOCRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.ISOALIV = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 4);
|
|
msg.ISOVoltVld = BitsConvertUtils.ByteToBitsValue(data, 1, 4, 1);
|
|
msg.ISOISOSampEnStatus = BitsConvertUtils.ByteToBitsValue(data, 1, 5, 1);
|
|
msg.ISOReserved1 = BitsConvertUtils.ByteToBitsValue(data, 1, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.ISOIsoResPos = (ushort )Convert.ToSingle(temp2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.ISOIsoResNeg = (ushort )Convert.ToSingle(temp3);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.ReminChrgTime = (ushort )Convert.ToSingle(temp4);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 15
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MBRACHSUMVOLT1 Decode0X080741(byte[] data)
|
|
{
|
|
S2MBRACHSUMVOLT1 msg = new S2MBRACHSUMVOLT1();
|
|
//
|
|
byte h = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
byte l = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
int temp = (int)(h << 8) + (int)l;
|
|
msg.Bran1MaxCellVolt =(ushort ) Convert.ToSingle(temp);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.Bran1MinCellVolt = (ushort)Convert.ToSingle(temp2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.Bran2MaxCellVolt = (ushort)Convert.ToSingle(temp3);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.Bran2MinCellVolt = (ushort)Convert.ToSingle(temp4);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 0X080841
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MBRACHSUMVOLT2 Decode0X080841(byte[] data)
|
|
{
|
|
S2MBRACHSUMVOLT2 msg = new S2MBRACHSUMVOLT2();
|
|
//
|
|
byte h = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
byte l = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
int temp = (int)(h << 8) + (int)l;
|
|
msg.Bran3MaxCellVolt = (ushort)Convert.ToSingle(temp);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.Bran3MinCellVolt = (ushort)Convert.ToSingle(temp2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.Bran4MaxCellVolt = (ushort)Convert.ToSingle(temp3);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.Bran4MinCellVolt = (ushort)Convert.ToSingle(temp4);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 0X080941
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MBRACHSUMVOTL3 Decode0X080941(byte[] data)
|
|
{
|
|
S2MBRACHSUMVOTL3 msg = new S2MBRACHSUMVOTL3();
|
|
//
|
|
byte h = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
byte l = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
int temp = (int)(h << 8) + (int)l;
|
|
msg.Bran1CellAvgVolt = (ushort)Convert.ToSingle(temp);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.Bran2CellAvgVolt = (ushort)Convert.ToSingle(temp2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.Bran3CellAvgVolt = (ushort)Convert.ToSingle(temp3);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.Bran4CellAvgVolt = (ushort)Convert.ToSingle(temp4);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 0X081041
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MBRACHSUMTEMP1 Decode0X081041(byte[] data)
|
|
{
|
|
S2MBRACHSUMTEMP1 msg = new S2MBRACHSUMTEMP1();
|
|
|
|
msg.Bran1MaxCellTemp = (byte)(BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8)-50);
|
|
|
|
msg.Bran1MinCellTemp = (byte)(BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8)-50);
|
|
|
|
msg.Bran2MaxCellTemp = (byte)(BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8)-50);
|
|
|
|
msg.Bran2MinCellTemp = (byte)(BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8)-50);
|
|
|
|
msg.Bran3MaxCellTemp = (byte)(BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8)-50);
|
|
|
|
msg.Bran3MinCellTemp = (byte)(BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8)-50);
|
|
|
|
msg.Bran4MaxCellTemp = (byte)(BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8)-50);
|
|
|
|
msg.Bran4MinCellTemp = (byte)(BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8)-50);
|
|
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 19
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MBRACHSUMTEMP2 Decode0X081141(byte[] data)
|
|
{
|
|
S2MBRACHSUMTEMP2 msg = new S2MBRACHSUMTEMP2();
|
|
|
|
msg.Bran1CellAvgTemp = (byte)(BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8)-50);
|
|
|
|
msg.Bran2CellAvgTemp = (byte)(BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8)-50);
|
|
|
|
msg.Bran3CellAvgTemp = (byte)(BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8)-50);
|
|
|
|
msg.Bran4CellAvgTemp = (byte)(BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8)-50);
|
|
|
|
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.PackMinSOC = (ushort)Convert.ToSingle(temp3*0.0025);
|
|
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.BranTempReserved1 = (ushort)Convert.ToSingle(temp4);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 20
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT1 Decode0X0C0141(byte[] data)
|
|
{
|
|
S2MVOLT1 msg = new S2MVOLT1();
|
|
msg.CSCV1CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV1No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV01 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV01QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV02 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV02QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV03 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV03QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 21
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT2 Decode0X0C0241(byte[] data)
|
|
{
|
|
S2MVOLT2 msg = new S2MVOLT2();
|
|
msg.CSCV2CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV2No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV04 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV04QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV05 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV05QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV06 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV06QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 22
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT3 Decode0X0C0341(byte[] data)
|
|
{
|
|
S2MVOLT3 msg = new S2MVOLT3();
|
|
msg.CSCV3CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV3No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV07 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV07QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV08 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV08QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV09 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV09QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 23
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT4 Decode0X0C0441(byte[] data)
|
|
{
|
|
S2MVOLT4 msg = new S2MVOLT4();
|
|
msg.CSCV4CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV4No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV10 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV10QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV11 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV11QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV12 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV12QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 24
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT5 Decode0X0C0541(byte[] data)
|
|
{
|
|
S2MVOLT5 msg = new S2MVOLT5();
|
|
msg.CSCV5CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV5No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV13 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV13QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV14 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV14QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV15 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV15QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 25
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT6 Decode0X0C0641(byte[] data)
|
|
{
|
|
S2MVOLT6 msg = new S2MVOLT6();
|
|
msg.CSCV6CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV6No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV16 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV16QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV17 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV17QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV18 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV18QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 26
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT7 Decode0X0C0741(byte[] data)
|
|
{
|
|
S2MVOLT7 msg = new S2MVOLT7();
|
|
msg.CSCV7CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV7No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV19 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV19QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV20 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV20QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV21 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV21QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 27
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT8 Decode0X0C0841(byte[] data)
|
|
{
|
|
S2MVOLT8 msg = new S2MVOLT8();
|
|
msg.CSCV8CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV8No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV22= (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV22QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV23 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV23QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV24 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV24QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 28
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT9 Decode0X0C0941(byte[] data)
|
|
{
|
|
S2MVOLT9 msg = new S2MVOLT9();
|
|
msg.CSCV9CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV9No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV25 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV25QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV26 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV26QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV27 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV27QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 29
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT10 Decode0X0C0A41(byte[] data)
|
|
{
|
|
S2MVOLT10 msg = new S2MVOLT10();
|
|
msg.CSCV10CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV10No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV28 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV28QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV29 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV29QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV30 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV30QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 30
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT11 Decode0X0C0B41(byte[] data)
|
|
{
|
|
S2MVOLT11 msg = new S2MVOLT11();
|
|
msg.CSCV11CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV11No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV31 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV31QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV32 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV32QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV33 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV33QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 31
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT12 Decode0X0C0C41(byte[] data)
|
|
{
|
|
S2MVOLT12 msg = new S2MVOLT12();
|
|
msg.CSCV12CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV12No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV34 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV34QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV35 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV35QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV36 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV36QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 32
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT13 Decode0X0C0D41(byte[] data)
|
|
{
|
|
S2MVOLT13 msg = new S2MVOLT13();
|
|
msg.CSCV13CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV13No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV37 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV37QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV38 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV38QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV39 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV39QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 33
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT14 Decode0X0C0E41(byte[] data)
|
|
{
|
|
S2MVOLT14 msg = new S2MVOLT14();
|
|
msg.CSCV14CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV14No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV40 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV40QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV41 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV41QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV42 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV42QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 34
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT15 Decode0X0C0F41(byte[] data)
|
|
{
|
|
S2MVOLT15 msg = new S2MVOLT15();
|
|
msg.CSCV15CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV15No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV43 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV43QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV44 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV44QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV45 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV45QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 35
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT16 Decode0X0C1041(byte[] data)
|
|
{
|
|
S2MVOLT16 msg = new S2MVOLT16();
|
|
msg.CSCV16CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV16No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV46 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV46QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV47 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV47QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV48 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV48QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 36
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT17 Decode0X0C1141(byte[] data)
|
|
{
|
|
S2MVOLT17 msg = new S2MVOLT17();
|
|
msg.CSCV17CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV17No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV49 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV49QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV50 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV50QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV51 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV51QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 37
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT18 Decode0X0C1241(byte[] data)
|
|
{
|
|
S2MVOLT18 msg = new S2MVOLT18();
|
|
msg.CSCV18CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV18No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV52 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV52QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV53 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV53QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV54 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV54QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 38
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT19 Decode0X0C1341(byte[] data)
|
|
{
|
|
S2MVOLT19 msg = new S2MVOLT19();
|
|
msg.CSCV19CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV19No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV55 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV55QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV56 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV56QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV57= (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV57QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 39
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT20 Decode0X0C1441(byte[] data)
|
|
{
|
|
S2MVOLT20 msg = new S2MVOLT20();
|
|
msg.CSCV20CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV20No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV58 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV58QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV59 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV59QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV60 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV60QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 40
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT21 Decode0X0C1541(byte[] data)
|
|
{
|
|
S2MVOLT21 msg = new S2MVOLT21();
|
|
msg.CSCV21CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV21No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV61 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV61QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV62 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV62QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV63 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV63QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 41
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT22 Decode0X0C1641(byte[] data)
|
|
{
|
|
S2MVOLT22 msg = new S2MVOLT22();
|
|
msg.CSCV22CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV22No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV64 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV64QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV65 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV65QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV66 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV66QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 42
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT23 Decode0X0C1741(byte[] data)
|
|
{
|
|
S2MVOLT23 msg = new S2MVOLT23();
|
|
msg.CSCV23CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV23No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV67 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV67QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV68 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV68QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV69 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV69QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 43
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT24 Decode0X0C1841(byte[] data)
|
|
{
|
|
S2MVOLT24 msg = new S2MVOLT24();
|
|
msg.CSCV24CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV24No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV70 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV70QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV71 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV71QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV72 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV72QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 44
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT25 Decode0X0C1941(byte[] data)
|
|
{
|
|
S2MVOLT25 msg = new S2MVOLT25();
|
|
msg.CSCV25CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV25No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV73 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV73QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV74 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV74QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV75 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV75QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 45
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT26 Decode0X0C1A41(byte[] data)
|
|
{
|
|
S2MVOLT26 msg = new S2MVOLT26();
|
|
msg.CSCV26CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV26No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV76 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV76QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV77 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV77QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV78 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV78QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 46
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT27 Decode0X0C1B41(byte[] data)
|
|
{
|
|
S2MVOLT27 msg = new S2MVOLT27();
|
|
msg.CSCV27CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV27No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV79 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV79QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV80 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV80QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV81 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV81QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 47
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT28 Decode0X0C1C41(byte[] data)
|
|
{
|
|
S2MVOLT28 msg = new S2MVOLT28();
|
|
msg.CSCV28CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV28No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV82 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV82QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV83 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV83QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV84 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV84QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 48
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT29 Decode0X0C1D41(byte[] data)
|
|
{
|
|
S2MVOLT29 msg = new S2MVOLT29();
|
|
msg.CSCV29CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV29No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV85 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV85QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV86 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV86QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV87 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV87QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 49
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MVOLT30 Decode0X0C1E41(byte[] data)
|
|
{
|
|
S2MVOLT30 msg = new S2MVOLT30();
|
|
msg.CSCV30CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCV30No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
//
|
|
byte h4 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l4 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 6);
|
|
int temp4 = (int)(h4 << 8) + (int)l4;
|
|
msg.CSCV88 = (ushort)Convert.ToSingle(temp4);
|
|
|
|
msg.CSCV88QUAL = BitsConvertUtils.ByteToBitsValue(data, 3, 6, 2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 6);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCV89 = (ushort)Convert.ToSingle(temp3);
|
|
|
|
msg.CSCV89QUAL = BitsConvertUtils.ByteToBitsValue(data, 5, 6, 2);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 6);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCV90 = (ushort)Convert.ToSingle(temp2);
|
|
|
|
msg.CSCV90QUAL = BitsConvertUtils.ByteToBitsValue(data, 7, 6, 2);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 50
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MTEMP1 Decode0X0C1F41(byte[] data)
|
|
{
|
|
S2MTEMP1 msg = new S2MTEMP1();
|
|
// 0 0 8
|
|
//0:第0个字节
|
|
//0:从0开始
|
|
//8:长度8个
|
|
msg.CSCT1CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCT1No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 6);
|
|
msg.CSCT01QUAL = BitsConvertUtils.ByteToBitsValue(data, 1, 6, 2);
|
|
msg.CSCT02QUAL = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 2);
|
|
msg.CSCT03QUAL = BitsConvertUtils.ByteToBitsValue(data, 2, 2, 2);
|
|
msg.CSCT04QUAL = BitsConvertUtils.ByteToBitsValue(data, 2, 4, 2);
|
|
msg.CSCT05QUAL = BitsConvertUtils.ByteToBitsValue(data, 2, 6, 2);
|
|
//-50 offset -50
|
|
msg.CSCT01 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8)-50);
|
|
|
|
msg.CSCT02 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8)-50);
|
|
|
|
msg.CSCT03 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8)-50);
|
|
|
|
msg.CSCT04 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8)-50);
|
|
|
|
msg.CSCT05 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8)-50);
|
|
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 51
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MTEMP2 Decode0X0C2041(byte[] data)
|
|
{
|
|
S2MTEMP2 msg = new S2MTEMP2();
|
|
msg.CSCT2CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCT2No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 6);
|
|
msg.CSCT06QUAL = BitsConvertUtils.ByteToBitsValue(data, 1, 6, 2);
|
|
msg.CSCT07QUAL = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 2);
|
|
msg.CSCT08QUAL = BitsConvertUtils.ByteToBitsValue(data, 2, 2, 2);
|
|
msg.CSCT09QUAL = BitsConvertUtils.ByteToBitsValue(data, 2, 4, 2);
|
|
msg.CSCT10QUAL = BitsConvertUtils.ByteToBitsValue(data, 2, 6, 2);
|
|
msg.CSCT06 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8)-50);
|
|
msg.CSCT07 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8)-50);
|
|
msg.CSCT08 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8)-50);
|
|
|
|
msg.CSCT09 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8)-50);
|
|
|
|
msg.CSCT10 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8)-50);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 52
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MTEMP3 Decode0X0C2141(byte[] data)
|
|
{
|
|
S2MTEMP3 msg = new S2MTEMP3();
|
|
msg.CSCT3CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCT3No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 6);
|
|
msg.CSCT11QUAL = BitsConvertUtils.ByteToBitsValue(data, 1, 6, 2);
|
|
msg.CSCT12QUAL = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 2);
|
|
msg.CSCT13QUAL = BitsConvertUtils.ByteToBitsValue(data, 2, 2, 2);
|
|
msg.CSCT14QUAL = BitsConvertUtils.ByteToBitsValue(data, 2, 4, 2);
|
|
msg.CSCT15QUAL = BitsConvertUtils.ByteToBitsValue(data, 2, 6, 2);
|
|
//OffSet -50未处理
|
|
msg.CSCT11 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8)-50);
|
|
//OffSet -50未处理
|
|
msg.CSCT12 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8)-50);
|
|
//OffSet -50未处理
|
|
msg.CSCT13 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8)-50);
|
|
//OffSet -50未处理
|
|
msg.CSCT14 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8)-50);
|
|
//OffSet -50未处理
|
|
msg.CSCT15 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8)-50);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 53
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MTEMP4 Decode0X0C2241(byte[] data)
|
|
{
|
|
S2MTEMP4 msg = new S2MTEMP4();
|
|
msg.CSCT4CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCT4No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 6);
|
|
msg.CSCT16QUAL = BitsConvertUtils.ByteToBitsValue(data, 1, 6, 2);
|
|
msg.CSCT17QUAL = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 2);
|
|
msg.CSCT18QUAL = BitsConvertUtils.ByteToBitsValue(data, 2, 2, 2);
|
|
msg.CSCT19QUAL = BitsConvertUtils.ByteToBitsValue(data, 2, 4, 2);
|
|
msg.CSCT20QUAL = BitsConvertUtils.ByteToBitsValue(data, 2, 6, 2);
|
|
//OffSet -50未处理
|
|
msg.CSCT16 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8)-50);
|
|
//OffSet -50未处理
|
|
msg.CSCT17 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8)-50);
|
|
//OffSet -50未处理
|
|
msg.CSCT18 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8)-50);
|
|
//OffSet -50未处理
|
|
msg.CSCT19 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8)-50);
|
|
//OffSet -50未处理
|
|
msg.CSCT20 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8)-50);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 54
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MTEMP5 Decode0X0C2341(byte[] data)
|
|
{
|
|
S2MTEMP5 msg = new S2MTEMP5();
|
|
msg.CSCT5CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCT5No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 6);
|
|
msg.CSCT21QUAL = BitsConvertUtils.ByteToBitsValue(data, 1, 6, 2);
|
|
msg.CSCT22QUAL = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 2);
|
|
msg.CSCT23QUAL = BitsConvertUtils.ByteToBitsValue(data, 2, 2, 2);
|
|
msg.CSCT24QUAL = BitsConvertUtils.ByteToBitsValue(data, 2, 4, 2);
|
|
msg.CSCT25QUAL = BitsConvertUtils.ByteToBitsValue(data, 2, 6, 2);
|
|
//OffSet -50未处理
|
|
msg.CSCT21 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8)-50);
|
|
//OffSet -50未处理
|
|
msg.CSCT22 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8)-50);
|
|
//OffSet -50未处理
|
|
msg.CSCT23 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8)-50);
|
|
//OffSet -50未处理
|
|
msg.CSCT24 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8)-50);
|
|
//OffSet -50未处理
|
|
msg.CSCT25 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8)-50);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 55
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MTEMP6 Decode0X0C2441(byte[] data)
|
|
{
|
|
S2MTEMP6 msg = new S2MTEMP6();
|
|
msg.CSCT6CRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCT6No = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 6);
|
|
msg.CSCT26QUAL = BitsConvertUtils.ByteToBitsValue(data, 1, 6, 2);
|
|
msg.CSCT27QUAL = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 2);
|
|
msg.CSCT28QUAL = BitsConvertUtils.ByteToBitsValue(data, 2, 2, 2);
|
|
msg.CSCT29QUAL = BitsConvertUtils.ByteToBitsValue(data, 2, 4, 2);
|
|
msg.CSCT30QUAL = BitsConvertUtils.ByteToBitsValue(data, 2, 6, 2);
|
|
//OffSet -50未处理
|
|
msg.CSCT26 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8)-50);
|
|
//OffSet -50未处理
|
|
msg.CSCT27 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8)-50);
|
|
//OffSet -50未处理
|
|
msg.CSCT28 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8)-50);
|
|
//OffSet -50未处理
|
|
msg.CSCT29 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8)-50);
|
|
//OffSet -50未处理
|
|
msg.CSCT30 = (byte)(BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8)-50);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 56
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MCSCSUMVOLT Decode0X0C2541(byte[] data)
|
|
{
|
|
S2MCSCSUMVOLT msg = new S2MCSCSUMVOLT();
|
|
msg.CSCSumVCRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCSumVNo = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 6);
|
|
msg.CSCSumVReserved1 = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 2);
|
|
//
|
|
byte h1 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte l1 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8);
|
|
int temp1 = (int)(h1 << 8) + (int)l1;
|
|
msg.CSCMaxCellVolt = (ushort )Convert.ToSingle(temp1);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8);
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.CSCMinCellVolt = (ushort)Convert.ToSingle(temp2);
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8);
|
|
int temp3 = (int)(h3 << 8) + (int)l3;
|
|
msg.CSCCellAvgVolt = (ushort)Convert.ToSingle(temp3);
|
|
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 57
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MCSCSUMTEMP Decode0X0C2641(byte[] data)
|
|
{
|
|
S2MCSCSUMTEMP msg = new S2MCSCSUMTEMP();
|
|
msg.CSCSumTCRC = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.CSCSumTNo = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 6);
|
|
msg.CSCSumTReserved1 = BitsConvertUtils.ByteToBitsValue(data, 1, 6, 2);
|
|
//OffSet -50未处理
|
|
msg.CSCMaxCellTemp = (byte)(BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8)-50);
|
|
//OffSet -50未处理
|
|
msg.CSCMinCellTemp = (byte)(BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8)-50);
|
|
//OffSet -50未处理
|
|
msg.CSCAvgCellTemp = (byte)(BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8)-50);
|
|
|
|
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte s3 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8);
|
|
int temp3 = (int)(h3 << 16) + (int)(l3 << 8) + (int)s3;
|
|
msg.CSCSumTReserved2 = (int )Convert.ToSingle(temp3);
|
|
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 58
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MTIMINGINFO Decode0X140141(byte[] data)
|
|
{
|
|
S2MTIMINGINFO msg = new S2MTIMINGINFO();
|
|
//Factor 0.25未处理
|
|
msg.S2MTimingSecond = Convert.ToSingle(BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8) * 0.25);
|
|
msg.S2MTimingMinute = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
msg.S2MTimingHour = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
msg.S2MTimingMonth = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8);
|
|
//Factor 0.25未处理
|
|
msg.S2MTimingDay = Convert.ToSingle(BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8) * 0.25);
|
|
//OffSet 1985未处理
|
|
msg.S2MTimingYear = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8)+ 1985;
|
|
msg.S2MReserved1 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
msg.S2MReserved2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 59
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MBATTENERGYINFO1 Decode0X050141(byte[] data)
|
|
{
|
|
S2MBATTENERGYINFO1 msg = new S2MBATTENERGYINFO1();
|
|
//
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
byte s3 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
int temp3 = (int)(h3 << 16) + (int)(l3 << 8) + (int)s3;
|
|
msg.S2MSubTotalChgEngyOutStat = Convert.ToSingle(temp3*0.1);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte s2 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8);
|
|
int temp2 = (int)(h2 << 16) + (int)(l2 << 8) + (int)s2;
|
|
msg.S2MSubTotalReChgeEngyOutStat = Convert.ToSingle(temp2*0.1);
|
|
//
|
|
byte h1 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l1 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8);
|
|
|
|
int temp1 = (int)(h1 << 8) + (int)l1;
|
|
msg.S2MSubTotalchgEngyInStat = Convert.ToSingle(temp1 * 0.1);
|
|
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 60
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MBATTENERGYINFO2 Decode0X050241(byte[] data)
|
|
{
|
|
S2MBATTENERGYINFO2 msg = new S2MBATTENERGYINFO2();
|
|
byte h3 = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
byte l3 = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
byte s3 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
int temp3 = (int)(h3 << 16) + (int)(l3 << 8) + (int)s3;
|
|
msg.S2MSubTotalDischgEngyOutStat = Convert.ToSingle(temp3 * 0.1);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8);
|
|
|
|
int temp2 = (int)(h2 << 8) + (int)l2;
|
|
msg.S2MSubTotalDischgEngyInStat = Convert.ToSingle(temp2 * 0.1);
|
|
//
|
|
byte h1 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8);
|
|
byte l1 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte s1 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8);
|
|
int temp1 = (int)(h1 << 16) + (int)(l1 << 8) + (int)s1;
|
|
msg.S2MSubTotalBattOdometer = Convert.ToSingle(temp1 * 0.1);
|
|
|
|
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 61
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MBATTENERGYINFO3 Decode0X050341(byte[] data)
|
|
{
|
|
S2MBATTENERGYINFO3 msg = new S2MBATTENERGYINFO3();
|
|
//
|
|
byte h1 = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
byte l1 = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
byte s1 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte p1 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8);
|
|
int temp1 = (int)(h1 << 24)+(int)(l1 << 16) + (int)(s1 << 8) + (int)p1;
|
|
msg.S2MSysAccuChrgEngyOutStat = Convert.ToSingle(temp1 * 0.1);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8);
|
|
byte s2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte p2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8);
|
|
int temp2 = (int)(h2 << 24) + (int)(l2 << 16) + (int)(s2 << 8) + (int)p2;
|
|
msg.S2MSysAccuBattOdometer = Convert.ToSingle(temp2 * 0.1);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 62
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MBATTENERGYINFO4 Decode0X050441(byte[] data)
|
|
{
|
|
S2MBATTENERGYINFO4 msg = new S2MBATTENERGYINFO4();
|
|
//
|
|
byte h1 = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
byte l1 = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
byte s1 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte p1 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8);
|
|
int temp1 = (int)(h1 << 24) + (int)(l1 << 16) + (int)(s1 << 8) + (int)p1;
|
|
msg.S2MSysAccuDisChrgEngyInStat = Convert.ToSingle(temp1 * 0.1);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8);
|
|
byte s2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte p2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8);
|
|
int temp2 = (int)(h2 << 24) + (int)(l2 << 16) + (int)(s2 << 8) + (int)p2;
|
|
msg.S2MSysAccuChrgEngyInStat = Convert.ToSingle(temp2 * 0.1);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 63
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MBATTENERGYINFO5 Decode0X050541(byte[] data)
|
|
{
|
|
S2MBATTENERGYINFO5 msg = new S2MBATTENERGYINFO5();
|
|
msg.S2MFult1SwapContorContErr = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 1);
|
|
msg.S2MFult1SwapConOverTemp = BitsConvertUtils.ByteToBitsValue(data, 0, 1, 2);
|
|
msg.S2MFult1SwapPTCErr = BitsConvertUtils.ByteToBitsValue(data, 0, 3, 1);
|
|
msg.S2MSOCUnavailableFlg = BitsConvertUtils.ByteToBitsValue(data, 0, 4, 1);
|
|
msg.S2MCellFullDisChrgFlg = BitsConvertUtils.ByteToBitsValue(data, 0, 5, 1);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 0, 6, 2);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
byte s2 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte p2 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8);
|
|
int temp2 = (int)(h2 << 24) + (int)(l2 << 16) + (int)(s2 << 8) + (int)p2;
|
|
msg.S2MBattEngyInfo5_Reserved1 = (int )Convert.ToSingle(temp2 * 0.1);
|
|
//
|
|
byte h1 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l1 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8);
|
|
byte s1 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte p1 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8);
|
|
int temp1 = (int)(h1 << 24) + (int)(l1 << 16) + (int)(s1 << 8) + (int)p1;
|
|
msg.S2MBattEngyInfo5_Reserved2 = (int)Convert.ToSingle(temp1 * 0.1);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 64
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MBATTENERGYINFO6 Decode0X050641(byte[] data)
|
|
{
|
|
S2MBATTENERGYINFO6 msg = new S2MBATTENERGYINFO6();
|
|
//
|
|
byte h1 = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
byte l1 = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
byte s1 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
byte p1 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8);
|
|
int temp1 = (int)(h1 << 24) + (int)(l1 << 16) + (int)(s1 << 8) + (int)p1;
|
|
msg.S2MSysAccuReChrgEngyOutStat = Convert.ToSingle(temp1 * 0.1);
|
|
//
|
|
byte h2 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
byte l2 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8);
|
|
byte s2 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
byte p2 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8);
|
|
int temp2 = (int)(h2 << 24) + (int)(l2 << 16) + (int)(s2 << 8) + (int)p2;
|
|
msg.S2MSysAccuDisChrgEngyOutStat = Convert.ToSingle(temp2 * 0.1);
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 65
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static S2MSYSCODE Decode0X050741(byte[] data)
|
|
{
|
|
S2MSYSCODE msg = new S2MSYSCODE();
|
|
msg.S2MSNFrameNo = BitsConvertUtils.ByteToBitsValue(data, 0, 0, 8);
|
|
msg.S2MSNSysCodeLength = BitsConvertUtils.ByteToBitsValue(data, 1, 0, 8);
|
|
msg.S2MSNPackCodeB1 = BitsConvertUtils.ByteToBitsValue(data, 2, 0, 8);
|
|
msg.S2MSNPackCodeB2 = BitsConvertUtils.ByteToBitsValue(data, 3, 0, 8);
|
|
msg.S2MSNPackCodeB3 = BitsConvertUtils.ByteToBitsValue(data, 4, 0, 8);
|
|
msg.S2MSNPackCodeB4 = BitsConvertUtils.ByteToBitsValue(data, 5, 0, 8);
|
|
msg.S2MSNPackCodeB5 = BitsConvertUtils.ByteToBitsValue(data, 6, 0, 8);
|
|
msg.S2MSNPackCodeB6 = BitsConvertUtils.ByteToBitsValue(data, 7, 0, 8);
|
|
return msg;
|
|
}
|
|
|
|
}
|
|
}
|