package com.dec.fbs9100; public class FBS9100_ComBase { public static final int BattGroupCountMax = 4; public static final int MonomerCountMax = 480; //---------------------------------------------------------------------------- public static final int CMD_NULL = 0x00; public static final int CMD_FAIL = -1; //执行失败 //---------------------------------------------------------------------------- //------------ ������������FBS9100������ ------------------------------------------------ public static final int CMD_ResetSystem = 0x10; public static final int CMD_ResetSystemAck = 0x0F;//15 //------------ ������������FBS9100��������� ------------------------------------------------ public static final int CMD_SystemUpdate = 0x11; //---------------------------------------------------------------------------- //------------ ������������������������������������������������������� ---------------------------------- public static final int CMD_GetDeviceInf = 0x15; public static final int CMD_GetDeviceTaskInf = 0x17; public static final int CMD_GetSyslogFileLen = 0x18; public static final int CMD_GetSyslogFileStr = 0x19; public static final int CMD_ClearSyslogFile = 0x1A; public static final int CMD_Connect = 0x20; public static final int CMD_GetState = 0x22; //public static final int CMD_GETDEVID = 0x23; //��������������id //---------------------------------------------------------------------------- //------------ �������������������������������������������������������,�����������������������������---------------------- public static final int CMD_StartDischarge = 0x25; public static final int CMD_StartDischargeAck = 0x26; public static final int CMD_SetDischargeParmAck = 0x27; public static final int CMD_SetDischargeParm = 0x28; public static final int CMD_GetDischargeParm = 0x29; public static final int CMD_GetDischargeParmAck = 0x30; public static final int CMD_GetDischargeState = 0x31; //---------------------------------------------------------------------------- //------------ ����������������������������������������������������������������----------------------------------- public static final int CMD_StartResDischarge = 0x32; public static final int CMD_GetResTestState = 0x34; //----------------------------------------------------------------------------- //------------ ���������������������������������������----------------------------------------------- public static final int CMD_GetBattParam = 0x36; public static final int CMD_SetBattParam = 0x37; //---------------------------------------------------------------------------- public static final int CMD_SetIp = 0x58; public static final int CMD_SetIpAck = 0x59; public static final int CMD_SetIpNow = 0x5A; //------------ ��������������������������������������������������������,������������������������������----------------------- public static final int CMD_StartCharge = 0x40; public static final int CMD_SetChargeParm = 0x43; public static final int CMD_GetChargeParm = 0x44; public static final int CMD_GetChargeState = 0x46; //----------------------------------------------------------------------------- //------------ ���������������������� -------------------------------------------------- public static final int CMD_StartKIDI = 0x48; //----------------------------------------------------------------------------- //------------ ���������������������� -------------------------------------------------- public static final int CMD_Start = 0x51; public static final int CMD_StartAck = 0x52; public static final int CMD_Stop = 0x53; public static final int CMD_StopAck = 0x54; //---------------------------------------------------------------------------- //------------ ����������������������������������������������������������������������������������������� --------------------------- public static final int CMD_GetVIData = 0x60; public static final int CMD_GetMonomerData = 0x61; public static final int CMD_GetMonomerRES = 0x62; public static final int CMD_GetMonomerCAP = 0x63; public static final int CMD_GetMonomerChargeCAP = 0x64; public static final int CMD_GetMonomerTMP = 0x65; //----------------------------------------------------------------------------- //------------ �������������������� ---------------------------------------------------- public static final int CMD_GetOnlineVolAdjParam = 0x6A; public static final int CMD_SetOnlineVolAdjParam = 0x6B; //------------ ����������������� ---------------------------------------------------- public static final int CMD_GetBattGroupVolAdjParam = 0x6C; public static final int CMD_SetBattGroupVolAdjParam = 0x6D; //------------ ��������������������� ---------------------------------------------------- public static final int CMD_GetDischargeCurrAdjParam = 0x6E; public static final int CMD_SetDischargeCurrAdjParam = 0x6F; //------------ ���������������������� ---------------------------------------------------- public static final int CMD_GetChargeCurrAdjParam = 0x70; public static final int CMD_SetChargeCurrAdjParam = 0x71; //------------ ���������������������������� ---------------------------------------------------- public static final int CMD_GetBattResAdjParam = 0x72; public static final int CMD_SetBattResAdjParam = 0x73; //------------ �������������������������/������������ -------------------------------------------- public static final int CMD_GetMonVolAdjParam = 0x74; public static final int CMD_SetMonVolAdjOffset = 0x75; public static final int CMD_SetMonVolAdjSlope = 0x76; public static final int CMD_ResetMonVolAdjParam = 0x77; //----------------------------------------------------------------------------- //------------ �������������������������������� ---------------------------------------------------- public static final int CMD_SetDateTime = 0x7A; //------------ �������������������������������������������������������� --------------------------------------- public static final int CMD_GetSYSSetParamAck = 0x7E; //获取系统参数成功 public static final int CMD_SetSYSSetParamAck = 0x7F; //设置系统参数成功 public static final int CMD_GetSYSSetParam = 0x80; //获取系统参数 public static final int CMD_SetSYSSetParam = 0x81; //设置系统参数 public static final int CMD_GetAlarmParam = 0x82; public static final int CMD_SetAlarmParam = 0x83; public static final int CMD_GetJuHengParam = 0xC1; //读取均衡参数 public static final int CMD_GetJuHengParamAck = 0xC2; //读取均衡参数成功 public static final int CMD_SetJuHengParam = 0xC3; //设置均衡参数 public static final int CMD_SetJuHengParamAck = 0xC4; //设置均衡参数成功 public static final int CMD_UpdateXZTime = 0xD1; //设置协转时间 public static final int CMD_UpdateXZTimeAck = 0xD2; //设置协转时间成功 //------------------------------------------------------------------------------ //------------ DFU ������������ --------------------------------------------------------- public static final int CMD_FBS9100_WriteDFU = 0x86; public static final int CMD_FBS9100_ReadDFU = 0x87; //------------------------------------------------------------------------------ //��������cmcc���������������������� public static final int CMD_ReadCMCCVolCurr = 0x8A; //------------ ������������������������ --------------------------------------------------------- public static final int TestType_NULL = 0x00; public static final int TestType_VOL = 0xF9; public static final int TestType_MDISCHARGE = 0xFA; public static final int TestType_MCHARGE = 0xFB; public static final int TestType_Charge = 0xFC; public static final int TestType_CAP = 0xFD; public static final int TestType_RES = 0xFE; //------------------------------------------------------------------------------ //------------ ������������� --------------------------------------------------------- public static final int BattState_Float = 0x00; public static final int BattState_Discharge = 0x01; public static final int BattState_Charge = 0x02; //------------------------------------------------------------------------------ //------------ ������������������������ --------------------------------------------------------- public static final int DataType_Null = 0x00; public static final int DataType_MonVol = 0x01; public static final int DataType_MonCap = 0x02; public static final int DataType_MonRes = 0x03; public static final int DataType_Temp = 0x04; public static final int DataType_GrpVol = 0x05; public static final int DataType_Curr = 0x06; public static final int DataType_MonTmp = 0x07; //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ public static final int CMD_ReadFodParam = 0xA0; public static final int CMD_WriteFodParam = 0xA1; public static final int CMD_Start_FODCL_test = 0xA2; public static final int CMD_Start_FODYH_test = 0xA3; public static final int CMD_Stop_FOD_test = 0xA4; public static final int CMD_ReadFodValue = 0xA5; public static final int CMD_ReadFodParamSus = 0xA7; public static final int CMD_WriteFodParamSus = 0xA8; public static final int CMD_Start_FODCL_testSus = 0xA9; public static final int CMD_Start_FODYH_testSus = 0xAA; public static final int CMD_Stop_FOD_testSus = 0xAB; public static final int CMD_ReadFodValueSus = 0xAC; //------------------------------------------------------------------------------ //------------ 离线养护功能参数 --------------------------------- public static final int CMD_GetOffLineYHParam = 0xB0; public static final int CMD_GetOffLineYHParam_ACK = 0xB1; public static final int CMD_SetOffLineYHParam = 0xB2; public static final int CMD_SetOffLineYHParam_ACK = 0xB3; public static final int CMD_StartOffLineYH = 0xB4; public static final int CMD_StartOffLineYH_ACK = 0xB5; public static final int CMD_StopOffLineYH = 0xB6; public static final int CMD_StopOffLineYH_ACK = 0xB7; //------------------------------------------------------------------------------ //-------------- 清除告警 -------------------------------------------------- public static final int CMD_ClearSysAlarm = 0xB8; //清除告警 public static final int CMD_ClearSysAlarm_ACK = 0xB9; //清除告警成功 //------------------------------------------------------------------------------ public static byte changeIntToByte(int data) { return (byte)(data & 0xFF); } //------------------------------------------------------------------------------ public static short changeIntToShort(int data) { return (short)(data & 0xFFFF); } //------------------------------------------------------------------------------ public static byte changeShortToByte(short data) { return (byte)(data & 0xFF); } //------------------------------------------------------------------------------ public static int changeByteToInt(byte data) { int tmp = data; return (tmp & 0xFF); } //------------------------------------------------------------------------------ public static int changeShortToInt(short data) { int tmp = data; return (tmp & 0xFFFF); } //------------------------------------------------------------------------------ public static double changeShortToDouble(short data) { int tmp = data & 0xFFFF; return (double)(tmp); } //------------------------------------------------------------------------------ public static short changeDoubleToShort(double data) { int tmp = (int)data; return (short)(tmp & 0xFFFF); } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ public static double GetFDCurrent(double stdcap, int hourrate) { double res = 0.055; switch(hourrate) { case 1: res = 0.514; break; case 2: res = 0.306; break; case 3: res = 0.250; break; case 4: res = 0.200; break; case 5: res = 0.166; break; case 6: res = 0.146; break; case 7: res = 0.131; break; case 8: res = 0.118; break; case 9: res = 0.108; break; case 10: res = 0.100; break; case 20: res = 0.055; break; default: res = 0.055; break; } return (stdcap * res); } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ public static int GetHourRate(int stdah, int current) { int index = 0; int value[]={514, 306, 250, 200, 166, 146, 131, 118, 108, 100, 55}; int res; res = (current*100)/(stdah/10); if(res>=514) return 1; else if(res<=55) return 20; else { for(index=0; index<10; index++) { if((res<=value[index]) && (res>value[index+1])) break; else continue; } if((value[index]-res) < (res-value[index+1])) { return (index+1); } else { if(index+2 > 10) return (20); else return (index+2); } } } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ public static double N_TO_10H(int n_H) { switch(n_H) { case 1 : return(1/0.55); case 2 : return(1/0.61); case 3 : return(1/0.75); case 4 : return(1/0.79); case 5 : return(1/0.833); case 6 : return(1/0.876); case 7 : return(1/0.917); case 8 : return(1/0.944); case 9 : return(1/0.974); case 10: return(1/1); case 20: return(1/1.1); } return 1.0; } //------------------------------------------------------------------------------- /* //------------------------------------------------------------------------------- double GetMonomerCap(double STDAH, int HourRate, double SumAH, double MaxMonomerVol, double MonomerVol, double MonomerVolType, int CapType) { if(MaxMonomerVol - MonomerVolType*0.9 == 0) return 0; if(SumAH < 0) SumAH *= (-1); double tmp_cap; tmp_cap = MonomerVol - MonomerVolType * 0.9; tmp_cap *= (STDAH - SumAH * N_TO_10H(HourRate)); tmp_cap = tmp_cap/(MaxMonomerVol - MonomerVolType*0.9); if(tmp_cap < 0) tmp_cap = 0; if(CapType == CapType_Rest) return tmp_cap; else if(CapType == CapType_Sum) return (tmp_cap + SumAH * N_TO_10H(HourRate)); else return ((tmp_cap + SumAH * N_TO_10H(HourRate))*100 / STDAH); } //---------------------------------------------------------------------------------- */ } /*************************************************************************************** ******************************* end of file (FBS_ComBase)******************************* ***************************************************************************************/