Administrator
2021-07-05 d9fe7a69f8397e5c6390ab401bcc17272079f6bb
V2.602	at 2021-07-05
1.修复单体告警监测功能bug
9个文件已修改
64 ■■■■ 已修改文件
BattMonitor_FBS9600SMore/bin/com/version_inf/version_inf.txt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9600SMore/src/com/battmonitor/data/BattAlarmData.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9600SMore/src/com/battmonitor/data/MonVolData.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9600SMore/src/com/dev_fbs9600s/data/Batt_RealDataRecord_Thread.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9600SMore/src/com/dev_fbs9600s/data/FBS9600S_BattAlarm_Thread.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9600SMore/src/com/dev_fbs9600s/data/FBS9600S_BattAlarm_Thread_SQL.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9600SMore/src/com/dev_fbs9600s/data/FBS9600S_SocketClient_Thread_New.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9600SMore/src/com/version_inf/version_inf.txt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9600SMore/src/main/main_MonitorServer_FBS9600SMore.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9600SMore/bin/com/version_inf/version_inf.txt
@@ -9,4 +9,6 @@
V2.601    at 2020-10-26
    1.添加霍尔电流事件采集以及霍尔量程读取和修改功能
    
V2.602    at 2021-07-05
    1.修复单体告警监测功能bug
BattMonitor_FBS9600SMore/src/com/battmonitor/data/BattAlarmData.java
@@ -66,6 +66,9 @@
    public long record_id;
    
    public int alm_id = 0;
    public int alm_id_high;
    public int alm_id_low;
    public int alm_signal_id = 0;
    public int alm_signal_level = 0;
    public Date alm_start_time = new Date();
