IEC61850_ForPowerSupply/src/com/main/main_PowerDev_IEC61850.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
IEC61850_ForPowerSupply/src/com/power/alarm/PwrDeviceAlarm_Thread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
IEC61850_ForPowerSupply/src/com/power/alarm/PwrDeviceAlarm_Thread_SQL.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
IEC61850_ForPowerSupply/src/com/version_inf/version_inf.txt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
IEC61850_ForPowerSupply/src/com/main/main_PowerDev_IEC61850.java
@@ -17,7 +17,7 @@ public class main_PowerDev_IEC61850 { public final static boolean app_debug = false; public final static double m_VersionNum = 1.005; public final static double m_VersionNum = 1.006; public final static String m_Version = "Welcome To Use Monitor_PowerDev_IEC61850 V" + m_VersionNum + " RC_20201216"; IEC61850_ForPowerSupply/src/com/power/alarm/PwrDeviceAlarm_Thread.java
@@ -19,6 +19,10 @@ public class PwrDeviceAlarm_Thread extends Thread { public static final int ALMPARAM_READ = 1; public static final int ALMPARAM_READ_ACK = 2; private PowerData_RT_Array m_AL_Data; private MysqlConnPool m_Conn_Pool; @@ -117,6 +121,14 @@ } /** * 查询是否存在当前实时电源告警 * @param dev_id * @param alm_type_id * @param sql * @return * @throws SQLException */ public PwrDeviceAlarm_Data JudgeAlarmIfExists(int dev_id,int alm_type_id, Sql_Mysql sql) throws SQLException { //Sql_Mysql sql = new Sql_Mysql(m_Conn_Pool.getConn()); @@ -409,7 +421,9 @@ } } } /*if(dev_id == 110000001 && alm_type_id == 110120) { System.out.println("alm_st:"+alm_st + "\t"+adata); }*/ if((adata==null || adata.alm_cleared_type == 1) && (alm_st == true)) { @@ -419,8 +433,7 @@ } InsertPwrDevAlarmToTable(RecId,dev_id,alm_type_id,default_almlevel,alm_val,sql,alm_trigger); } else if((adata!=null) && (alm_st == false)) { }else if((adata != null) && (alm_st == false)) { ChangeRT_AlarmToHistoryAlarm(dev_id,alm_type_id,sql); }else if((adata!=null) && (adata.alm_level != default_almlevel)) { updatePwrDevAlarmLevelToTable( m_Conn_Pool,adata ,default_almlevel); @@ -619,6 +632,7 @@ logger.info("PwrDeviceAlarm_Thread start!!!"); Date last = new Date(0); int read_AlmParam = ALMPARAM_READ_ACK; while(true){ try { sleep(1000); @@ -627,6 +641,8 @@ } Date now = new Date(); long timelong = (now.getTime()-last.getTime())/(1000*60); read_AlmParam = PwrDeviceAlarm_Thread_SQL.quereyAlarmThreadParam(m_Conn_Pool); //System.out.println("timelong:"+timelong); for(int n=0;n<m_AL_Data.getItemCount();n++) { @@ -638,9 +654,13 @@ PowerData_RT rtpd = m_AL_Data.getItem(n); if(ALMPARAM_READ == read_AlmParam) { readPwrDeviceAlarm(m_Conn_Pool, rtpd); } if(timelong >= 3) { //加载电源告警参数[每隔4分钟重载电源告警参数] //加载电源告警参数[每隔3分钟重载电源告警参数] readPwrDeviceAlarm(m_Conn_Pool, rtpd); last = now; } @@ -648,6 +668,11 @@ makePowerDeviceAlarm(rtpd); } if(ALMPARAM_READ == read_AlmParam) { read_AlmParam = ALMPARAM_READ_ACK; PwrDeviceAlarm_Thread_SQL.updateAlarmThreadParam(m_Conn_Pool, read_AlmParam); } } } IEC61850_ForPowerSupply/src/com/power/alarm/PwrDeviceAlarm_Thread_SQL.java
New file @@ -0,0 +1,60 @@ package com.power.alarm; import java.sql.ResultSet; import java.sql.SQLException; import com.power.mysql.MysqlConnPool; import com.power.mysql.Sql_Mysql; public class PwrDeviceAlarm_Thread_SQL { /** * 读取是否需要更新电源告警参数 * @param pool * @return */ public static int quereyAlarmThreadParam(MysqlConnPool pool) { int thread_en = 0; String sql_str = "SELECT * FROM web_site.tb_thread_util WHERE thread_id = 2019003"; ResultSet res = null; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { res = sql.sqlMysqlQuery(sql_str); if(res.next()) { thread_en = res.getInt("thread_en"); } } catch (SQLException e) { sql.logger.error(e.toString(), e); } finally { if(null != res) { try { res.close(); } catch (SQLException e) { sql.logger.error(e.toString(), e); } } sql.close_con(); } return thread_en; } /** * 读取是否需要更新电源告警参数 * @param pool * @return */ public static int updateAlarmThreadParam(MysqlConnPool pool,int thread_en) { String sql_str = " UPDATE web_site.tb_thread_util" + " SET thread_en = " + thread_en + " WHERE thread_id = 2019003"; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { sql.sqlMysqlExecute(sql_str); } catch (SQLException e) { sql.logger.error(e.toString(), e); } finally { sql.close_con(); } return thread_en; } } IEC61850_ForPowerSupply/src/com/version_inf/version_inf.txt
@@ -1,5 +1,10 @@ 山西太原 电源通信程序 V1.006 2023-05-22 1.新增所有电源告警参数以及使能配置功能 2.web_site.tb_thread_util 表中 可让当前线程自动加载电源告警参数 thread_id = 2019003 V1.005 2023-04-10 1.新增电源历史实时数据记录功能 'db_pwrdev_data_history_gw'-国网电源历史实时数据库,将数据库中字段修改为小写