package com.fbs9100;
|
|
import java.nio.ByteBuffer;
|
|
public class FBS_CapState implements Cloneable
|
{
|
private final int BYTE_LEN = 222;
|
private final int BATTGROUP_COUNT = FBS_ComBase.BattGroupCountMax;
|
|
public FBS_DateTime StartDT = new FBS_DateTime(); //启动放电的日期时间
|
public FBS_DateTime StopDT = new FBS_DateTime(); //终止放电的日期时间
|
public FBS_TestTime Test_Time = new FBS_TestTime(); //已测试时间(HMS)
|
|
public int TestState; //测试状态(停止/暂停/放电)
|
public int TestType; //测试类型(放电/充电)
|
public int TestGroupNum; //被测试电池组编号(1~4)
|
public int SaveDataEN; //保存数据标识
|
public int BackUp; //备份
|
public int MonomerLowCount[] = new int[FBS_ComBase.BattGroupCountMax]; //每组已到单体下限数量
|
|
public double TestCur[] = new double[FBS_ComBase.BattGroupCountMax];
|
public double GroupVol[] = new double[FBS_ComBase.BattGroupCountMax];
|
public double OnlineVol[] = new double[FBS_ComBase.BattGroupCountMax];
|
public double TestCapInt[] = new double[FBS_ComBase.BattGroupCountMax];
|
public double GroupCapInt[] = new double[FBS_ComBase.BattGroupCountMax];
|
public double GroupRestCapInt[] = new double[FBS_ComBase.BattGroupCountMax];
|
public int MonMaxNum[] = new int[FBS_ComBase.BattGroupCountMax];
|
public int MonMinNum[] = new int[FBS_ComBase.BattGroupCountMax];
|
public double MonMaxValue[] = new double[FBS_ComBase.BattGroupCountMax];
|
public double MonMinValue[] = new double[FBS_ComBase.BattGroupCountMax];
|
|
public int RestTest_Time[] = new int[FBS_ComBase.BattGroupCountMax]; //剩余容量可放电时间(HMS)
|
|
public int CRC;
|
|
public FBS_CapState clone()
|
{
|
FBS_CapState obj = null;
|
try
|
{
|
obj = (FBS_CapState)super.clone();
|
}
|
catch(CloneNotSupportedException e)
|
{
|
e.printStackTrace();
|
}
|
return obj;
|
}
|
|
public boolean putByteBuffer(final ByteBuffer bf)
|
{
|
if(bf.limit() != BYTE_LEN)
|
return false;
|
|
ByteBuffer tmpbuf = bf;
|
int crc0 = tmpbuf.getShort(BYTE_LEN-2) & 0xFFFF;
|
int crc1 = FBS_Crc16.CalCRC16(tmpbuf, BYTE_LEN-2);
|
if(crc0 != crc1)
|
return false;
|
|
tmpbuf.position(0);
|
StartDT.year = FBS_ComBase.changeByteToInt(tmpbuf.get());
|
StartDT.month = FBS_ComBase.changeByteToInt(tmpbuf.get());
|
StartDT.day = FBS_ComBase.changeByteToInt(tmpbuf.get());
|
StartDT.hour = FBS_ComBase.changeByteToInt(tmpbuf.get());
|
StartDT.minute = FBS_ComBase.changeByteToInt(tmpbuf.get());
|
StartDT.second = FBS_ComBase.changeByteToInt(tmpbuf.get());
|
|
StopDT.year = FBS_ComBase.changeByteToInt(tmpbuf.get());
|
StopDT.month = FBS_ComBase.changeByteToInt(tmpbuf.get());
|
StopDT.day = FBS_ComBase.changeByteToInt(tmpbuf.get());
|
StopDT.hour = FBS_ComBase.changeByteToInt(tmpbuf.get());
|
StopDT.minute = FBS_ComBase.changeByteToInt(tmpbuf.get());
|
StopDT.second = FBS_ComBase.changeByteToInt(tmpbuf.get());
|
|
Test_Time.hour = FBS_ComBase.changeByteToInt(tmpbuf.get());
|
Test_Time.minute = FBS_ComBase.changeByteToInt(tmpbuf.get());
|
Test_Time.second = FBS_ComBase.changeByteToInt(tmpbuf.get());
|
|
TestState = FBS_ComBase.changeByteToInt(tmpbuf.get());
|
TestType = FBS_ComBase.changeByteToInt(tmpbuf.get());
|
TestGroupNum = FBS_ComBase.changeByteToInt(tmpbuf.get());
|
SaveDataEN = FBS_ComBase.changeByteToInt(tmpbuf.get());
|
BackUp = FBS_ComBase.changeByteToInt(tmpbuf.get());
|
|
for(int n=0; n<BATTGROUP_COUNT; n++)
|
MonomerLowCount[n] = FBS_ComBase.changeShortToInt(tmpbuf.getShort());
|
|
for(int n=0; n<BATTGROUP_COUNT; n++)
|
TestCur[n] = FBS_ComBase.changeShortToDouble(tmpbuf.getShort()) / 10;
|
|
for(int n=0; n<BATTGROUP_COUNT; n++)
|
GroupVol[n] = FBS_ComBase.changeShortToDouble(tmpbuf.getShort()) / 10;
|
|
for(int n=0; n<BATTGROUP_COUNT; n++)
|
OnlineVol[n] = FBS_ComBase.changeShortToDouble(tmpbuf.getShort()) / 10;
|
|
for(int n=0; n<BATTGROUP_COUNT; n++)
|
TestCapInt[n] = FBS_ComBase.changeShortToDouble(tmpbuf.getShort());
|
|
for(int n=0; n<BATTGROUP_COUNT; n++)
|
GroupCapInt[n] = FBS_ComBase.changeShortToDouble(tmpbuf.getShort());
|
|
for(int n=0; n<BATTGROUP_COUNT; n++)
|
GroupRestCapInt[n] = FBS_ComBase.changeShortToDouble(tmpbuf.getShort());
|
|
for(int n=0; n<BATTGROUP_COUNT; n++)
|
MonMaxNum[n] = FBS_ComBase.changeShortToInt(tmpbuf.getShort());
|
|
for(int n=0; n<BATTGROUP_COUNT; n++)
|
MonMinNum[n] = FBS_ComBase.changeShortToInt(tmpbuf.getShort());
|
|
for(int n=0; n<BATTGROUP_COUNT; n++)
|
MonMaxValue[n] = FBS_ComBase.changeShortToDouble(tmpbuf.getShort()) / 1000;
|
|
for(int n=0; n<BATTGROUP_COUNT; n++)
|
MonMinValue[n] = FBS_ComBase.changeShortToDouble(tmpbuf.getShort()) / 1000;
|
|
for(int n=0; n<BATTGROUP_COUNT; n++)
|
RestTest_Time[n] = tmpbuf.getInt();
|
|
tmpbuf.compact();
|
tmpbuf.flip();
|
|
return true;
|
}
|
}
|
/***************************************************************************************
|
****************************** end of file (FBS_CapState) ******************************
|
***************************************************************************************/
|