@@ -79,6 +82,7 @@
    
    public BattAlarmData(int dt_count_max, 
                        int bg_id_t, int mon_num_t, int alm_id_t, 
                        int alm_id_high_t,int alm_id_low_t,
                        int alm_signal_id_high_t, int alm_signal_id_low_t, 
                        int alm_level_high_t, int alm_level_low_t)
    {
@@ -87,6 +91,8 @@
        mon_num = mon_num_t;
        
        alm_id = alm_id_t;
        alm_id_high = alm_id_high_t;
        alm_id_low = alm_id_low_t;
        ALM_signal_id_high = alm_signal_id_high_t;
        ALM_signal_id_low = alm_signal_id_low_t;
        ALM_level_high = alm_level_high_t;
@@ -95,6 +101,7 @@
    
    public BattAlarmData(int dt_count_max, 
            int bg_id_t, int mon_num_t, int alm_id_t,int alm_signal_id_t ,
            int alm_id_high_t,int alm_id_low_t,
            int alm_signal_id_high_t, int alm_signal_id_low_t, 
            int alm_level_high_t, int alm_level_low_t)
    {
@@ -102,7 +109,11 @@
    battgroup_id = bg_id_t;
    mon_num = mon_num_t;
    
    alm_id = alm_id_t;
    alm_id_high = alm_id_high_t;
    alm_id_low = alm_id_low_t;
    alm_signal_id = alm_signal_id_t;
    ALM_signal_id_high = alm_signal_id_high_t;
    ALM_signal_id_low = alm_signal_id_low_t;
@@ -122,6 +133,7 @@
    {
        BattAlarmData alm_data = new BattAlarmData(ALM_TAG_DELAY_COUNT_MAX, 
                                                    battgroup_id, mon_num, alm_id, 
                                                    alm_id_high,alm_id_low,
                                                    ALM_signal_id_high, ALM_signal_id_low, 
                                                    ALM_level_high, ALM_level_low);
        alm_data.record_id = record_id;
@@ -134,7 +146,8 @@
        alm_data.alm_is_confirmed = alm_is_confirmed;
        alm_data.alm_confirmed_Time.setTime(alm_confirmed_Time.getTime());
        alm_data.usr_id = usr_id;
        alm_data.alm_id_high = alm_id_high;
        alm_data.alm_id_low = alm_id_low;
        return alm_data;
    }
    
@@ -156,10 +169,10 @@
                if(ALM_signal_id_high != alm_signal_id && ALM_signal_id_low != alm_signal_id)
                {
                    
                    //System.out.println("isNew:"+ALM_signal_id_high);
                    //System.out.println("isNew:"+ALM_signal_id_high+"\talm_id:"+this.alm_id);
                    
                    alm_signal_id = ALM_signal_id_high;
                    alm_id = alm_id_high;
                    alarm_high_delay_count = 0;
                    alm_signal_level = param.alm_High_Level;
                    alm_value = data_value;
@@ -167,7 +180,8 @@
                    alm_cleared_type = ALM_CLEARED_TYPE_NULL;
                    alm_is_confirmed = false;
                    record_id = UUID.randomUUID().getLeastSignificantBits();
                    BattAlarmData alm = cloneBattAlarmData();
                    alm.alm_id = alm_id_high;
                    AL_alarmdata.add(cloneBattAlarmData());
                }
            } else {
@@ -185,7 +199,7 @@
                        alm_cleared_type = ALM_CLEARED_TYPE_AUTO;
                        alm_end_time = new Date();
                        AL_alarmdata.add(cloneBattAlarmData());
                        alm_id = 0;
                        alm_signal_id = ALM_SIGNAL_ID_Null;
                        alarm_high_delay_count = 0;
                    }
@@ -194,13 +208,15 @@
        }
        if(true == param.alm_Low_EN)
        {
            int alm_id = this.alm_id +1;
            if(data_value < param.alm_Low)
            {
                if(ALM_signal_id_low != alm_signal_id && ALM_signal_id_high != alm_signal_id)
                {
                    alarm_high_delay_count = 0;
                    
                    //System.out.println("isNew:"+ALM_signal_id_low+"\talm_id:"+this.alm_id);
                    alm_id = alm_id_low;
                    alm_signal_id = ALM_signal_id_low;
                    alm_signal_level = param.alm_Low_Level;
                    alm_value = data_value;
@@ -210,7 +226,7 @@
                    record_id = UUID.randomUUID().getLeastSignificantBits();
                    
                    BattAlarmData alm = cloneBattAlarmData();
                    alm.alm_id = alm_id;
                    alm.alm_id = alm_id_low;
                    AL_alarmdata.add(alm);
                }
            } else {
@@ -226,9 +242,10 @@
                        alm_end_time = new Date();
                        //AL_alarmdata.add(cloneBattAlarmData());
                        BattAlarmData alm = cloneBattAlarmData();
                        alm.alm_id = alm_id;
                        alm.alm_id = alm_id_low;
                        AL_alarmdata.add(alm);
                        
                        alm_id = 0;
                        alm_signal_id = ALM_SIGNAL_ID_Null;
                        alarm_low_delay_count = 0;
                    }
BattMonitor_FBS9600SMore/src/com/battmonitor/data/MonVolData.java
@@ -42,16 +42,19 @@
    {
        monVol_AlarmData = new BattAlarmData(dt_count_max, 
                battgroup_id, mon_num, BattAlarmData.ALM_TYPE_MonVol_High_ID,
                BattAlarmData.ALM_TYPE_MonVol_High_ID,BattAlarmData.ALM_TYPE_MonVol_Low_ID,
                BattAlarmData.ALM_SIGNAL_ID_MonVolHigh, BattAlarmData.ALM_SIGNAL_ID_MonVolLow,
                param.alm_MonVol.alm_High_Level, param.alm_MonVol.alm_Low_Level);
        
        monTmp_AlarmData = new BattAlarmData(dt_count_max, 
                battgroup_id, mon_num, BattAlarmData.ALM_TYPE_MonTmp_High_ID,
                BattAlarmData.ALM_TYPE_MonTmp_High_ID,BattAlarmData.ALM_TYPE_MonTmp_Low_ID,
                BattAlarmData.ALM_SIGNAL_ID_MonTmpHigh, BattAlarmData.ALM_SIGNAL_ID_MonTmpLow,
                param.alm_MonTmp.alm_High_Level, param.alm_MonTmp.alm_Low_Level);
        
        monRes_AlarmData = new BattAlarmData(dt_count_max, 
                battgroup_id, mon_num, BattAlarmData.ALM_TYPE_MonRes_High_ID,
                BattAlarmData.ALM_TYPE_MonRes_High_ID,BattAlarmData.ALM_TYPE_MonRes_Low_ID,
                BattAlarmData.ALM_SIGNAL_ID_MonResHigh, BattAlarmData.ALM_SIGNAL_ID_MonResLow,
                param.alm_MonRes.alm_High_Level, param.alm_MonRes.alm_Low_Level);
        
@@ -70,17 +73,20 @@
        
        monVol_AlarmData = new BattAlarmData(dt_count_max, 
                battgroup_id, mon_num, monVol_AlarmData.alm_id,monVol_AlarmData.alm_signal_id,
                BattAlarmData.ALM_TYPE_MonVol_High_ID,BattAlarmData.ALM_TYPE_MonVol_Low_ID,
                BattAlarmData.ALM_SIGNAL_ID_MonVolHigh, BattAlarmData.ALM_SIGNAL_ID_MonVolLow,
                param.alm_MonVol.alm_High_Level, param.alm_MonVol.alm_Low_Level);
        monVol_AlarmData.alm_signal_id = monVol_AlarmData.alm_signal_id;
                
        monTmp_AlarmData = new BattAlarmData(dt_count_max, 
                battgroup_id, mon_num, monTmp_AlarmData.alm_id,monTmp_AlarmData.alm_signal_id,
                BattAlarmData.ALM_TYPE_MonTmp_High_ID,BattAlarmData.ALM_TYPE_MonTmp_Low_ID,
                BattAlarmData.ALM_SIGNAL_ID_MonTmpHigh, BattAlarmData.ALM_SIGNAL_ID_MonTmpLow,
                param.alm_MonTmp.alm_High_Level, param.alm_MonTmp.alm_Low_Level);
        
        monRes_AlarmData = new BattAlarmData(dt_count_max, 
                battgroup_id, mon_num, monRes_AlarmData.alm_id,monRes_AlarmData.alm_signal_id,
                BattAlarmData.ALM_TYPE_MonRes_High_ID,BattAlarmData.ALM_TYPE_MonRes_Low_ID,
                BattAlarmData.ALM_SIGNAL_ID_MonResHigh, BattAlarmData.ALM_SIGNAL_ID_MonResLow,
                param.alm_MonRes.alm_High_Level, param.alm_MonRes.alm_Low_Level);
        
BattMonitor_FBS9600SMore/src/com/dev_fbs9600s/data/Batt_RealDataRecord_Thread.java
@@ -13,7 +13,7 @@
public class Batt_RealDataRecord_Thread implements Runnable{
    public static final int TESTDATA_RECORD_INTERVAL = 2;                //记录数据间隔
    public static final int MAX_SAVE_DAY_COUNT = 30;
    public static final int MAX_SAVE_DAY_COUNT = 30*3;
    
    
    public MysqlConnPool pool;
@@ -93,6 +93,7 @@
                    if(timelong >= TESTDATA_RECORD_INTERVAL) {
                        if(batt.getBattState()>0) {
                            //通讯正常
                            Batt_RealDataRecord_Thread_SQL.insertBatt_RealDataTable(pool, batt, now);
                            last = now;
                        }
BattMonitor_FBS9600SMore/src/com/dev_fbs9600s/data/FBS9600S_BattAlarm_Thread.java
@@ -12,7 +12,7 @@
import com.battmonitor.sql.MysqlConnPool;
public class FBS9600S_BattAlarm_Thread implements Runnable{
    public final static int BattAlarmClearedDelay = 10;
    public final static int BattAlarmClearedDelay = 1;
    
    public final static int ALM_TYPE_MonVol_High_ID = 139001;        //单体电压高                        
    public final static int ALM_TYPE_MonVol_Low_ID     = 139002;        //单体电压低
BattMonitor_FBS9600SMore/src/com/dev_fbs9600s/data/FBS9600S_BattAlarm_Thread_SQL.java
@@ -94,7 +94,7 @@
                alarm.alm_id = rs.getInt("alm_id");
                alarm.alm_signal_id = rs.getInt("alm_signal_id");
                alarm.alm_cleared_type = rs.getInt("alm_cleared_type");
                alarm.mon_num = rs.getInt("monnum");
                alarm.mon_num = rs.getInt("MonNum");
                alarm.record_id = rs.getLong("Record_Id");
                alarms.add(alarm);
                //System.out.println(alarm.record_id);
@@ -111,6 +111,8 @@
                                continue;
                            }
                            battdata.al_MonVol.get(alarm.mon_num-1).monVol_AlarmData.alm_id = alarm.alm_id;
                            battdata.al_MonVol.get(alarm.mon_num-1).monVol_AlarmData.alm_id_high = FBS9600S_BattAlarm_Thread.ALM_TYPE_MonVol_High_ID;
                            battdata.al_MonVol.get(alarm.mon_num-1).monVol_AlarmData.alm_id_low = FBS9600S_BattAlarm_Thread.ALM_TYPE_MonVol_Low_ID;
                            battdata.al_MonVol.get(alarm.mon_num-1).monVol_AlarmData.alm_cleared_type = alarm.alm_cleared_type;
                            battdata.al_MonVol.get(alarm.mon_num-1).monVol_AlarmData.alm_signal_id = alarm.alm_signal_id;
                        }break;
@@ -121,6 +123,8 @@
                                continue;
                            }
                            battdata.al_MonVol.get(alarm.mon_num-1).monTmp_AlarmData.alm_id = alarm.alm_id;
                            battdata.al_MonVol.get(alarm.mon_num-1).monTmp_AlarmData.alm_id_high = FBS9600S_BattAlarm_Thread.ALM_TYPE_MonTmp_High_ID;
                            battdata.al_MonVol.get(alarm.mon_num-1).monTmp_AlarmData.alm_id_low = FBS9600S_BattAlarm_Thread.ALM_TYPE_MonTmp_Low_ID;
                            battdata.al_MonVol.get(alarm.mon_num-1).monTmp_AlarmData.alm_cleared_type = alarm.alm_cleared_type;
                            battdata.al_MonVol.get(alarm.mon_num-1).monTmp_AlarmData.alm_signal_id = alarm.alm_signal_id;
                        }break;
@@ -131,6 +135,8 @@
                                continue;
                            }
                            battdata.al_MonVol.get(alarm.mon_num-1).monRes_AlarmData.alm_id = alarm.alm_id;
                            battdata.al_MonVol.get(alarm.mon_num-1).monRes_AlarmData.alm_id_high = FBS9600S_BattAlarm_Thread.ALM_TYPE_MonRes_High_ID;
                            battdata.al_MonVol.get(alarm.mon_num-1).monRes_AlarmData.alm_id_low = FBS9600S_BattAlarm_Thread.ALM_TYPE_MonRes_Low_ID;
                            battdata.al_MonVol.get(alarm.mon_num-1).monRes_AlarmData.alm_cleared_type = alarm.alm_cleared_type;
                            battdata.al_MonVol.get(alarm.mon_num-1).monRes_AlarmData.alm_signal_id = alarm.alm_signal_id;
                        }break;
