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 { /// /// 换电池标准CAN信号1参数字段字节解析 /// /// 接收的字节数组 /// 电池标准CAN信号1参数值 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; } /// /// 2 /// /// /// 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; } /// /// 0X040341 /// /// /// 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; } /// ///0X040441 /// /// /// 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; } /// /// 0X040541 /// /// /// 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; } /// /// 6 /// /// /// 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; } /// /// 7 /// /// /// 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; } /// /// 8 /// /// /// 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; } /// /// 9 /// /// /// 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; } /// /// 10 /// /// /// 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; } /// /// 11 /// /// /// 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; } /// /// 12 /// /// /// 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; } /// /// 13 /// /// /// 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; } /// /// 14 /// /// /// 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; } /// /// 15 /// /// /// 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; } /// /// 0X080841 /// /// /// 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; } /// /// 0X080941 /// /// /// 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; } /// /// 0X081041 /// /// /// 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; } /// /// 19 /// /// /// 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; } /// /// 20 /// /// /// 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; } /// /// 21 /// /// /// 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; } /// /// 22 /// /// /// 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; } /// /// 23 /// /// /// 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; } /// /// 24 /// /// /// 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; } /// /// 25 /// /// /// 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; } /// /// 26 /// /// /// 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; } /// /// 27 /// /// /// 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; } /// /// 28 /// /// /// 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; } /// /// 29 /// /// /// 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; } /// /// 30 /// /// /// 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; } /// /// 31 /// /// /// 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; } /// /// 32 /// /// /// 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; } /// /// 33 /// /// /// 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; } /// /// 34 /// /// /// 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; } /// /// 35 /// /// /// 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; } /// /// 36 /// /// /// 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; } /// /// 37 /// /// /// 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; } /// /// 38 /// /// /// 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; } /// /// 39 /// /// /// 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; } /// /// 40 /// /// /// 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; } /// /// 41 /// /// /// 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; } /// /// 42 /// /// /// 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; } /// /// 43 /// /// /// 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; } /// /// 44 /// /// /// 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; } /// /// 45 /// /// /// 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; } /// /// 46 /// /// /// 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; } /// /// 47 /// /// /// 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; } /// /// 48 /// /// /// 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; } /// /// 49 /// /// /// 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; } /// /// 50 /// /// /// 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; } /// /// 51 /// /// /// 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; } /// /// 52 /// /// /// 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; } /// /// 53 /// /// /// 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; } /// /// 54 /// /// /// 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; } /// /// 55 /// /// /// 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; } /// /// 56 /// /// /// 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; } /// /// 57 /// /// /// 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; } /// /// 58 /// /// /// 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; } /// /// 59 /// /// /// 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; } /// /// 60 /// /// /// 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; } /// /// 61 /// /// /// 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; } /// /// 62 /// /// /// 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; } /// /// 63 /// /// /// 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; } /// /// 64 /// /// /// 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; } /// /// 65 /// /// /// 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; } } }