whyclj
2019-12-06 fc82d219f87c06888e9fb42d9f5e69b946e026da
platforms/android/app/src/main/java/com/concentrator/Concentrator_State.java
@@ -41,8 +41,8 @@
   private double sysversion;                        //系统版本(0.1)
   private int sysstate;                           //系统状态       0-常规模式   1-内阻模式   2-编址模式
   private double groupvol;                        //组端电压(0.1)
   private double groupcurr;                        //组端电流(0.1)
   private float groupvol;                        //组端电压(0.1)
   private float groupcurr;                        //组端电流(0.1)
   public int battstate;                           //电池状态   0-浮充     1-放电      2-充电
   private int currdirection;                        //电流方向   0-充电      1-放电
@@ -91,6 +91,11 @@
      this.backup7 = state.backup7;
      this.backup8 = state.backup8;
      this.restestcount = state.restestcount;                                          //内阻测试次数
      this.groupvol = groupvol+(float)Math.random()*10;                                 //随机组端电压
      this.groupvol = (float)Math.round(groupvol*100)/100;
      this.groupcurr = groupcurr+(float)Math.random()*5;                                 //随机组端电流
      this.groupcurr = (float)Math.round(groupcurr*100)/100;
   }
   //复制单体电压
@@ -132,12 +137,12 @@
      sysversion = ComBase.changeShortToDouble(tmpbuf.getShort())/10;         //系统版本
      sysstate = ComBase.changeShortToInt(tmpbuf.getShort());               //系统状态
      groupvol = ComBase.changeShortToDouble(tmpbuf.getShort())/10;         //组端电压
      groupcurr = ComBase.changeShortToDouble(tmpbuf.getShort())/10;         //组端电流
      groupvol = (float)ComBase.changeShortToDouble(tmpbuf.getShort())/10;         //组端电压
      groupcurr = (float)ComBase.changeShortToDouble(tmpbuf.getShort())/10;         //组端电流
      battstate = ComBase.changeShortToInt(tmpbuf.getShort());            //电池状态
      currdirection = ComBase.changeShortToInt(tmpbuf.getShort());         //电流方向
      this.currdirection=1;
      this.battstate = 1;
      this.currdirection=0;
      this.battstate = 2;
      if(currdirection == 1){
         groupcurr = groupcurr *(-1);                              //改变当前电流方向
      }
@@ -155,36 +160,36 @@
      return true;
   }
    public List<BattAlarmData> makeAlarmData(BattDataThread battDataThread, AlarmParam alarmParam){
        List<BattAlarmData> alarmDatas = new ArrayList<>();
        Concentrator_State state = battDataThread.state;
   public List<BattAlarmData> makeAlarmData(BattDataThread battDataThread, AlarmParam alarmParam){
      List<BattAlarmData> alarmDatas = new ArrayList<>();
      Concentrator_State state = battDataThread.state;
        //判断组端电压告警
        AlarmParam.AlarmParamCell groupVol_param = alarmParam.alm_GroupVol.CreateAlarmParamCell(battDataThread.battinf);
        state.groupVol_AlarmData.makeAlarmData(alarmDatas,groupVol_param,state.groupvol);
      //判断组端电压告警
      AlarmParam.AlarmParamCell groupVol_param = alarmParam.alm_GroupVol.CreateAlarmParamCell(battDataThread.battinf);
      state.groupVol_AlarmData.makeAlarmData(alarmDatas,groupVol_param,state.groupvol);
        //判断电池电流告警
        AlarmParam.AlarmParamCell battCurr_param = alarmParam.alm_BattCurr.CreateAlarmParamCell(battDataThread.battinf);
        state.battCurr_AlarmData.makeAlarmData(alarmDatas,battCurr_param,state.groupcurr);
      //判断电池电流告警
      AlarmParam.AlarmParamCell battCurr_param = alarmParam.alm_BattCurr.CreateAlarmParamCell(battDataThread.battinf);
      state.battCurr_AlarmData.makeAlarmData(alarmDatas,battCurr_param,state.groupcurr);
        //判断单体告警
        for(int i=0;i<monCount;i++){
            //判断单体电压告警
            AlarmParam.AlarmParamCell monVol_param = alarmParam.alm_MonVol.CreateAlarmParamCell(battDataThread.battinf);
      //判断单体告警
      for(int i=0;i<monCount;i++){
         //判断单体电压告警
         AlarmParam.AlarmParamCell monVol_param = alarmParam.alm_MonVol.CreateAlarmParamCell(battDataThread.battinf);
         //Log.e(TAG, "makeAlarmData: monvol  告警值hig"+monVol_param.alm_high_coe+"\tlow"+monVol_param.alm_low_coe );
         state.monVol_AlarmData[i].makeAlarmData(alarmDatas,monVol_param,state.mon_vols[i]);
            //判断单体温度告警
            AlarmParam.AlarmParamCell monTmp_param = alarmParam.alm_MonTmp.CreateAlarmParamCell(battDataThread.battinf);
            state.monTmp_AlarmData[i].makeAlarmData(alarmDatas,monTmp_param,state.mon_tmps[i]);
         //判断单体温度告警
         AlarmParam.AlarmParamCell monTmp_param = alarmParam.alm_MonTmp.CreateAlarmParamCell(battDataThread.battinf);
         state.monTmp_AlarmData[i].makeAlarmData(alarmDatas,monTmp_param,state.mon_tmps[i]);
            //判断单体内阻告警
            AlarmParam.AlarmParamCell monRes_param = alarmParam.alm_MonRes.CreateAlarmParamCell(battDataThread.battinf);
            state.monRes_AlarmData[i].makeAlarmData(alarmDatas,monRes_param,state.mon_ress[i]);
         //判断单体内阻告警
         AlarmParam.AlarmParamCell monRes_param = alarmParam.alm_MonRes.CreateAlarmParamCell(battDataThread.battinf);
         state.monRes_AlarmData[i].makeAlarmData(alarmDatas,monRes_param,state.mon_ress[i]);
        }
        return alarmDatas;
    }
      }
      return alarmDatas;
   }
   public boolean putMonDataBuffer(ByteBuffer bf,int reg_addr){
      if(bf.limit() < BYTE_LEN) {
@@ -321,11 +326,11 @@
      this.sysstate = sysstate;
   }
   public void setGroupvol(double groupvol) {
   public void setGroupvol(float groupvol) {
      this.groupvol = groupvol;
   }
   public void setGroupcurr(double groupcurr) {
   public void setGroupcurr(float groupcurr) {
      this.groupcurr = groupcurr;
   }