BattFBS9600XSP2/batt_fbs9600_dev_x64_logs/error-20220720-1.log.gzBinary files differ
BattFBS9600XSP2/batt_fbs9600_dev_x64_logs/error-20230424-1.log.gzBinary files differ
BattFBS9600XSP2/batt_fbs9600_dev_x64_logs/error-20230425-1.log.gzBinary files differ
BattFBS9600XSP2/batt_fbs9600_dev_x64_logs/info-20220722-1.log.gzBinary files differ
BattFBS9600XSP2/batt_fbs9600_dev_x64_logs/info-20230410-1.log.gzBinary files differ
BattFBS9600XSP2/batt_fbs9600_dev_x64_logs/info-20230423-1.log.gzBinary files differ
BattFBS9600XSP2/batt_fbs9600_dev_x64_logs/info-20230424-1.log.gzBinary files differ
BattFBS9600XSP2/batt_fbs9600_dev_x64_logs/info-20230425-1.log.gzBinary files differ
BattFBS9600XSP2/bin/.gitignore
BattFBS9600XSP2/bin/com/base/BattTestData.classBinary files differ
BattFBS9600XSP2/bin/com/base/Com.classBinary files differ
BattFBS9600XSP2/bin/com/base/ComBase.classBinary files differ
BattFBS9600XSP2/bin/com/base/Crc16.classBinary files differ
BattFBS9600XSP2/bin/com/battdata_rt/BattData_RT.classBinary files differ
BattFBS9600XSP2/bin/com/battdata_rt/BattData_RT_Array.classBinary files differ
BattFBS9600XSP2/bin/com/battdata_rt/BattData_RT_RamDB_Thread.classBinary files differ
BattFBS9600XSP2/bin/com/battdata_rt/BattData_RT_RamDB_Thread_SQL.classBinary files differ
BattFBS9600XSP2/bin/com/battdata_rt/BattData_RT_SQL.classBinary files differ
BattFBS9600XSP2/bin/com/battdata_rt/BattStatData.classBinary files differ
BattFBS9600XSP2/bin/com/battdata_rt/MonVolData.classBinary files differ
BattFBS9600XSP2/bin/com/battmonitor/data_store/InsertDataToMysql_Task.classBinary files differ
BattFBS9600XSP2/bin/com/battmonitor/data_store/InsertDataToMysql_Task_SQL.classBinary files differ
BattFBS9600XSP2/bin/com/battmonitor/data_store/getInsertDataTaskInstant.classBinary files differ
BattFBS9600XSP2/bin/com/batttest/BattDataTestPro_Thread$BattTestState.classBinary files differ
BattFBS9600XSP2/bin/com/batttest/BattDataTestPro_Thread$MyBattTestTask.classBinary files differ
BattFBS9600XSP2/bin/com/batttest/BattDataTestPro_Thread.classBinary files differ
BattFBS9600XSP2/bin/com/batttest/BattResStorePro_Thread.classBinary files differ
BattFBS9600XSP2/bin/com/config/AppConfig.classBinary files differ
BattFBS9600XSP2/bin/com/config/AppParam$MonitorParam.classBinary files differ
BattFBS9600XSP2/bin/com/config/AppParam.classBinary files differ
BattFBS9600XSP2/bin/com/dev/fbs9100/ComFn.classBinary files differ
BattFBS9600XSP2/bin/com/dev/fbs9100/FBS9100_ComBase.classBinary files differ
BattFBS9600XSP2/bin/com/dev/fbs9100/FBS9100_Crc16.classBinary files differ
BattFBS9600XSP2/bin/com/dev/fbs9100/FBS9100_DateTime.classBinary files differ
BattFBS9600XSP2/bin/com/dev/fbs9100/FBS9100_SysState.classBinary files differ
BattFBS9600XSP2/bin/com/dev/fbs9600/FBS9600_CommData.classBinary files differ
BattFBS9600XSP2/bin/com/dev/fbs9600/FBS9600_Lithium_Data.classBinary files differ
BattFBS9600XSP2/bin/com/dev/fbs9600/FBS9600_ServerSocket_Thread.classBinary files differ
BattFBS9600XSP2/bin/com/dev/fbs9600/FBS9600_SocketClient.classBinary files differ
BattFBS9600XSP2/bin/com/dev/fbs9600/FBS9600_SocketClient2.classBinary files differ
BattFBS9600XSP2/bin/com/dev/fbs9600/FBS9600_State.classBinary files differ
BattFBS9600XSP2/bin/com/dev/fbs9600/FBS9600_State_SQL.classBinary files differ
BattFBS9600XSP2/bin/com/dev/fbs9600/FBS9600_Task_Thread.classBinary files differ
BattFBS9600XSP2/bin/com/dev/modbus4j/MyIpParameters.classBinary files differ
BattFBS9600XSP2/bin/com/dev/modbus4j/MyModbusFactory.classBinary files differ
BattFBS9600XSP2/bin/com/dev/modbus4j/MyModbusMaster.classBinary files differ
BattFBS9600XSP2/bin/com/dev/modbus4j/MyModbusUtils.classBinary files differ
BattFBS9600XSP2/bin/com/dev/modbus4j/SerialPortWrapperImpl.classBinary files differ
BattFBS9600XSP2/bin/com/dev/record/BattRealDataPro_Thread.classBinary files differ
BattFBS9600XSP2/bin/com/dev/record/BattRealDataPro_Thread_SQL.classBinary files differ
BattFBS9600XSP2/bin/com/sql/MysqlConnPool.classBinary files differ
BattFBS9600XSP2/bin/com/sql/Sql_Mysql.classBinary files differ
BattFBS9600XSP2/bin/com/sql/Sql_Sybase.classBinary files differ
BattFBS9600XSP2/bin/com/sql/SybaseConnPool.classBinary files differ
BattFBS9600XSP2/bin/com/version_inf/version_inf.txt
@@ -1,5 +1,10 @@ 9600显示屏通讯程序 V3.106 lijun edit 2023-08-25 1.修复历史实时数据中的超时历史实时数据表循环删除功能优化 2.优化设备通信计数设备通信断开后重新计数 V3.105 1.新增单体均衡电流读取 2.加快数据读取速率,便于节省流量 BattFBS9600XSP2/bin/main/main_FBS9600XS.classBinary files differ
BattFBS9600XSP2/log4j.properties
New file @@ -0,0 +1,43 @@ log4j.rootLogger=DEBUG, R, O, LOGDB2 # Stdout log4j.appender.O=org.apache.log4j.ConsoleAppender # File log4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.File=batt_fbs9600_dev_x64_logs/datalog.log # Control the maximum log file size log4j.appender.R.MaxFileSize=10000KB # Archive log files (one backup file here) log4j.appender.R.MaxBackupIndex=9 log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.O.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x - %C.%M(%F:%L) - %m%n log4j.appender.O.layout.ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x - %C.%M(%F:%L) - %m%n #数据库: log4j.appender.LOGDB2=org.apache.log4j.jdbc.JDBCAppender #日志级别:ALL < TRACE < DEBUG <INFO <WARN <ERROR <FATAL <OFF的级别顺序. log4j.appender.LOGDB2.Threshold=ALL #驱动: log4j.appender.LOGDB2.Driver=com.mysql.jdbc.Driver #连接: log4j.appender.LOGDB2.URL=jdbc:mysql://127.0.0.1:3360/db_app_sys?useUnicode=true&characterEncoding=UTF-8 #账号密码: log4j.appender.LOGDB2.user=root log4j.appender.LOGDB2.password=lmx8688139 #SQL: log4j.appender.LOGDB2.sql=insert into tb_batt_ms_x64_fbsdev_log4j (level,category,thread,time,location,note) values ("%p","%c","%t","%d{yyyy-MM-dd HH:mm:ss}","%l","%m") #输出: log4j.appender.LOGDB2.layout=org.apache.log4j.PatternLayout BattFBS9600XSP2/src/com/battmonitor/data_store/InsertDataToMysql_Task.java
@@ -85,7 +85,6 @@ try { sql_v.mysql_con.rollback(); } catch (SQLException e1) { // TODO Auto-generated catch block sql_v.logger.error("InsertDataToMysql_Task.inserTestDataToDB():" + e1.toString(), e1); } sql_v.logger.error("InsertDataToMysql_Task.inserTestDataToDB():" + e.toString(), e); BattFBS9600XSP2/src/com/dev/fbs9600/FBS9600_SocketClient2.java
@@ -132,6 +132,10 @@ if (this.m_BattMonCount > 392) { this.m_BattMonCount = 392; } FBS9600_State_SQL.queryFBS9100State_Table(conn, m_FBS9600_State); this.m_ReadRegAddr = getbattGroupAddr((short) 4, this.batt_Group_Num); this.m_ReadRegCount = 0; @@ -173,7 +177,7 @@ //System.out.println("读取组端数据" +(read_mon_index+1)+ "\t MonCount:"+ m_RTData[read_group_index].MonCount + "\t" +Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms)); readGroupData(m_RTData[read_group_index],read_group_index); Thread.sleep(100); Thread.sleep(50); } read_group_index++; if(!(read_group_index < data_Num)) { @@ -296,29 +300,40 @@ } private void readMonData(BattData_RT battData_RT,int index) { try { //Date start = new Date(); BatchRead<Integer> batch1 = m_FBS9600_State.createMonVolBatchRead(master,index,battData_RT.MonCount); BatchResults<Integer> res1 = MyModbusUtils.readMutilRegisters(batch1, master); m_FBS9600_State.putMonVolBatchResult(res1,index,battData_RT); Thread.sleep(50); BatchRead<Integer> batch2 = m_FBS9600_State.createMonResBatchRead(master,index,battData_RT.MonCount); BatchResults<Integer> res2 = MyModbusUtils.readMutilRegisters(batch2, master); m_FBS9600_State.putMonResBatchResult(res2,index,battData_RT); Thread.sleep(50); BatchRead<Integer> batch3 = m_FBS9600_State.createMonTmpBatchRead(master,index,battData_RT.MonCount); BatchResults<Integer> res3 = MyModbusUtils.readMutilRegisters(batch3, master); m_FBS9600_State.putMonTmpBatchResult(res3,index,battData_RT); Thread.sleep(50); { //读取单体均衡电流 BatchRead<Integer> batch4 = m_FBS9600_State.createMonJhCurrBatchRead(master,index,battData_RT.MonCount); BatchResults<Integer> res4 = MyModbusUtils.readMutilRegisters(batch4, master); m_FBS9600_State.putMonJhCurrBatchResult(res4,index,battData_RT); Thread.sleep(50); //读取单体漏液电压 } } catch (InterruptedException e) { logger.error(e.toString(), e); } //Date end = new Date(); //logger.info("读取单体数据耗时"+(end.getTime()-start.getTime())); BattFBS9600XSP2/src/com/dev/fbs9600/FBS9600_State.java
@@ -26,8 +26,14 @@ public int BattGroupNum; //当前电池组号启动或停止时判断要启动和停止的组号 private boolean op_cmd_ack_fromdev = false; int work_state; public int com_count; public int com_err_count; public int com_count; //通信计数 public int com_err_count; //连续错误计数 public int com_totalcount; //总的错误计数 public int com_err_totalcount; //总的错误计数 long alm_rec_id = 0L; public int[] dev_works = new int[BATT_MAXGOROUP_COUNT]; public float[] dev_currs = new float[BATT_MAXGOROUP_COUNT]; @@ -96,10 +102,28 @@ public void setComErrCountInc() { this.com_err_count += 1; if (this.com_err_count >= 90000000) this.com_err_totalcount += 1; if (this.com_err_totalcount >= 90000000) this.com_err_totalcount = 20; this.com_err_count = 20; } public int getTotalCommCount() { int totalCommCount = (this.com_count + this.com_totalcount); if(totalCommCount > 90000000) { this.com_totalcount = 20; } return (this.com_count + this.com_totalcount); } public int getTotalErrCommCount() { int totalCommErrCount = (this.com_err_count + this.com_err_totalcount); if(totalCommErrCount > 90000000) { this.com_err_totalcount = 20; } return (this.com_err_count + this.com_err_totalcount); } /** * 构造State 的设备ID读取集合 * @param master BattFBS9600XSP2/src/com/dev/fbs9600/FBS9600_State_SQL.java
@@ -412,19 +412,49 @@ + " dev_ip = '" + state.ip_addr+"'," + " dev_captest_groupvol="+state.dev_groupvols[0]+"," + " dev_captest_curr = "+state.dev_currs[0]+"," + " dev_commcount = "+state.com_count+"," + " dev_errcommcount= "+state.com_err_count + " dev_commcount = "+state.getTotalCommCount()+"," + " dev_errcommcount= "+state.getTotalErrCommCount() + " WHERE dev_id= " + state.dev_id; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { sql.sqlMysqlExecute(sql_str); } catch (SQLException e) { e.printStackTrace(); sql.logger.error(e.toString(), e); } finally { sql.close_con(); } } public static void queryFBS9100State_Table(MysqlConnPool pool, FBS9600_State state) { String sql_str = " select * from db_ram_db.tb_fbs9100_state " + " WHERE dev_id= " + state.dev_id; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); ResultSet res = null; try { res = sql.sqlMysqlQuery(sql_str); if(res.next()) { state.setWorkState(res.getInt("dev_workstate")); state.dev_groupvols[0] = res.getFloat("dev_captest_groupvol"); state.dev_currs[0] = res.getFloat("dev_captest_curr"); state.com_totalcount = res.getInt("dev_commcount"); state.com_err_totalcount = res.getInt("dev_errcommcount"); } } catch (Exception 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(); } } /** * 更新程序启动时间以及对应程序的版本号 * @param pool BattFBS9600XSP2/src/com/dev/record/BattRealDataPro_Thread_SQL.java
@@ -34,8 +34,9 @@ System.out.println("删除:"+res.getString("TABLE_NAME")+"\t at "+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms)); count++; } if(count >0) { sql.sqlMysqlExecute(sql_delete_strs); sql.sqlMysqlTotalExecute(sql_delete_strs); } res.close(); } catch (SQLException e) { BattFBS9600XSP2/src/com/sql/Sql_Mysql.java
@@ -318,6 +318,11 @@ sql.setQueryTimeout(30); sql.execute(sql_str); } public void sqlMysqlTotalExecute(String sql_str) throws SQLException { Statement sql = this.mysql_con.createStatement(); sql.setQueryTimeout(60*10); sql.execute(sql_str); } public boolean makeManualCommit(ArrayList<String> al_sql_strs) { boolean exe_res = true; @@ -369,6 +374,20 @@ return res; } public ResultSet sqlMysqlTotalQuery(String sql_str) { ResultSet res = null; try { Statement sql = this.mysql_con.createStatement(); sql.setQueryTimeout(60*5); String query = sql_str; res = sql.executeQuery(query); } catch (SQLException ex) { System.err.println("SQLException:" + ex.getMessage()); } return res; } public void sqlMysqlUpdate(String sql_str) { try { Statement sql = this.mysql_con.createStatement(); BattFBS9600XSP2/src/com/version_inf/version_inf.txt
@@ -1,5 +1,10 @@ 9600显示屏通讯程序 V3.106 lijun edit 2023-08-25 1.修复历史实时数据中的超时历史实时数据表循环删除功能优化 2.优化设备通信计数设备通信断开后重新计数 V3.105 1.新增单体均衡电流读取 2.加快数据读取速率,便于节省流量