| | |
| | |
|
| | | 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-放电
|
| | |
|
| | |
| | | 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;
|
| | | }
|
| | |
|
| | | //复制单体电压
|
| | |
| | |
|
| | | 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); //改变当前电流方向
|
| | | }
|
| | |
| | | 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) {
|
| | |
| | | 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;
|
| | | }
|
| | |
|