package com.whyc.dto; import com.whyc.util.ActionUtil; import java.io.File; import java.io.IOException; import java.io.InputStream; public class BattTestData { final public static int BATT_MON_COUNT_MAX = 512; final public static int AppServer_Reinit_BattGroupData_EN=1;//修改删除添加电池组信息时识别信号 final public static byte BATTDATA_NULL = 0; final public static byte BATTDATA_FLOAT = 1; final public static byte BATTDATA_CHARGE = 2; final public static byte BATTDATA_DISCHARGE = 3; final public static byte BATTDATA_JUNCHARGE = 4; final public static byte BATTDATA_RES = 5; final public static byte BATTDATA_SER = 6; final public static byte BATTDATA_TMP = 7; final public static byte BATTDATA_CONNRES = 8; final public static byte BATTDATA_MONITOR = 9; final public static byte BATTSTATE_NULL = 0; final public static byte BATTSTATE_FLOAT = 1; final public static byte BATTSTATE_CHARGE = 2; final public static byte BATTSTATE_DISCHARGE = 3; final public static byte BATTSTATE_JUNCHARGE = 4; final public static byte TEST_LOADER_REALLOADER = 1; final public static byte TEST_LOADER_FBI_IDCE = 2; final public static byte TEST_LOADER_FBS9100S =3; public static final byte MonData_CapVol = 0; public static final byte MonData_RealCap = 1; public static final byte MonData_RestCap = 2; public static final byte MonData_CapPercent = 3; public static final byte MonData_Vol = 4; public static final byte MonData_Res = 5; public static final byte MonData_Ser = 6; public static final byte MonData_Tmp = 7; public static final byte MonData_ConnRes = 8; public static final byte MonData_SerPercent = 9; public static final String CM="_CM";//移动 public static final String CT="_CT";//电信 public static final String CU="_CU";//联通 public static final String test_type0 ="无";//无 public static final String test_type1 ="浮充"; public static final String test_type2 ="充电"; public static final String test_type3 ="放电"; public static final String test_type4 ="均充"; public static final String test_type5 ="电导/内阻"; public static final String test_type6 ="电导"; public static final String test_type7 ="温度"; public static final String test_type8 ="连接条"; public static final String test_type9 ="在线监测"; //放电计划状态的对应关系 public static final int test_plan0 = 0;//未放电 public static final int test_plan1 = 1;//放电延时 public static final int test_plan2 = 2;//放电完成 public static final int test_plan3 = 3;//放电进行中 public static final int test_plan4 = 4;//放电失败 public static final int hoursBetween = 72;//俩次放电计划相隔时间 public static final int RC_NUM_PARAM=1000;//最多一千笔 public static final int RC_NUM_Real = 1000;//最多一千笔 //电池放电测试弹出框中显示排行前几个内阻数据 public static final int mon_res_num=10; //启动创建数据库的jar文件 public static void run_cmdOld() { String path=System.getProperty("user.dir"); String realapth=path.substring(0,path.lastIndexOf("\\")); //System.out.println(realapth); String strcmd="cmd /c start "+realapth+"/webapps/cmd_BTSE_DB_Builder.cmd"; // Runtime rt = Runtime.getRuntime(); //Runtime.getRuntime()返回当前应用程序的Runtime对象 Process ps = null; //Process可以控制该子进程的执行或获取该子进程的信息。 try { ps = rt.exec(strcmd); //该对象的exec()方法指示Java虚拟机创建一个子进程执行指定的可执行程序,并返回与该子进程对应的Process对象实例。 ps.waitFor(); //等待子进程完成再往下执行。 } catch (IOException e1) { e1.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } int i =0; if(ps!=null){ i=ps.exitValue(); //接收执行完毕的返回值 } if (i == 0) { System.out.println("执行完成."); } else { System.out.println("执行失败."); } ps.destroy(); //销毁子进程 ps = (Process) ActionUtil.objeNull; } //启动创建数据库的jar文件 public static void run_cmd() { //String path=System.getProperty("user.dir"); //myeclipse中获取的目录(获取到的是tomcat/bin)和分离项目获取到的路径(tomcat)不一样 String fullRealPath = ActionUtil.getSession().getServletContext().getRealPath("/"); String path = fullRealPath.split(File.separator+"webapps")[0]; System.out.println("tomcat的路径为"+path); //识别服务器的系统类型 String OS = System.getProperty("os.name").toLowerCase(); // System.out.println(OS); String strcmd=""; if(OS.contains("window")) { String realapth=path.substring(0,path.lastIndexOf("\\")); strcmd="cmd /c start "+realapth+"/webapps/cmd_BTSE_DB_Builder.cmd"; String batPath = realapth+"/webapps/cmd_BTSE_DB_Builder.cmd"; File f = new File(path); //System.out.println("File :"+f.getParentFile().getAbsolutePath()+File.separator+"Batt_MS_FBSDEV_X64/Batt_MS_FBSDEV/"+"cmd_BTSE_DB_Builder.cmd"); //batPath = f.getParentFile().getAbsolutePath()+File.separator+"Batt_MS_FBSDEV_X64/Batt_MS_FBSDEV/"+"cmd_BTSE_DB_Builder.cmd"; String jarPath = ""; if(path.endsWith("bin")){ f = f.getParentFile(); } jarPath = f.getParentFile().getAbsolutePath()+File.separator+"Batt_MS_FBSDEV_X64/Batt_MS_FBSDEV/"+"BTSE_DB_Builder.exe"; //主程序中jar的目录 System.out.println("jar执行文件全路径为:"+jarPath); //strcmd = "cmd /c start "+batPath; strcmd = ("cmd /c start ")+jarPath.replaceAll(" ", "\" \""); }else { strcmd="java -jar /app/BTSE_DB_Builder.jar"; } //System.out.println(path); //修复绝对路径中存在空格时执行不成功bug Process child = null; InputStream in = null; try { //System.out.println(strcmd); child = Runtime.getRuntime().exec(strcmd); in = child.getInputStream(); int c; while ((c = in.read()) != -1) { //System.out.print((char)c); } in.close(); try { child.waitFor(); } catch (InterruptedException e) { e.printStackTrace(); } //System.out.println("Run Bat OK...."); } catch (IOException e) { e.printStackTrace(); } } //落后单体参数(组端电压>标称*test_stop) public static final float test_stop = 0.9f; //判断电池组的当前状态 /*public static String battState(int num){ String state=""; switch (num) { case 0:state= BattTestData.test_type0;break; case 1:state= BattTestData.test_type1;break; case 2:state= BattTestData.test_type2;break; case 3: state = BattTestData.test_type3; break; case 4: state = BattTestData.test_type4; break; case 5: state = BattTestData.test_type5; break; case 6: state = BattTestData.test_type6; break; case 7: state = BattTestData.test_type7; break; case 8: state = BattTestData.test_type8; break; case 9: state = BattTestData.test_type9; break; } return state; }*/ //判断电池组的当前状态 public static String battState(int num) { String state = ""; switch (num) { case 0: state = "test_type0"; break; case 1: state = "test_type1"; break; case 2: state = "test_type2"; break; case 3: state = "test_type3"; break; case 4: state = "test_type4"; break; case 5: state = "test_type5"; break; case 6: state = "test_type6"; break; case 7: state = "test_type7"; break; case 8: state = "test_type8"; break; case 9: state = "test_type9"; break; } return state; } //bts放电终止原因 public static String getStopType(int dev_type, int stop_type_t) { String stop_type = "未知"; if (BattTestData.TEST_LOADER_FBI_IDCE == dev_type) { switch (stop_type_t) { case 0: stop_type = "手动停止"; break; case 1: stop_type = "放电时间到"; break; case 2: stop_type = "放电容量到"; break; case 3: stop_type = "单体下限到"; break; case 4: stop_type = "组端下限到"; break; case 5: stop_type = "市电中断"; break; case 6: stop_type = "内存不足"; break; case 7: stop_type = "温度异常"; break; } } else if (BattTestData.TEST_LOADER_FBS9100S == dev_type) { switch (stop_type_t) { case 0: stop_type = "手动停止"; break; case 1: stop_type = "暂停"; break; case 2: stop_type = "正在放电测试"; break; case 3: stop_type = "正在等待放电"; break; case 4: stop_type = "正在限流充电"; break; case 5: stop_type = "正在直连充电"; break; case 6: stop_type = "正在等待充电"; break; case 7: stop_type = "放电时间到"; break; case 8: stop_type = "放电容量到"; break; case 9: stop_type = "单体下限到"; break; case 10: stop_type = "组端下限到"; break; case 11: stop_type = "市电中断停止"; break; case 12: stop_type = "存储数据满"; break; case 13: stop_type = "机内温度异常"; break; case 14: stop_type = "放电电流过流"; break; case 15: stop_type = "后台通信中断"; break; case 16: stop_type = "负载模块中断"; break; case 17: stop_type = "在线模块中断"; break; case 18: stop_type = "负载模块过功率"; break; case 19: stop_type = "内部程序异常"; break; } } else { stop_type = "手动停止"; } return stop_type; } //61850放电终止原因 public static String getStopType_6185(int stop_type_t) { String stop_type = "其他"; switch(stop_type_t) { case 0 : stop_type = "设备掉电终止"; break; case 1 : stop_type = "手动终止"; break; case 2 : stop_type = "放电时间到终止"; break; case 3 : stop_type = "放电容量到终止"; break; case 4 : stop_type = "单体电压下限到终止"; break; case 5 : stop_type = "单体温度上限到终止"; break; case 6 : stop_type = "组端电压下限到终止"; break; case 7 : stop_type = "市电中断终止"; break; case 8 : stop_type = "单体模块通讯异常终止"; break; case 9 : stop_type = "存储数据满终止"; break; case 10 : stop_type = "机内温度异常终止"; break; case 11 : stop_type = "放电电流异常终止"; break; case 12 : stop_type = "后台通讯中断终止"; break; case 13 : stop_type = "内部程序异常终止"; break; case 14 : stop_type = "电源电压高终止"; break; case 15 : stop_type = "协转通讯异常"; break; case 16 : stop_type = "其他"; break; case 27 : stop_type = "其他设备在工作"; break; case 28 : stop_type = "其他设备故障停止"; break; case 29 : stop_type = "电压过高或过低"; break; case 30 : stop_type = "干接点故障"; break; case 31 : stop_type = "单体异常"; break; case 32 : stop_type = "电压输入过高或过低"; break; case 33 : stop_type = "电池电流异常"; break; case 34 : stop_type = "kd测试故障"; break; case 35 : stop_type = "切换装置通信异常"; break; case 36 : stop_type = "切换装置故障"; break; case 37 : stop_type = "切换装置接触器异常"; break; case 38 : stop_type = "交流失电停止"; break; case 100 : stop_type = "未知"; break; } return stop_type; } //61850放电终止原因(多宝山) public static String getStopType_6185DBS(int stop_type_t) { String stop_type = "其他"; switch(stop_type_t) { case 0 : stop_type = "设备掉电终止"; break; case 1 : stop_type = "手动终止"; break; case 2 : stop_type = "放电时间到终止"; break; case 3 : stop_type = "放电容量到终止"; break; case 4 : stop_type = "单体电压下限到终止"; break; case 5 : stop_type = "单体温度上限到终止"; break; case 6 : stop_type = "组端电压下限到终止"; break; case 7 : stop_type = "市电中断终止"; break; case 8 : stop_type = "单体通信异常终止"; break; case 9 : stop_type = "存储数据满终止"; break; case 10 : stop_type = "机内温度异常终止"; break; case 11 : stop_type = "放电电流异常终止"; break; case 12 : stop_type = "后台通信中断终止"; break; case 13 : stop_type = "内部程序异常终止"; break; case 14 : stop_type = "电源电压高终止"; break; case 15 : stop_type = "协转通信异常终止"; break; case 16 : stop_type = "切换装置通信故障终止"; break; case 27 : stop_type = "切换装置故障终止"; break; case 28 : stop_type = "DCAC模块故障终止"; break; case 29 : stop_type = "负载功率小终止"; break; case 30 : stop_type = "干接点接入故障终止"; break; case 31 : stop_type = "母联通信异常终止"; break; case 32 : stop_type = "母联手动关闭/信号异常终止"; break; case 33 : stop_type = "逆变器通信故障终止"; break; case 34 : stop_type = "防雷器故障终止"; break; case 35 : stop_type = "机柜表头通信故障终止"; break; case 36 : stop_type = "限流充电模块故障终止"; break; case 37 : stop_type = "紧急停止终止"; break; case 38 : stop_type = "远程闭锁终止"; break; case 39 : stop_type = "切换装置开关异常终止"; break; case 40 : stop_type = "交流空开异常终止"; break; case 41 : stop_type = "交流接触器异常终止"; break; case 42 : stop_type = "直流空开异常终止"; break; } return stop_type; } public static String getStopType_9110(int stop_type_t){ String stop_type = "未知"; switch (stop_type_t){ case 0 : stop_type = "手动停止"; break; case 1 : stop_type = "暂停"; break; case 2 : stop_type = "正在放电测试"; break; case 3 : stop_type = "正在等待放电"; break; case 4 : stop_type = "正在限流充电"; break; case 5 : stop_type = "正在直流充电"; break; case 6 : stop_type = "正在等待充电"; break; case 7 : stop_type = "放电时间到停止"; break; case 8 : stop_type = "放电容量到停止"; break; case 9 : stop_type = "单体电压下限到停止"; break; case 10: stop_type = "组端电压下限到停止"; break; case 11: stop_type = "市电中断停止"; break; case 12: stop_type = "存储数据满停止"; break; case 13: stop_type = "机内温度异常停止"; break; case 14: stop_type = "放电电流异常停止"; break; case 15:stop_type = "后台通信中断停止"; break; case 16: stop_type = "负载模块通信中断停止"; break; case 17: stop_type = "选择模块通信中断停止"; break; case 18: stop_type = "负载模块放电过功率停止"; break; case 19: stop_type = "内部程序异常停止"; break; case 20: stop_type = "市电恢复停止升压放电"; break; case 21: stop_type = "充电过程中市电中断"; break; case 22: stop_type = "合路器放电功能组端电压下限到"; break; case 23: stop_type = "单体温度上限到停止"; break; case 24: stop_type = "在线电压异常高停止"; break; case 25: stop_type = "协转通信异常停止"; break; case 26: stop_type = "单体通信异常停止"; break; case 27: stop_type = "LRBH模块通信故障"; break; case 28: stop_type = "LRBH接触器异常"; break; case 29: stop_type = "设备风扇工作异常"; break; } return stop_type; } //4016放电终止原因 public static String getStopType_4016(int stop_type_t) { String stop_type = "其他"; switch(stop_type_t) { case 0 : stop_type = "无"; break; case 1 : stop_type = "手动终止"; break; case 2 : stop_type = "核容测试时间到"; break; case 3 : stop_type = "核容测试组端下限到"; break; case 4 : stop_type = "核容测试单体下限到"; break; case 5 : stop_type = "核容测试容量低于阀值"; break; case 6 : stop_type = "应急供电组端下限到"; break; case 7 : stop_type = "应急供电单体下限到"; break; case 8 : stop_type = "市电恢复停止应急供电"; break; case 9 : stop_type = "停止自动应急供电"; break; case 10 : stop_type = "无法启动核容测试"; break; case 11 : stop_type = "模块故障"; break; case 12 : stop_type = "电池开路故障"; break; case 16 : stop_type = "其他"; break; } return stop_type; } //4019(LD9)放电终止原因 public static String getTestType_4019(int testType) { String test_Type = "未知"; switch(testType) { case 1 : test_Type = "核容放电"; break; case 2 : test_Type = "核容充电"; break; case 3 : test_Type = "监测放电"; break; case 4 : test_Type = "监测充电"; break; } return test_Type; } //4019(LD9)放电终止原因 public static String getStopType_4019(int stop_type_t) { String stop_type = "未知"; switch(stop_type_t) { case 0: stop_type = "无"; break; case 1: stop_type = "手动终止"; break; case 2: stop_type = "单体下限到"; break; case 3: stop_type = "充电完成停止"; break; case 4: stop_type = "测试完成停止"; break; case 5: stop_type = "远程停止"; break; case 6: stop_type = "在线电压低"; break; case 7: stop_type = "温度异常高"; break; case 8: stop_type = "电流异常"; break; case 9: stop_type = "系统正在工作"; break; case 10: stop_type = "正在均衡测试"; break; case 11: stop_type = "正在内阻测试"; break; case 12: stop_type = "汇集器通信异常"; break; case 13: stop_type = "功率电缆异常"; break; case 14: stop_type = "主机停止(ld-18)"; break; case 15: stop_type = "从机通讯异常(ld-18)"; break; } return stop_type; } // 逆变设备放电终止原因9120和9140 public static String getStopType_9120(int stop_type_t) { String stop_type = "其他"; switch (stop_type_t) { case 0: stop_type = "手动停止"; break; case 1: stop_type = "暂停"; break; case 2: stop_type = "正在放电测试"; break; case 3: stop_type = "正在等待放电"; break; case 4: stop_type = "正在限流充电"; break; case 5: stop_type = "正在直流充电"; break; case 6: stop_type = "正在等待充电"; break; case 7: stop_type = "放电时间到停止"; break; case 8: stop_type = "放电容量到停止"; break; case 9: stop_type = "单体电压下限到停止"; break; case 10: stop_type = "组端电压下限到停止"; break; case 11: stop_type = "市电中断停止"; break; case 12: stop_type = "存储数据满停止"; break; case 13: stop_type = "机内温度异常停止"; break; case 14: stop_type = "放电电流过流停止"; break; case 15: stop_type = "后台通信中断停止"; break; case 16: stop_type = "负载模块通信中断停止"; break; case 17: stop_type = "选择模块通信中断停止"; break; case 18: stop_type = "负载模块放电过功率停止"; break; case 19: stop_type = "内部程序异常停止"; break; case 20: stop_type = "市电恢复停止升压放电"; break; case 21: stop_type = "充电过程中市电中断"; break; case 22: stop_type = "合路器放电功能组端电压下限到"; break; case 23: stop_type = "单体温度上限到停止"; break; case 24: stop_type = "在线电压异常高停止"; break; case 25: stop_type = "协转通信异常停止"; break; case 26: stop_type = "单体通信异常停止"; break; case 27: stop_type = "未知"; break; case 28: stop_type = "切换装置通信故障"; break; case 29: stop_type = "切换装置故障"; break; case 30: stop_type = "DCAC模块故障"; break; case 31: stop_type = "负载功率小"; break; case 32: stop_type = "干接点输入故障"; break; case 33: stop_type = "母联通信异常"; break; case 34: stop_type = "母联手动关闭"; break; } return stop_type; } // 并联电源放电终止原因9149 public static String getStopType_9149(int stop_type_t) { String stop_type = "其他"; switch (stop_type_t) { case 0: stop_type = "核容中模块内部通信故障,核容失败"; break; case 1: stop_type = "手动停止核容,核容失败"; break; case 2: stop_type = "时长过短,核容失败"; break; case 3: stop_type = "达到最长核容时间,核容失败"; break; case 4: stop_type = "电池电压低于核容终止电压,核容成功"; break; case 5: stop_type = "核容放电电流过小,核容失败"; break; case 6: stop_type = "手动停止"; break; case 7: stop_type = "时间到停止"; break; case 8: stop_type = "单体下限停止"; break; case 9: stop_type = "电池电压下限到"; break; case 10: stop_type = "单体温度上限到"; break; } return stop_type; } // 并联电源放电终止原因9150 public static String getStopType_9150(int stop_type_t) { String stop_type = "其他"; switch (stop_type_t) { case 0: stop_type = "无"; break; case 1: stop_type = "暂停"; break; case 2: stop_type = "正在放电测试"; break; case 3: stop_type = "正在等待放电"; break; case 4: stop_type = "正在限流充电"; break; case 5: stop_type = "正在直连充电"; break; case 6: stop_type = "正在等待充电"; break; case 7: stop_type = "放电时间到停止"; break; case 8: stop_type = "放电容量到停止"; break; case 9: stop_type = "单体下限到停止"; break; case 10: stop_type = "组端下限到停止"; break; case 11: stop_type = "市电中断停止"; break; case 12: stop_type = "存储数据满停止"; break; case 13: stop_type = "机内温度异常停止"; break; case 14: stop_type = "放电电流过流停止"; break; case 15: stop_type = "后台通信中断停止"; break; case 16: stop_type = "负载模块通信中断停止"; break; case 17: stop_type = "选择模块通信中断停止"; break; case 18: stop_type = "负载模块放电过功率停止"; break; case 19: stop_type = "内部程序异常停止"; break; case 20: stop_type = "合路器放电功能,市电恢复停止升压放电"; break; case 21: stop_type = "合路器放电功能,充电过程中市电中断"; break; case 22: stop_type = "合路器放电功能组端电压下限"; break; case 23: stop_type = "单体温度上限到停止"; break; case 24: stop_type = "在线电压异常高停止"; break; case 25: stop_type = "协转通信异常停止"; break; case 26: stop_type = "单体通信异常停止"; break; case 27: stop_type = "未知"; break; case 28: stop_type = "干接点通信异常停止"; break; case 29: stop_type = "接触器K异常"; break; case 30: stop_type = "急停"; break; case 31: stop_type = "旁路停止"; break; } return stop_type; } // 一体机设备放电终止原因 public static String getStopType_8059(int stop_type_t) { String stop_type = "其他"; switch (stop_type_t) { case 0x00: stop_type = "手动停止"; break; case 0x01: stop_type = "放电时间到"; break; case 0x02: stop_type = "放电容量到"; break; case 0x03: stop_type = "单体下限到"; break; case 0x04: stop_type = "组端下限到"; break; case 0x05: stop_type = "市电中断"; break; case 0x06: stop_type = "内存不足"; break; case 0x07: stop_type = "温度异常高"; break; case 0x08: stop_type = "正在放电"; break; case 0x09: stop_type = "手动暂停"; break; case 0x0A: stop_type = "暂停放电"; break; case 0x0B: stop_type = "通信故障"; break; case 0x0C: stop_type = "电流故障"; break; case 0x0D: stop_type = "压差上限到"; break; case 0x0E: stop_type = "组端电压异常"; break; case 0x0F: stop_type = "风扇异常"; break; case 0x10: stop_type = "整流器电压异常"; break; case 0x11: stop_type = "IGBT异常"; break; case 0x12: stop_type = "辅助电源异常"; break; case 0x13: stop_type = "CSV文件太大,请删除"; break; case 0x14: stop_type = "BMS通信异常"; break; case 0x15: stop_type = "存储异常"; break; case 0x16: stop_type = "从机断开或通讯异常"; break; case 0x17: stop_type = "从机状态异常"; break; case 0x18: stop_type = "紧急停止"; break; case 0x19: stop_type = "单体温度异常高"; break; case 0x40: stop_type = "停止充电"; break; case 0x41: stop_type = "暂停充电"; break; case 0x42: stop_type = "正在充电"; break; case 0x43: stop_type = "充电时间到"; break; case 0x44: stop_type = "充电容量到"; break; case 0x45: stop_type = "单体上限到"; break; case 0x46: stop_type = "充电已完成"; break; case 0x47: stop_type = "市电中断"; break; case 0x48: stop_type = "温度异常高"; break; case 0x49: stop_type = "通信故障"; break; case 0x4A: stop_type = "充电模块异常"; break; case 0x4B: stop_type = "组端上限到"; break; case 0x4C: stop_type = "压差上限到"; break; case 0x4D: stop_type = "电流异常"; break; case 0x4E: stop_type = "组端电压异常"; break; case 0x4F: stop_type = "风扇异常"; break; case 0x50: stop_type = "整流器电压异常"; break; case 0x51: stop_type = "IGBT异常"; break; case 0x52: stop_type = "辅助电源异常"; break; case 0x53: stop_type = "CSV文件太大,请删除"; break; case 0x54: stop_type = "BMS通信异常"; break; case 0x55: stop_type = "存储异常"; break; case 0x56: stop_type = "从机断开或通讯异常"; break; case 0x57: stop_type = "从机状态异常"; break; case 0x58: stop_type = "紧急停止"; break; } return stop_type; } // 电操核容放电终止原因 public static String getStopType_6087(int stop_type_t) { String stop_type = "其他"; switch(stop_type_t) { case 0: stop_type = "无"; break; case 1: stop_type = "暂停"; break; case 2: stop_type = "正在放电测试"; break; case 3: stop_type = "正在等待放电"; break; case 4: stop_type = "正在限流充电"; break; case 5: stop_type = "正在直连充电"; break; case 6: stop_type = "正在等待充电"; break; case 7: stop_type = "放电时间到停止"; break; case 8: stop_type = "放电容量到停止"; break; case 9: stop_type = "单体电压下限到停止"; break; case 10: stop_type = "组端电压下限到停止"; break; case 11: stop_type = "市电中断停止"; break; case 12: stop_type = "存储数据满停止"; break; case 13: stop_type = "机内温度异常停止"; break; case 14: stop_type = "放电电流异常停止"; break; case 15: stop_type = "后台通信中断停止"; break; case 16: stop_type = "负载模块通信中断停止"; break; case 18: stop_type = "负载模块放电过功率停止"; break; case 19: stop_type = "(内部)程序异常停止"; break; case 23: stop_type = "单体温度上限到停止"; break; case 24: stop_type = "在线电压异常高停止"; break; case 25: stop_type = "协转通信异常停止"; break; case 26: stop_type = "单体通信异常停止(汇集器通信异常)"; break; case 30: stop_type = "逆变器模块故障"; break; case 31: stop_type = "负载功率小"; break; case 32: stop_type = "干接点输入故障"; break; case 35: stop_type = "逆变模块通信故障"; break; case 36: stop_type = "防雷器故障"; break; case 37: stop_type = "机柜表头通信故障"; break; case 38: stop_type = "开关故障"; break; case 39: stop_type = "开关量模块通信故障"; break; case 40: stop_type = "母线压差大"; break; case 41: stop_type = "继电器状态错误"; break; case 42: stop_type = "远程闭锁"; break; case 43: stop_type = "紧急停止"; break; case 44: stop_type = "充电停止"; break; case 45: stop_type = "蓄电池对外放电"; break; case 46: stop_type = "空开故障"; break; case 47: stop_type = "充电机故障"; break; } return stop_type; } // FBO4830放电终止原因 public static String getStopType_4830(int stop_type_t) { String stop_type = "其他"; switch(stop_type_t) { // 放电停止原因 case 0x00: stop_type = "手动停止"; break; case 0x01: stop_type = "放电时间到"; break; case 0x02: stop_type = "放电容量到"; break; case 0x03: stop_type = "单体下限到"; break; case 0x04: stop_type = "组端下限到"; break; case 0x05: stop_type = "市电中断"; break; case 0x06: stop_type = "内存不足"; break; case 0x07: stop_type = "温度异常高"; break; case 0x08: stop_type = "正在放电"; break; case 0x09: stop_type = "手动暂停"; break; case 0x0A: stop_type = "暂停放电"; break; case 0x0B: stop_type = "通信故障"; break; case 0x0C: stop_type = "电流故障"; break; case 0x0D: stop_type = "压差上限到"; break; case 0x0E: stop_type = "组端电压异常"; break; case 0x0F: stop_type = "风扇异常"; break; case 0x10: stop_type = "整流器电压异常"; break; case 0x11: stop_type = "IGBT异常"; break; case 0x12: stop_type = "辅助电源异常"; break; case 0x13: stop_type = "单体温度异常高"; break; case 0x14: stop_type = "BMS通信异常"; break; case 0x15: stop_type = "存储异常"; break; case 0x16: stop_type = "从机断开或通讯异常"; break; case 0x17: stop_type = "从机状态异常"; break; case 0x18: stop_type = "紧急停止"; break; case 0x19: stop_type = "SOC下限到"; break; // 充电停止原因 case 0x40: stop_type = "停止充电"; break; case 0x41: stop_type = "暂停充电"; break; case 0x42: stop_type = "正在充电"; break; case 0x43: stop_type = "充电时间到"; break; case 0x44: stop_type = "充电容量到"; break; case 0x45: stop_type = "单体上限到"; break; case 0x46: stop_type = "充电已完成"; break; case 0x47: stop_type = "市电中断"; break; case 0x48: stop_type = "温度异常高"; break; case 0x49: stop_type = "通信故障"; break; case 0x4A: stop_type = "充电模块异常"; break; case 0x4B: stop_type = "组端上限到"; break; case 0x4C: stop_type = "压差上限到"; break; case 0x4D: stop_type = "电流异常"; break; case 0x4E: stop_type = "组端电压异常"; break; case 0x4F: stop_type = "风扇异常"; break; case 0x50: stop_type = "整流器电压异常"; break; case 0x51: stop_type = "IGBT异常"; break; case 0x52: stop_type = "辅助电源异常"; break; case 0x53: stop_type = "单体温度异常高"; break; case 0x54: stop_type = "BMS通信异常"; break; case 0x55: stop_type = "存储异常"; break; case 0x56: stop_type = "从机断开或通讯异常"; break; case 0x57: stop_type = "从机状态异常"; break; case 0x58: stop_type = "紧急停止"; break; case 0x59: stop_type = "SOC上限到"; break; case 0x5A: stop_type = "直充充电"; break; case 0x5B: stop_type = "正在充电监测"; break; } return stop_type; } /*// FBO4831放电终止原因 public static String getStopType_4831(int stop_type_t) { String stop_type = "其他"; switch (stop_type_t) { // 放电停止原因 case 0: stop_type = "手动停止"; break; case 1: stop_type = "放电时间到"; break; case 2: stop_type = "放电容量到"; break; case 3: stop_type = "单体下限到"; break; case 4: stop_type = "组端下限到"; break; case 5: stop_type = "市电中断"; break; case 6: stop_type = "存储异常"; break; case 7: stop_type = "温度异常"; break; case 8: stop_type = "正在放电"; break; case 9: stop_type = "手动暂停"; break; case 10: stop_type = "自动暂停"; break; case 11: stop_type = "通信异常"; break; case 12: stop_type = "电流异常"; break; case 13: stop_type = "压差上限到"; break; case 14: stop_type = "组端电压异常"; break; case 15: stop_type = "风扇异常"; break; case 16: stop_type = "整流器电压异常"; break; case 17: stop_type = "IGBT异常"; break; case 18: stop_type = "辅助电源异常"; break; case 19: stop_type = "CSV文件太大,请删除"; break; case 20: stop_type = "从机通信异常"; break; case 21: stop_type = "从机状态异常"; break; case 22: stop_type = "主机通信异常"; break; case 23: stop_type = "紧急停止"; break; case 24: stop_type = "硬件并机失败"; break; case 25: stop_type = "操作频繁"; break; case 26: stop_type = "未知"; break; } return stop_type; }*/ // FBO4831放电终止原因 public static String getStopType_4831(int stop_type_t) { String stop_type = "NONE"; switch (stop_type_t) { // 放电停止原因 case 0: stop_type = "ManualStop"; break; case 1: stop_type = "DischargeTimeTo"; break; case 2: stop_type = "DischargeCapacityTo"; break; case 3: stop_type = "LowerLimitOfMonomerTo"; break; case 4: stop_type = "GroupEndLowerLimitTo"; break; case 5: stop_type = "MainsPowerOutage"; break; case 6: stop_type = "StorageException"; break; case 7: stop_type = "AbnormalTemperature"; break; case 8: stop_type = "Discharging"; break; case 9: stop_type = "ManualPause"; break; case 10: stop_type = "AutoPause"; break; case 11: stop_type = "AbnormalCommunication"; break; case 12: stop_type = "AbnormalCurrent"; break; case 13: stop_type = "UpperLimitOfPressureDifferenceTo"; break; case 14: stop_type = "AbnormalGroupTerminalVoltage"; break; case 15: stop_type = "FanAbnormal"; break; case 16: stop_type = "RectifierVoltageAbnormality"; break; case 17: stop_type = "IGBTAbnormality"; break; case 18: stop_type = "AbnormalAuxiliaryPowerSupply"; break; case 19: stop_type = "CSVFileIsTooLargePleaseDeleteIt"; break; case 20: stop_type = "AbnormalSlaveCommunication"; break; case 21: stop_type = "AbnormalSlaveState"; break; case 22: stop_type = "HostCommunicationAbnormality"; break; case 23: stop_type = "EmergencyStop"; break; case 24: stop_type = "HardwareParallelFailure"; break; case 25: stop_type = "FrequentOperations"; break; case 26: stop_type = "NONE"; break; } return stop_type; } // FBO4815放电终止原因 public static String getStopType_4815(int stop_type_t) { String stop_type = "其他"; switch (stop_type_t) { // 放电停止原因 case 0x00: stop_type = "手动停止"; break; case 0x01: stop_type = "放电时间到"; break; case 0x02: stop_type = "放电容量到"; break; case 0x03: stop_type = "单体下限到"; break; case 0x04: stop_type = "组端下限到"; break; case 0x05: stop_type = "市电中断"; break; case 0x06: stop_type = "内存不足"; break; case 0x07: stop_type = "温度异常高"; break; case 0x08: stop_type = "正在放电"; break; case 0x09: stop_type = "手动暂停"; break; case 0x0A: stop_type = "暂停放电"; break; case 0x0B: stop_type = "通信故障"; break; case 0x0C: stop_type = "电流故障"; break; case 0x0D: stop_type = "压差上限到"; break; case 0x0E: stop_type = "组端电压异常"; break; case 0x0F: stop_type = "风扇异常"; break; case 0x10: stop_type = "整流器电压异常"; break; case 0x11: stop_type = "IGBT异常"; break; case 0x12: stop_type = "辅助电源异常"; break; case 0x13: stop_type = "单体温度异常高"; break; case 0x14: stop_type = "BMS通信异常"; break; case 0x15: stop_type = "存储异常"; break; case 0x16: stop_type = "从机断开或通讯异常"; break; case 0x17: stop_type = "从机状态异常"; break; case 0x18: stop_type = "紧急停止"; break; case 0x19: stop_type = "SOC下限到"; break; // 充电停止原因 case 0x40: stop_type = "停止充电"; break; case 0x41: stop_type = "暂停充电"; break; case 0x42: stop_type = "正在充电"; break; case 0x43: stop_type = "充电时间到"; break; case 0x44: stop_type = "充电容量到"; break; case 0x45: stop_type = "单体上限到"; break; case 0x46: stop_type = "充电已完成"; break; case 0x47: stop_type = "市电中断"; break; case 0x48: stop_type = "温度异常高"; break; case 0x49: stop_type = "通信故障"; break; case 0x4A: stop_type = "充电模块异常"; break; case 0x4B: stop_type = "组端上限到"; break; case 0x4C: stop_type = "压差上限到"; break; case 0x4D: stop_type = "电流异常"; break; case 0x4E: stop_type = "组端电压异常"; break; case 0x4F: stop_type = "风扇异常"; break; case 0x50: stop_type = "整流器电压异常"; break; case 0x51: stop_type = "IGBT异常"; break; case 0x52: stop_type = "辅助电源异常"; break; case 0x53: stop_type = "单体温度异常高"; break; case 0x54: stop_type = "BMS通信异常"; break; case 0x55: stop_type = "存储异常"; break; case 0x56: stop_type = "从机断开或通讯异常"; break; case 0x57: stop_type = "从机状态异常"; break; case 0x58: stop_type = "紧急停止"; break; case 0x59: stop_type = "SOC上限到"; break; case 0x5A: stop_type = "直充充电"; break; case 0x5B: stop_type = "正在充电监测"; break; } return stop_type; } // 61852全功能逆变假负载+61850协转 public static String getStopType_61852(int stop_type_t) { String stop_type = "未知"; switch(stop_type_t) { case 0: stop_type = "设备掉电终止"; break; case 1:stop_type = "手动终止"; break; case 2:stop_type = "放电时间到终止"; break; case 3:stop_type = "放电容量到终止"; break; case 4:stop_type = "单体电压下限到终止"; break; case 5:stop_type = "单体温度上限终止"; break; case 6:stop_type = "组端电压下限到终止"; break; case 7:stop_type = "市电中断终止"; break; case 8:stop_type = "单体通信异常终止"; break; case 9:stop_type = "存储数据满终止"; break; case 10:stop_type = "机内温度异常终止"; break; case 11:stop_type = "放电电流异常终止"; break; case 12:stop_type = "后台通信中断终止"; break; case 13:stop_type = "内部程序异常终止"; break; case 14:stop_type = "电源电压高终止"; break; case 15:stop_type = "协转通信异常"; break; case 28:stop_type = "切换装置通信故障"; break; case 29:stop_type = "切换装置故障"; break; case 30:stop_type = "DCAC模块故障"; break; case 31:stop_type = "负载功率小"; break; case 32:stop_type = "干接点输入故障"; break; case 33:stop_type = "母联通信异常"; break; case 34:stop_type = "母联手动关闭/信号异常"; break; case 35:stop_type = "逆变器通信故障"; break; case 36:stop_type = "防雷器故障"; break; case 37:stop_type = "机柜表头通信故障"; break; case 38:stop_type = "限流充电模块故障"; break; case 39:stop_type = "紧急停止"; break; case 40:stop_type = "远程闭锁"; break; case 41:stop_type = "切换装置开关异常"; break; case 42:stop_type = "交流空开异常(包括总空开,分空开)"; break; case 43:stop_type = "交流接触器异常"; break; case 44:stop_type = "直流空开异常(分空开)"; break; default:stop_type = "未知"; break; } return stop_type; } //设备状态变换对应关系 public static String getFbsdev_Statechange(int state){ String state_name="停止"; switch(state){ case 0:state_name="停止";break; case 1:state_name="放电";break; case 2:state_name="充电";break; } return state_name; } // FBS9612放电终止原因 public static String getStopType_9612(int stop_type_t) { String stop_type = "未知"; switch(stop_type_t) { // 放电停止原因 case 0: stop_type = "无"; break; case 1: stop_type = "放电未终止"; break; case 2: stop_type = "放电时长到"; break; case 3: stop_type = "现场人为终止"; break; case 4: stop_type = "远程终止"; break; case 5: stop_type = "组电压下限到"; break; case 6: stop_type = "单电压下限到"; break; case 7: stop_type = "单温度上限到"; break; case 8: stop_type = "放出容量到"; break; case 9: stop_type = "放电异常"; break; case 10: stop_type = "电池组非法"; break; case 11: stop_type = "组电压类型非法"; break; case 12: stop_type = "放电电流异常"; break; case 13: stop_type = "终止条件非法"; break; case 14: stop_type = "市电掉电"; break; case 15: stop_type = "母线开关 Km+故障"; break; case 16: stop_type = "母线开关 Km-故障"; break; case 17: stop_type = "电池开关 Kb+故障"; break; case 18: stop_type = "电池开关 Kb-故障"; break; case 19: stop_type = "限流开关 Kr+故障"; break; case 20: stop_type = "限流开关 Kr-故障"; break; case 21: stop_type = "备用"; break; case 22: stop_type = "备用"; break; case 23: stop_type = "设备温度异常"; break; case 24: stop_type = "放电负载通信异常"; break; case 25: stop_type = "电池监测通信异常"; break; case 26: stop_type = "存在开关模块通信异常"; break; case 27: stop_type = "放电回路被占用"; break; case 28: stop_type = "放电负载异常"; break; } return stop_type; } // 6183_4放电终止原因:全功能假负载核容停止原因 public static String getStopType_6183_4(int stop_type_t) { String stop_type = "无"; switch(stop_type_t) { // 放电停止原因 case 0: stop_type = "设备掉电终止"; break; case 1: stop_type = "手动终止"; break; case 2: stop_type = "放电时间到终止"; break; case 3: stop_type = "放电容量到终止"; break; case 4: stop_type = "单体电压下限到终止"; break; case 5: stop_type = "单体温度上限到终止"; break; case 6: stop_type = "组端电压下限到终止"; break; case 7: stop_type = "市电中断终止"; break; case 8: stop_type = "单体通信异常终止"; break; case 9: stop_type = "存储数据满终止"; break; case 10: stop_type = "机内温度异常终止"; break; case 11: stop_type = "放电电流异常终止"; break; case 12: stop_type = "后台通信中断终止"; break; case 13: stop_type = "内部程序异常终止"; break; case 14: stop_type = "电源电压高终止"; break; case 15: stop_type = "协转通信异常"; break; case 28: stop_type = "切换装置通信故障"; break; case 29: stop_type = "切换装置故障"; break; case 30: stop_type = "逆变器模块故障"; break; case 31: stop_type = "负载功率小"; break; case 33: stop_type = "母联通信异常"; break; case 34: stop_type = "母联手动关闭或信号异常"; break; case 35: stop_type = "逆变器通信故障"; break; case 36: stop_type = "防雷器故障"; break; case 37: stop_type = "机柜表头通信故障"; break; case 38: stop_type = "限流充电模块故障"; break; case 39: stop_type = "紧急停止"; break; case 40: stop_type = "远程闭锁"; break; case 41: stop_type = "切换装置开关异常"; break; case 42: stop_type = "交流空开异常"; break; case 43: stop_type = "交流接触器异常"; break; case 44: stop_type = "直流空开异常"; break; case 45: stop_type = "假负载异常停止"; break; case 46: stop_type = "DCDC异常停止"; break; } return stop_type; } // FBO_60010CT_ZX放电终止原因 public static String getStopType_6001(int stop_type_t) { String stop_type = "其他"; switch (stop_type_t) { // 放电停止原因 case 0x00: stop_type = "手动停止"; break; case 0x01: stop_type = "放电时间到"; break; case 0x02: stop_type = "放电容量到"; break; case 0x03: stop_type = "单体下限到"; break; case 0x04: stop_type = "组端下限到"; break; case 0x05: stop_type = "在线电压低"; break; case 0x06: stop_type = "内存不足"; break; case 0x07: stop_type = "温度异常高"; break; case 0x08: stop_type = "正在放电"; break; case 0x09: stop_type = "手动暂停"; break; case 0x0A: stop_type = "暂停放电"; break; case 0x0B: stop_type = "通信故障"; break; case 0x0C: stop_type = "电流检测错误"; break; // 充电停止原因 case 0x40: stop_type = "停止充电"; break; case 0x41: stop_type = "暂停充电"; break; case 0x42: stop_type = "正在充电,限流充电"; break; case 0x43: stop_type = "直充充电"; break; case 0x44: stop_type = "正在充电监测"; break; case 0x47: stop_type = "脱扣器断开"; break; case 0x48: stop_type = "风扇异常"; break; case 0x49: stop_type = "暂停充电监测"; break; } return stop_type; } // 61853 public static String getStopType_61853(int stop_type_t) { String stop_type = "未知"; switch(stop_type_t) { case 1:stop_type = "手动停止"; break; case 2:stop_type = "放电时间到停止"; break; case 3:stop_type = "放电容量到停止"; break; case 4:stop_type = "单体电压下限到停止"; break; case 5:stop_type = "单体温度上限停止"; break; case 6:stop_type = "组端电压下限到停止"; break; case 7:stop_type = "市电中断停止"; break; case 8:stop_type = "单体通信异常停止"; break; case 9:stop_type = "存储数据满停止"; break; case 10:stop_type = "机内温度异常停止"; break; case 11:stop_type = "放电电流异常停止"; break; case 12:stop_type = "后台通信中断停止"; break; case 13:stop_type = "内部程序异常停止"; break; case 14:stop_type = "电源电压过高停止"; break; case 15:stop_type = "协转通信异常停止"; break; case 18:stop_type = "暂停"; break; case 19:stop_type = "正在放电测试"; break; case 20:stop_type = "正在等待放电"; break; case 21:stop_type = "正在限流充电"; break; case 22:stop_type = "正在直连充电"; break; case 23:stop_type = "正在等待充电"; break; case 28:stop_type = "切换单元通信故障"; break; case 29:stop_type = "切换单元故障"; break; case 30:stop_type = "降压模块故障"; break; case 31:stop_type = "负载功率小"; break; case 32:stop_type = "干接点输入故障"; break; case 33:stop_type = "母联通信异常"; break; case 34:stop_type = "母联手动断开或信号异常"; break; case 35:stop_type = "降压通信故障"; break; case 36:stop_type = "防雷器故障"; break; case 37:stop_type = "机柜表头通信故障"; break; case 38:stop_type = "限流充电模块故障"; break; case 39:stop_type = "紧急停止"; break; case 40:stop_type = "远程闭锁"; break; case 41:stop_type = "切换单元开关异常"; break; case 42:stop_type = "交流空开异常(分空开)"; break; case 43:stop_type = "交流接触器异常"; break; case 44:stop_type = "直流空开异常(分空开)"; break; case 45:stop_type = "切换开关粘连或电源状态异常"; break; case 46:stop_type = "电阻箱温度过高"; break; case 47:stop_type = "降压模块过温限流"; break; case 48:stop_type = "降压模块风扇故障"; break; case 49:stop_type = "降压模块过流故障"; break; case 52:stop_type = "充电截止到"; break; // #define ALARM_ChargeCurrEnd_Stop 52 //充电截止到 case 53:stop_type = "在线接触器状态异常"; break; //#define ALARM_Online_JCQ_Error 53 //在线接触器状态异常 default:stop_type = "未知"; break; } return stop_type; } // 6186 启动失败原因 public static String getControlFailType6186(int controlFailType) { String controlFailTypeName = "未知"; switch(controlFailType) { case 0x00:controlFailTypeName = "无"; break; case 0x03:controlFailTypeName = "内部通信故障"; break; case 0x04:controlFailTypeName = "系统存在告警"; break; case 0x05:controlFailTypeName = "系统测试中"; break; case 0x06:controlFailTypeName = "输入电压过高"; break; case 0x07:controlFailTypeName = "输入电压过低"; break; case 0x08:controlFailTypeName = "负载功率太小"; break; case 0x09:controlFailTypeName = "两段直流母线压差大"; break; case 0x0A:controlFailTypeName = "两段电池组压差大"; break; case 0x0B:controlFailTypeName = "远程闭锁状态"; break; case 0x0C:controlFailTypeName = "急停状态"; break; case 0x0D:controlFailTypeName = "切换开关粘连或电源状态异常"; break; case 0x0E:controlFailTypeName = "启动频繁"; break; case 0x0F:controlFailTypeName = "系统正在内阻测试"; break; case 0x10:controlFailTypeName = "放电参数设置异常"; break; case 0x11:controlFailTypeName = "设备内存不足"; break; case 0xFF:controlFailTypeName = "未知"; break; } return controlFailTypeName; } }