BattMonitor_FBS9600SMore/src/com/dev_fbs9600s/data/FBS9600S_SocketClient_Thread_New.java
@@ -54,7 +54,7 @@
        }
        
        String ip_str = this.socket.getInetAddress().getHostAddress();
        System.err.println("ip_str:"+ip_str+"电池组总数:"+battData.getItemCount());
        S_thread_run_flag = false;
        for(int i=0;i<battData.getItemCount();i++) {
            BattData_RT rdData = battData.getItem(i);
@@ -72,7 +72,7 @@
            }
        }
        
        System.err.println("ip_str:"+ip_str+"电池组单体总数:"+m_BattMonCount);
        //System.out.println("总单体总数为:"+m_BattMonCount);
        sysState = new FBS9600S_SystemState(dev_id,dev_ip);
        nowParam = new FBS9600S_SystemParam();
@@ -165,7 +165,6 @@
                cmd = new FBS9600S_Cmd(dev_addr,FBS9600S_ComBase.CMD_READ_MODBUS,FBS9600S_ComBase.CMD_SystemState_Addr,FBS9600S_SystemState.REGCOUNT);
                SocketComm(cmd,cmd.createByteBuffer(FBS9600S_SystemState.REGCOUNT));
                sleep(10);
                if(readBattParamOk) {
                    //已读取成功过的汇集器跳过
                    dev_addr ++;
@@ -460,7 +459,6 @@
                BattData_RT[n].updata_BattRtData_To_RamDb();
                BattData_RT[n].updata_BattRtSate_To_RamDb();
                //---------------------------------------------------------------------------//
                FBS9600S_SocketClient_Thread_SQL.UpdateFBS9600StateByDev_id(mysql_pool,sysState);
                break;
            }
BattMonitor_FBS9600SMore/src/com/version_inf/version_inf.txt
@@ -9,4 +9,6 @@
V2.601    at 2020-10-26
    1.添加霍尔电流事件采集以及霍尔量程读取和修改功能
    
V2.602    at 2021-07-05
    1.修复单体告警监测功能bug
BattMonitor_FBS9600SMore/src/main/main_MonitorServer_FBS9600SMore.java
@@ -34,7 +34,7 @@
    /**************************************************************************/
    public final static boolean app_debug = false;
    
    public final static double m_VersionNum = 2.601;
    public final static double m_VersionNum = 2.602;
    public final static String m_Version = "Welcome To Use main_MonitorServer_FBS9600SMore V" 
                                            + m_VersionNum + " RC_20190112";
    /**************************************************************************/