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.
64 lines
3.1 KiB
64 lines
3.1 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 MsgBatCycUpaDecoder
|
|
{
|
|
/// <summary>
|
|
/// 解析充电机上传报警状态
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public BatteryCycleUpalarm mBatteryCycleUpalarm(byte[] data)
|
|
{
|
|
BatteryCycleUpalarm mBatteryCycleUpalarm = null;
|
|
if (data.Count() >= 78)
|
|
{
|
|
mBatteryCycleUpalarm = new BatteryCycleUpalarm();
|
|
mBatteryCycleUpalarm.PNG1 = data[25];
|
|
mBatteryCycleUpalarm.PNG2 = data[26];
|
|
mBatteryCycleUpalarm.PNG3 = data[27];
|
|
mBatteryCycleUpalarm.batModVolExcThr = ByteUtils.ToUInt16(data, 28);
|
|
mBatteryCycleUpalarm.VolDevExcLimit = ByteUtils.ToUInt16(data, 30);
|
|
mBatteryCycleUpalarm.TemOvershoot = ByteUtils.ToUInt16(data, 32);
|
|
mBatteryCycleUpalarm.TemDevExcLimit = ByteUtils.ToUInt16(data, 34);
|
|
mBatteryCycleUpalarm.LowSOC = ByteUtils.ToUInt16(data, 36);
|
|
mBatteryCycleUpalarm.disCurExcLimit = ByteUtils.ToUInt16(data, 38);
|
|
mBatteryCycleUpalarm.ChaCurLimit = ByteUtils.ToUInt16(data, 40);
|
|
mBatteryCycleUpalarm.TotTemExcLimit = ByteUtils.ToUInt16(data, 42);
|
|
mBatteryCycleUpalarm.BatSysFaultCode = ByteUtils.ToUInt16(data, 44);
|
|
mBatteryCycleUpalarm.HighVolLowIns = ByteUtils.ToUInt16(data, 46);
|
|
mBatteryCycleUpalarm.VolBatModExcLimit = ByteUtils.ToUInt16(data, 48);
|
|
mBatteryCycleUpalarm.VolDevExcOveLimit = ByteUtils.ToUInt16(data, 50);
|
|
mBatteryCycleUpalarm.TemOveLimit = ByteUtils.ToUInt16(data, 52);
|
|
mBatteryCycleUpalarm.TemDevExcOveLimit = ByteUtils.ToUInt16(data, 54);
|
|
mBatteryCycleUpalarm.VeryLowSOC = ByteUtils.ToUInt16(data, 56);
|
|
mBatteryCycleUpalarm.DisCurExcLimit = ByteUtils.ToUInt16(data, 58);
|
|
mBatteryCycleUpalarm.ChaCurExcLimit = ByteUtils.ToUInt16(data, 60);
|
|
mBatteryCycleUpalarm.TotPosNegColTemOveLimit = ByteUtils.ToUInt16(data, 62);
|
|
mBatteryCycleUpalarm.HighVolInsExtLow = ByteUtils.ToUInt16(data, 64);
|
|
mBatteryCycleUpalarm.hardwareFailure = ByteUtils.ToUInt16(data, 66);
|
|
mBatteryCycleUpalarm.retain1 = data[68];
|
|
mBatteryCycleUpalarm.retain2 = data[69];
|
|
mBatteryCycleUpalarm.retain3 = data[70];
|
|
mBatteryCycleUpalarm.retain4 = data[71];
|
|
mBatteryCycleUpalarm.retain5 = data[72];
|
|
mBatteryCycleUpalarm.retain6 = data[73];
|
|
mBatteryCycleUpalarm.retain7 = data[74];
|
|
mBatteryCycleUpalarm.retain8 = data[75];
|
|
mBatteryCycleUpalarm.retain9 = data[76];
|
|
mBatteryCycleUpalarm.retain10 = data[77];
|
|
}
|
|
return mBatteryCycleUpalarm;
|
|
}
|
|
}
|
|
}
|