whyclxw
2025-05-28 e16302f9d475c7cc4dd18c5abf1a23cb5502e362
src/main/java/com/whyc/dto/BattTestData.java
@@ -92,7 +92,10 @@
            e.printStackTrace();
        }
        int i = ps.exitValue();  //接收执行完毕的返回值
        int i =0;
        if(ps!=null){
           i=ps.exitValue();  //接收执行完毕的返回值
      }
        if (i == 0) {
            System.out.println("执行完成.");
        } else {
@@ -100,7 +103,7 @@
        }
        ps.destroy();  //销毁子进程
        ps = null;
        ps = (Process) ActionUtil.objeNull;
    }
   //启动创建数据库的jar文件
@@ -159,62 +162,167 @@
   //落后单体参数(组端电压>标称*test_stop)
   public static final float test_stop = 0.9f;
   //判断电池组的当前状态
   public static String battState(int num){
   /*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;
         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)
   {
   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;
      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 = "手动停止";
@@ -255,11 +363,53 @@
                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){
@@ -277,7 +427,7 @@
         case 11: stop_type = "市电中断停止"; break;
         case 12: stop_type = "存储数据满停止"; break;
         case 13: stop_type = "机内温度异常停止"; break;
         case 14: stop_type = "放电电流过流停止"; break;
         case 14: stop_type = "放电电流异常停止"; break;
         case 15:stop_type = "后台通信中断停止"; break;
         case 16: stop_type = "负载模块通信中断停止"; break;
         case 17: stop_type = "选择模块通信中断停止"; break;
@@ -340,126 +490,473 @@
      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;
         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)
   {
   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;
      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;
   }
   // 一体机设备放电终止原因
   public static String getStopType_8059(int stop_type_t)
   {
   // 并联电源放电终止原因9149
   public static String getStopType_9149(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;
      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;
   }
@@ -520,64 +1017,567 @@
      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 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 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 0x5A: stop_type = "直充充电"; break;
         case 0x5B: 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 = "单体温度异常高";
            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="停止";
@@ -588,4 +1588,386 @@
         }
      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;
   }
   //苏州地铁使用电池状态对应
   public static String getBattState(int battState) {
      String stateName = "未知";
      switch(battState) {
         case 0:stateName = "未知"; break;
         case 1:stateName = "浮充"; break;
         case 2:stateName = "充电"; break;
         case 3:stateName = "放电"; break;
         case 4:stateName = "均充"; break;
         case 5:stateName = "内阻测试"; break;
      }
      return stateName;
   }
}