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.
54 lines
2.2 KiB
54 lines
2.2 KiB
using BatCharging.Model;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace BatCharging.Service
|
|
{
|
|
/// <summary>
|
|
/// 解析充放电机上送充电启动完成帧
|
|
/// </summary>
|
|
public class MsgStaComFraDecoder
|
|
{
|
|
/// <summary>
|
|
/// 解析充放电机上送充电启动完成帧
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public StartComFrame GetMsgStartComFrame(byte[] data)
|
|
{
|
|
StartComFrame startComFrame = null;
|
|
if (data.Count() >= 73)
|
|
{
|
|
startComFrame = new StartComFrame();
|
|
startComFrame.SuccessMark = data[25];
|
|
startComFrame.CauseFailure = data[26];
|
|
startComFrame.BMSIndProVersion = data[27]+"."+ data[28] + "."+ data[29];
|
|
startComFrame.BMSHandResult = data[30];
|
|
startComFrame.TypeBattery = data[31];
|
|
startComFrame.MaxPerTem = data[32];
|
|
startComFrame.BMSMaxAllChaVol = ByteUtils.ToUInt16(data, 33);
|
|
startComFrame.MaxAllChaVolUnit = ByteUtils.ToUInt16(data, 35);
|
|
startComFrame.MaxAllChaCur = ByteUtils.ToUInt16(data, 37);
|
|
startComFrame.RatTotalVolVehPowBat = ByteUtils.ToUInt16(data, 39);
|
|
startComFrame.CurVolVehPowBat = ByteUtils.ToUInt16(data, 41);
|
|
startComFrame.RatCapVehPowBat = ByteUtils.ToUInt16(data, 43);
|
|
startComFrame.NomCapVehPowBat = ByteUtils.ToUInt16(data, 45);
|
|
startComFrame.MaxOutVolCha = ByteUtils.ToUInt16(data, 47);
|
|
startComFrame.MinOutVolCha = ByteUtils.ToUInt16(data, 49);
|
|
startComFrame.MaxOutCurCha = ByteUtils.ToUInt16(data, 51);
|
|
startComFrame.MinOutCurCha = ByteUtils.ToUInt16(data, 53);
|
|
|
|
byte[] vehIdeNums = new byte[17];
|
|
Array.Copy(data, 55, vehIdeNums, 0, 17);
|
|
startComFrame.VehIdeNum = System.Text.ASCIIEncoding.ASCII.GetString(vehIdeNums);
|
|
|
|
startComFrame.LoaStaVehPowBat = data[72];
|
|
}
|
|
return startComFrame;
|
|
}
|
|
}
|
|
}
|