BattMonitor_Concentrator/bin/.gitignore
File was deleted BattMonitor_Concentrator/bin/com/battmonitor/base/AppParam$MonitorParam.classBinary files differ
BattMonitor_Concentrator/bin/com/battmonitor/base/AppParam.classBinary files differ
BattMonitor_Concentrator/bin/com/battmonitor/base/BattTestData.classBinary files differ
BattMonitor_Concentrator/bin/com/battmonitor/base/Com.classBinary files differ
BattMonitor_Concentrator/bin/com/battmonitor/base/ComBase.classBinary files differ
BattMonitor_Concentrator/bin/com/battmonitor/base/Crc16.classBinary files differ
BattMonitor_Concentrator/bin/com/battmonitor/data/BattData_RT.classBinary files differ
BattMonitor_Concentrator/bin/com/battmonitor/data/BattData_RT_Array.classBinary files differ
BattMonitor_Concentrator/bin/com/battmonitor/data/BattData_RT_RamDB_Thread.classBinary files differ
BattMonitor_Concentrator/bin/com/battmonitor/data/BattData_RT_RamDB_Thread_SQL.classBinary files differ
BattMonitor_Concentrator/bin/com/battmonitor/data/BattData_RT_SQL.classBinary files differ
BattMonitor_Concentrator/bin/com/battmonitor/data/BattStatData.classBinary files differ
BattMonitor_Concentrator/bin/com/battmonitor/data/MonVolData.classBinary files differ
BattMonitor_Concentrator/bin/com/battmonitor/data_store/InsertDataToMysql_Task.classBinary files differ
BattMonitor_Concentrator/bin/com/battmonitor/data_store/InsertDataToMysql_Task_SQL.classBinary files differ
BattMonitor_Concentrator/bin/com/battmonitor/data_store/getInsertDataTaskInstant.classBinary files differ
BattMonitor_Concentrator/bin/com/battmonitor/sql/Com.classBinary files differ
BattMonitor_Concentrator/bin/com/battmonitor/sql/MysqlConnPool.classBinary files differ
BattMonitor_Concentrator/bin/com/battmonitor/sql/MysqlDBBackUp_Thread.classBinary files differ
BattMonitor_Concentrator/bin/com/battmonitor/sql/Sql_Mysql.classBinary files differ
BattMonitor_Concentrator/bin/com/batttest/BattAutoStorePro_Thread.classBinary files differ
BattMonitor_Concentrator/bin/com/batttest/BattDataTestPro_Thread$BattTestState.classBinary files differ
BattMonitor_Concentrator/bin/com/batttest/BattDataTestPro_Thread$MyBattTestTask.classBinary files differ
BattMonitor_Concentrator/bin/com/batttest/BattDataTestPro_Thread.classBinary files differ
BattMonitor_Concentrator/bin/com/batttest/BattResStorePro_Thread.classBinary files differ
BattMonitor_Concentrator/bin/com/config/AppConfig.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/comm/BattRealDataPro_Thread.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/comm/FBS9100S_DFU.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/comm/FBS9100S_DFU_SQL.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/comm/FBS9100S_FOD_Data$FODData.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/comm/FBS9100S_FOD_Data.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/comm/FBS9100S_FOD_Param$FOD_Param.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/comm/FBS9100S_FOD_Param.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/comm/FBS9100S_SocketClient2.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/comm/FBS9100_ServerSocketThread.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/comm/FBS9100_SocketClient.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/comm/FBS9100_SocketClient2.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/comm/FBS9100_Task_Thread.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/comm/FBS9100_Task_Thread_SQL.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/ComFn.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/Ecb_Aes.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/Ecb_Crypt.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100S_NT_DCDC_Data.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100S_NT_DCDC_State.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100_CMCC_Power.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100_CalSet.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100_CapState.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100_ChargeState.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100_Cmd.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100_ComBase.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100_ComBuf.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100_Crc16.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100_DateTime.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100_DateTimeSet.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100_DeviceInf.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100_ParamAlarm.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100_ParamAnalyze.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100_ParamBatt.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100_ParamCharge.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100_ParamDischarge.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100_ParamSystem.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100_ResCapData.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100_ResState.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100_StatAndParam.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100_SysLog.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100_SysState.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100_TestTime.classBinary files differ
BattMonitor_Concentrator/bin/com/dev/btse/data/FBS9100_VCData.classBinary files differ
BattMonitor_Concentrator/bin/com/dev_concentrator/data/Concentrator_Cmd.classBinary files differ
BattMonitor_Concentrator/bin/com/dev_concentrator/data/Concentrator_ComBase.classBinary files differ
BattMonitor_Concentrator/bin/com/dev_concentrator/data/Concentrator_ComBuf.classBinary files differ
BattMonitor_Concentrator/bin/com/dev_concentrator/data/Concentrator_ResCapData.classBinary files differ
BattMonitor_Concentrator/bin/com/dev_concentrator/data/Concentrator_ServerSocketThread.classBinary files differ
BattMonitor_Concentrator/bin/com/dev_concentrator/data/Concentrator_SetParam.classBinary files differ
BattMonitor_Concentrator/bin/com/dev_concentrator/data/Concentrator_SocketThread.classBinary files differ
BattMonitor_Concentrator/bin/com/dev_concentrator/data/Concentrator_SocketThread_SQL.classBinary files differ
BattMonitor_Concentrator/bin/com/dev_concentrator/data/Concentrator_State.classBinary files differ
BattMonitor_Concentrator/bin/com/dev_concentrator/data/Concentrator_SysState.classBinary files differ
BattMonitor_Concentrator/bin/com/dev_fbs9600/data/FBS9600_CommData.classBinary files differ
BattMonitor_Concentrator/bin/com/dev_fbs9600/data/FBS9600_ServerSocket_Thread.classBinary files differ
BattMonitor_Concentrator/bin/com/dev_fbs9600/data/FBS9600_SocketClient.classBinary files differ
BattMonitor_Concentrator/bin/com/dev_fbs9600/data/FBS9600_SocketClient2.classBinary files differ
BattMonitor_Concentrator/bin/com/dev_fbs9600/data/FBS9600_State.classBinary files differ
BattMonitor_Concentrator/bin/com/dev_fbs9600/data/FBS9600_State_SQL.classBinary files differ
BattMonitor_Concentrator/bin/com/dev_fbs9600/data/FBS9600_Task_Thread.classBinary files differ
BattMonitor_Concentrator/bin/com/version_inf/version_inf.txt
New file @@ -0,0 +1,321 @@ V1.591 edit at date 2019-01-12 by mxpopstar 1: 改进tb_bts_station_state表中的station_stat对应SD卡状态以及机房状态不更新的问题。 V1.589 edit at date 2019-01-12 by mxpopstar 1:修复一处数据存储中遇到一处bug,防止因BTS设备启动所触发的数据记录,因为电流还没有起来而出现反复的删除的所存储数据的问题。 在InsertDataToMysql_Task类中的run函数里第126行。 if((BattStatData.BATTSTATE_FLOAT != m_batt_rt.mTestData.TestState_RT) && (BattStatData.BATTSTATE_FLOAT != m_batt_rt.mTestData.battTestState)) { inserTestDataToDB(sql, -1); } else {...} 改成 if(/*(BattStatData.BATTSTATE_FLOAT != m_batt_rt.mTestData.TestState_RT) && */(BattStatData.BATTSTATE_FLOAT != m_batt_rt.mTestData.battTestState)) { inserTestDataToDB(sql, -1); } else {...} 2:增加重启主程序而不会中断充放电测试数据继续保存的功能 `db_ram_db`.`tb_batt_rtstate`表中需增加"test_loadertype" INT型字段 和 "test_recordnum" INT型字段。 3:程序重启是否断点续存数据,通过这个config.xml中的<batt_teststate_reload_en>true</batt_teststate_reload_en>配置来控制。 V1.588 edit at date 2019-01-06 by mxpopstar 1: 增加BTS设备唯一MCU_ID码注册功能,防止不同设备设置成统一设备ID后造成数据错乱的问题,注册码存储在batt_inf表中的BattGroupName6字段。 V1.587 edit at date 2019-01-06 by mxpopstar 1:增加db_app_sys.tb_app_bts_battgroup表来反映主程序内存中电池组信息数据。 2:db_app_sys.tb_app_bts_comm_task中增加BTS设备的mcu_唯一ID号,用于未来支持BTS与后台的注册功能。 V1.586 edit at date 2018-12-27 by mxpopstar 1:禁用删除短时间放电数据时的sql语句logo输出,以及dcdc模块状态变化时的logo输出。 2:优化内阻数据记录逻辑,通过config.xml中的batt_res_store_fn_en进行配置。 V1.585 edit at date 2018-12-18 by mxpopstar 1:修复V1.583和V1.583版本的两个bug。 V1.583 edit at date 2018-12-18 by mxpopstar 1:修正一处bug,解决BTS设备状态记录事件不正确的问题。 2:BTS设备状态事件增加DCDC模块的工作模式事件(事件ID:21, 事件值:1充电,2放电)。 3:BTS设备状态事件增加DCDC模块的工作状态事件(事件ID:22, 事件值:0停止,1运行)。 V1.582 edit at date 2018-12-18 by mxpopstar 1:增加支持如果BTS设备处于工作放电、续航或充电状态,数据就立即开始启动记录。 2: "BTS设备充放电工作状态不停止,系统就不停止记录充放电数据"的功能 改成 "BTS设备放电或续航工作状态不停止,系统就不停止放电数据"的功能。 3: 支持动态修改自身mysql连接池的最大连接数。 4:支持动态修改BTS设备通信速率(以10为步进(1-200之间),值越大,通信速率越慢),显示在db_ram_db.tb_server_state.server_network_rate。 5:支持将mysql连接池的运行状态反馈到db_ram_db.tb_server_state表。 6:在config.xml文件设置3和4,然后通过db_app_sys.tb_app_sys.AppServer_Reinit_Config_EN设置为true启用。 7:服务器的cpu使用率暂时保留,未使用。 V1.580 edit at date 2018-12-15 by mxpopstar 1: 增加"BTS设备充放电工作状态不停止,系统就不停止记录充放电数据"的功能。 2: 增加停电放电数据里面关于是升压续航停机的原因。 3:FBS9100_VCData类中通过((0x08 == dev_type) || (soft_ver >= 35))判断端电压是否是2位小数。 4:修复非铁塔版本的BTS读内阻测试状态遇到空指针报错的问题。 V1.576 edit at date 2018-12-03 by mxpopstar 1: db_ram_db.tb_bts_station_state表里面增加一栏station_xuhang_end_time, 用来停电的时候标识已续航时间。 V1.575 edit at date 2018-12-03 by mxpopstar 1: 主程序每次启动自动重建db_app_sys.tb_app_bts_comm_task表。 2:通过该表,支持监测主程序BTS通信线程的细节。 3:支持监测非法的batt_inf表中不存在的dev_id的BTS设备连接。 4:支持监测不同设备,却有相同dev_id的BTS设备异常接入。 V1.570 edit at date 2018-11-23 by mxpopstar 1: 支持BTS设备的rtos的task_inf的读取。 2:支持SD卡故障状态的读取。 3:支持BTS电池组参数的读取和设置操作。 4:大规模优化FBS9100S_SocketClient2类中的内存的消耗用量。 5:优化了FBS9100S_ServerSocketThread类中的socket server的创建逻辑。 V1.567 edit at date 2018-11-22 by mxpopstar 1: 支持BTS设备的数据库battinf表中GroupIndexInFBSDevice动态修改。 V1.560 edit at date 2018-11-01 by mxpopstar 1: 支持BTS设备的系统参数的读取和设置。 V1.558 edit at date 2018-09-29 by mxpopstar 1: 支持基站状态,停电开始时间,停电状态,续航开始时间,续航状态,掉站开始时间,掉站状态。 V1.556 edit at date 2018-09-29 by mxpopstar 1:增加铁塔专门的支持,通过FBS9100_ComBase.CMD_GetDeviceInf中的DeviceType进行自动识别。 2:增加节省流量的通信功能,通过读取BTS设备的状态信息维持最基本的心跳和状态监测功能,一旦监测到数据变化,将进行一次数据读取。 3:为了合理节省流量,config中可以设置读取速度的快慢。 4:tb_fbs9100_state表中增加了dev_batt_xuhang_tlong,dev_station_poff_tlong,dev_station_poff_cnt,dev_data_flowsum等字段。 5:铁塔版本BTS设备中DCDC的数据从CMD_GetVIData指令中分离出来,单独通过CMD_Get_DCDC_Data指令来读取。这样可以节省数据流量。 6:充放电数据存储中增加了正常节能放电和正常节能充电的判断,以确保数据区分是正常的节能放电和节能充电,以及停电放电等, 以免数据标识混乱给后续的实际容量计算带来错误问题。 (影响范围:全系列版本) V1.555 edit at date 2018-09-06 by mxpopstar 1:优化了app_config中recreate ram_db_tb的问题。 (影响范围:全系列版本) V1.554 edit at date 2018-08-27 by mxpopstar 1:9100_state表中增加BTS设备内阻已测试次数dev_restest_count; 2:支持服务器自动同步设置BTS设备日期时钟.(BTS系列版本号为xx.xx.37及以上) 3:支持BTS系列和61850-BTS系列存储内阻历史数据.(BTS系列版本号为xx.xx.38及以上) (影响范围:BTS系列版本) V1.553 edit at date 2018-07-26 by mxpopstar 1:9100_state表中增加BTS设备温度dev_temp; 2:其他细节优化,没有电池组的时候,系统状态表的更新问题处理. V1.548 edit at date 2018-07-26 by mxpopstar 1:BTS放电参数支持温度上限的读写; 2:支持FBS9600主控的TCP_SERVER通信模式,此时FBS9600主控模块为TCP客户端. V1.546 edit at date 2018-07-23 by mxpopstar "Sql_Mysql.FBS9100State_Table"增加1个设备内阻测试状态的列 /* + "`dev_res_test_state` INT NOT NULL DEFAULT 0, " //内阻测试状态 */ V1.545 edit at date 2018-07-20 by mxpopstar "Sql_Mysql.FBS9100State_Table"增加5个iec-61850的K/D测试数据的列 /* + "`dev_concurr` float NOT NULL DEFAULT 0, " + "`dev_condvoldp` float NOT NULL DEFAULT 0, " + "`dev_conresist` float NOT NULL DEFAULT 0, " + "`dev_condcurr` float NOT NULL DEFAULT 0, " + "`dev_61850alarms` varchar(64) NOT NULL DEFAULT '', " */ V1.543 edit at date 2018-05-31 by mxpopstar /* WorkState = FBS9100_ComBase.changeByteToInt(bf.get()); WorkState &= 0x0F; */ 过滤WorkState含有汇集器是否处于内阻测试状态的信息, 真实反映BTS主机工作状态 (影响范围:BTS系列版本) V1.542 edit at date 2018-05-29 by mxpopstar 1: 将BTS-48系列设备在线电压和组端电压的小数点改为2位。 2:单体温度在本程序中做减10.0摄氏度的处理。 (影响范围:BTS系列版本号为xx.xx.35及以上) V1.541 edit at date 2018-03-24 by mxpopstar 1: 增加FBS系列设备的服务支持的启动选项,在config.xml文件中配置。 (影响范围:FBS和BTS系列版本) V1.540 edit at date 2018-03-14 by mxpopstar 1: 增加FBS设备状态(正常,放电测试状态,充电测试状态)切换的数据库记录。 (影响范围:FBS9100S系列版本) V1.530 edit at date 2018-03-14 by mxpopstar 1: 支持对FBS9100S的数据通信速率可配置,在config.xml文件中配置,默认速率为1,数值(1-60)越大速率越小。 (影响范围:FBS9100S系列版本) V1.526 edit at date 2018-01-14 by mxpopstar 1: 充放电数据增加单体温度。 2:开放内阻测试数据存储线程。 (影响范围:FBS9100S系列版本) V1.525 edit at date 2018-01-10 by mxpopstar 1: 增加对FBS9100的支持,后台为socket_client,FBS9100设备为socket_server,设备ID为910xxxxx。 2:修复和优化FBS9600数据读取的问题。 3:同时支持FBS9100客户端(设备ID为910xxxxx)和服务器端(911xxxxx) (影响范围:FBS9100S系列版本) V1.523 edit at date 2017-12-14 by mxpopstar 1: 修复了BTS设备对第二组电池进行放电的时候,db_ram_db.tb_fbs9100_state表中还是显示第一组电池数据的问题。 (影响范围:FBS9100S系列版本) V1.523 edit at date 2017-12-10 by mxpopstar 1: 修复V1.522版本中BTS DC/DC模块信息无法更新到数据库的bug。 (影响范围:FBS9100S系列版本) V1.506 edit at date 2017-7-10 by mxpopstar 1: 修复充放电数据中在线电压为0的bug, socket发送方法后面增加flush方法, 增加FBS9100S版本显示. 2: 增加设置升压上限和充电电流参数。 3:增加gprs socket接收为零错误次数计数,用于诊断区分是设备端RS485数据流误码问题,或是网络通信丢包问题。 (影响范围:FBS9100S系列版本) V1.504 edit at date 2017-7-10 by mxpopstar 1: 增加FBS9100S的远程DFU功能。 (影响范围:FBS9100S系列版本) V1.501 edit at date 2017-5-25 by mxpopstar 1:增加FBS9100S_ServerSocketThread类和FBS9100S_SocketClient2类。2017-7-2 2:增加与FBS9100S的AES加密通信, socket_port=9101; (影响范围:FBS9100S系列版本) V1.410 edit at date 2017-5-25 by mxpopstar 1:tb_battinf增加电池保修天数字段。2017-6-6 (影响范围:全系列版本) V1.405 edit at date 2017-5-25 by mxpopstar 1:充放电过程中的单体数据由之前的变化阀值单独记录改为变化阀值全记录。2017-5-25 (影响范围:全系列版本) V1.389 edit at date 2017-1-3 1:解决FBS系列实时数据库不更新数据的问题,BattData_RT_Array类中 rtdata.al_MonVol_RtOld.add(data)修正为rtdata.al_MonVol_RtOld.add(data.clone())。2017-1-3 (影响范围:FBS系列版本) V1.388 edit at date 2016-12-27 1:BattData_RT_Array类中的initBattDataRT_Inf_FromSQL()中增加rtdata.al_MonVol.size()不大于rtdata.MonCount的限制。2016-12-27 (影响范围:CMCC版本) V1.387 edit at date 2016-11-02 1: 将tb_app_sys表中的AppServer_Version的版本最低设定为V1.388,以便V1.087以上的客户端识别服务器端的版本,并作出提示。 2: 将tb_batttestdata_inf表中的添加upload_data_ext(区分.FBO或.IDC数据)与upload_client_type( 区分上传的客户端:BS_CLI,CS_CLI,CS_SVR)字段。2016-11-02 3: 将tb_battresdata_inf表中的添加upload_client_type(区分上传的客户端:BS_CLI,CS_CLI,CS_SVR)字段。2016-11-02 V1.386 edit at date 2016-10-26 1: 修复通过手机上传.FBO数据时, 放电开始日期时间月份错误的问题,解析的月份比实际的多一个月。(影响范围:全系列版本)- 2016-10-26 V1.385 edit at date 2016-10-15 1:FBS9600/9600S支持TCP-ModBus协议,此时服务器电池组配置信息中的FBS9600/9600S的设备ID必须设置为9610xxxx。 ,虽然使用TCP-ModBus协议,但数据包中末尾仍然携带ModBus的CRC16校验。(影响范围:FBS9600/9600S系列) - 2016-10-15 2:修复读取FBS9100单体内阻数据时倍率错误的问题,由之前的0.001改为0.01。(影响范围:FBS9600/9600S系列) - 2016-10-18 3:修复FBR-5000CT的数据和密特电导仪数据的手机APP上传时服务器端对数据的校对审核问题,由未审核改为审核。 V1.384 edit at date 2016-10-14 1:支持内阻计FBR-5000CT的数据和密特电导仪数据的手机APP上传。(影响范围:FBS9600) - 2016-10-14 V1.383 edit at date 2016-10-10 1:该版本以上的FBS系列的在线监测数据保存的最小间隔恢复为10分钟。(影响范围:FBS9600) - 2016-10-10 V1.382 edit at date 2016-10-10 1:对于FBO版本,实时电池数据只建表,不跟新数据,避免服务器空跑浪费电能。(影响范围:FBO系列) - 2016-10-10 2:修复电池组信息为空时,实时内存表数据插入语句错误的问题,此时不进行内存表建表与数据插入操作。(影响范围:全系列) - 2016-10-10 3: 该版本的FBS系列的在线监测数据保存的最小间隔为1分钟,为特殊测试版本。(影响范围:FBS9600) - 2016-10-10 V1.380 edit at date 2016-08-23 1:修复FBS9600通信故障告警延时时间为10秒钟,通信出错重试次数为10次。(影响范围:FBS9600) - 2016-08-23 V1.379 edit at date 2016-08-02 1:变更虚拟假负载支持判断”拉闸放电“与”非拉闸放电“的区分,需配套V1.076以上的客户端。(影响范围:全系列版本) - 2016-08-01 2:修复FBS9600通信包里CRC16高低字节顺序的问题,此前由于用以太网通信而未使用CRC16校验。(影响范围:FBS9600) - 2016-08-01 V1.378 edit at date 2016-07-13 1:添加作业变更管理数据库表。(影响范围:BMP7100) - 2016-06-23 V1.377 edit at date 2016-06-23 1:修复bpm7100模块通信故障的设备告警工作不正常的问题。(影响范围:BMP7100) - 2016-06-23 V1.376 edit at date 2016-05-19 1:支持bpm7100模块通信故障数据自动清零,配置文件中"bpm7100_commerr_dataclear_en"选项决定是否启用该功能。(影响范围:BMP7100) - 2016-06-16 2:将告警的阀值比较由绝对值改为正常值。(影响范围:全系列版本 - 2016-06-16) V1.375 edit at date 2016-05-19 1:服务器状态表中增加数据库连接数量查询 2:数据库增加自动全备份功能,备份时间间隔在配置文件中设置,最新备份时间在db_app_sys.tb_app_sys中查询。(影响范围:全系列版本) V1.374 edit at date 2016-05-19 1:服务器状态表中增加服务器端所在盘符的硬盘存储容量查询和数据库连接数量查询 V1.373 edit at date 2016-05-19 1: 电池测试数据增加组端温度,没有改变数据表结构,只是增加一笔数据插入,mon_num=100010,mon_vol=组端温度。(影响范围:BMP7100) - 2016-05-19 2:服务器端实时数据库表数据中,增加组端温度。(影响范围:全系列版本) - 2016-05-19。 V1.372 edit at date 2016-05-17 1: 增加FBS9600和BPM7100 socket通信出错多次重试功能,以增加通信可靠性。(影响范围:FBS9600和BMP7100) - 2016-05-17。 V1.371 edit at date 2016-05-10 1: 修改BMP7100的数据监测记录逻辑,取消电压变化阀值保存功能。(影响范围:BMP7100) - 2016-05-10。 V1.37 edit at date 2016-04-24 1: “BattDataTestPro_Thread”使用Timer Task定时执行相关任务(影响范围:全系列版本)。 2: 电池实时状态和数据使用数据库内存表(影响范围:全系列版本)。 3: 增加设备通信故障告警(影响范围:全系列版本,FBO版本除外)- 2016-04-26。 4:电池告警数据表与设备告警数据表的自增字段num类型改为BIGINT类型,避免该字段因到达最大值而造成insert操作出错。 V1.36 edit at date 2016-04-23 1: class "BattStatData" add a member "recordNum_BPM7100" witch type is int, "recordNum_BPM7100" is used by function "check_If_Bpm7100_DataNeedStore()" in class "BattData_RT" and is used by function "bpm7100_init(byte batt_state)" int class "BattStatData", "recordNum_BPM7100" is used to determine if data_record_count is upto "mTestDataRecordCountMax" and then pause inser data to mysql db.(影响范围:Bpm7100版本) V1.36 edit at date 2016-04-18 1: class "BattData_RT" add a function "check_If_Bpm7100_DataNeedStore()" for BPM_7100 monitor only, It's called in class thread function "run()" in class "BattDataTestPro_Thread". 2: class "BattStatData" add a boolean type member "bpm7100_runState", It's used to determine wether the BPM_7100 system is in "monitor" state witch will work data process and save data into mysql db, like dischage and charge test.(影响范围:Bpm7100版本) V1.36 edit at date 2016-04-16 1: 数据表TB_BattInf增加了机房名称、电池组名、机房ID、电池组ID索引,测试数据增加了电池组ID、测试日期索引 (影响范围:全系列版本)。 edit at date 2017-04-06 lijun 1.将FBS9100_DateTime类中的putByteBuffer和getBytes方法中存取年将byte改为short --> 设置年的时候会超出范围 2.在FBS9100_ComBase类中添加了常量值 CMD_GETDEVID = 0x23 --> 用于让设备发送设备的id号 edit at date 2017-04-07 lijun 1.在FBS9100_ResCapData类中添加了getByteBuffer() --> 用于发送和接收容量内阻测试数据 2.在FBS9100_ResState类中添加了getByteBuffer()方法 edit at date 2017-05-09 lijun 1.config.xml文件中将ftp_server_fn_config 和mobile_server_fn_config 的值设为false 2.将config.xml中batt_alarm_fn_start_delay的值从5设为180 edit at date 2017-05-11 lijun 1.将config.xml文件中的mysql_conn_count_max 的值由300改为3000 --设置数据库最大链接数 修正过的汇集器版本(版本中的设备ID为新添加的字段) V1.101 edit at date 2019-10-10 lijun 1.FBS直接和汇集器通讯,目前只是读取设备组端信息和单体信息 V1.102 edit at date 2019-10-11 lijun 1.添加内阻数据记录线程 2.添加电池充放电数据记录线程 3.添加电池组数据时录入电池组信息 V1.104 edit at date 2022-04-21 lijun 1.修复实时状态内阻测试跳变bug 2.修复多组电池组时,启动/停止内阻测试时,启动/停止当前选择的电池组 V2.105 edit at date 2022-06-10 lijun 1.新增组压模块数据读取 BattMonitor_Concentrator/bin/main/main_MonitorServer_Concentrator.classBinary files differ
BattMonitor_Concentrator/config.xml
@@ -2,7 +2,7 @@ <root> <mysql_ramdb_recreate_en>false</mysql_ramdb_recreate_en> <mysql_server_ip>192.168.10.79</mysql_server_ip> <mysql_server_ip>127.0.0.1</mysql_server_ip> <!--SOURCE_BATTDATA_TYPE_FBSDEV = 0--> <!--SOURCE_BATTDATA_TYPE_SQLSERVER = 1--> <!--SOURCE_BATTDATA_TYPE_C_INTERFACE = 2--> BattMonitor_Concentrator/src/com/battmonitor/base/Crc16.java
@@ -161,7 +161,8 @@ uchCRCLo = (short) (auchCRCLo[uIndex]&0xFF); } return (short)((uchCRCLo) | (uchCRCHi<<8)); //return (short)((uchCRCLo) | (uchCRCHi<<8)); return (short)((uchCRCLo)<<8 | (uchCRCHi)); }; } /*************************************************************************************** BattMonitor_Concentrator/src/com/dev_concentrator/data/Concentrator_Cmd.java
@@ -6,6 +6,7 @@ import com.battmonitor.base.ComBase; import com.battmonitor.base.Crc16; import com.dev.btse.data.ComFn; import com.dev.btse.data.FBS9100_ComBase; public class Concentrator_Cmd @@ -40,16 +41,25 @@ return false; } tmpbuf.position(0); ADDR = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); CMD = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); RES_Index = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort()); if(CMD == Concentrator_ComBase.CMD_MODEBUS_READCMD) { ByteCount = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); }else { Result_val = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort()); //System.out.println(ComFn.bytesToHexString(tmpbuf.array(), tmpbuf.array().length)); this.ADDR = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); this.CMD = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); if(this.ADDR >= Concentrator_SocketThread.GroupVolModel_Addr) { RES_Index = 0x0010; //读取的组压模块的信息 if(CMD == Concentrator_ComBase.CMD_MODEBUS_READCMD) { ByteCount = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); Result_val = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort()); } }else { RES_Index = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort()); if(CMD == Concentrator_ComBase.CMD_MODEBUS_READCMD) { ByteCount = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); }else { Result_val = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort()); } } //ByteCount = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort()); tmpbuf.compact(); tmpbuf.flip(); BattMonitor_Concentrator/src/com/dev_concentrator/data/Concentrator_ComBase.java
@@ -20,6 +20,9 @@ public static final int CMD_MODEBUS_STOPRESTEST = 0x4002; //停止内阻测试 public static final int CMD_MODEBUS_RESTARTSYS = 0x4003; //系统重启 public static final int CMD_MODEBUS_GROUPVOL_INDEX = 0x0010; //组压模块组压信息 /**************** 汇集器重启 *******************************************/ public static final int CMD_ResetSystemAck = 0x0F; public static final int CMD_ResetSystem = 0x10; BattMonitor_Concentrator/src/com/dev_concentrator/data/Concentrator_ServerSocketThread.java
@@ -30,6 +30,7 @@ this.m_ServerSocket.setSoTimeout(600000); //600 seconds Socket tmp_socket = this.m_ServerSocket.accept(); Concentrator_SocketThread client = new Concentrator_SocketThread(pool, tmp_socket,GB_DataArray); client.start(); } BattMonitor_Concentrator/src/com/dev_concentrator/data/Concentrator_SocketThread.java
@@ -33,6 +33,8 @@ private Concentrator_SetParam param; private Concentrator_Cmd m_CMD; public static final int GroupVolModel_Addr = 0x1F; public Concentrator_SocketThread(MysqlConnPool pool, Socket socket,BattData_RT_Array GB_DataArray) { this.pool = pool; this.socket = socket; @@ -117,15 +119,24 @@ reg_count = 300; } Thread.sleep(100); /********************* 读取组压模块数据 *************************************/ { m_CMD.makeCmd(((i)+GroupVolModel_Addr), Concentrator_ComBase.CMD_MODEBUS_READCMD, Concentrator_ComBase.CMD_MODEBUS_GROUPVOL_INDEX, 1); SocketComm(m_CMD, ByteBuffer.allocate(0), socket); Thread.sleep(50); } // //System.out.println("BattGroupId:"+batt.BattGroupId); Thread.sleep(50); m_CMD.makeCmd((i+1), Concentrator_ComBase.CMD_MODEBUS_READCMD, Concentrator_ComBase.CMD_MODEBUS_BATTMONVOL_INDEX,reg_count); SocketComm(m_CMD, ByteBuffer.allocate(0), socket); Thread.sleep(100); Thread.sleep(50); m_CMD.makeCmd((i+1), Concentrator_ComBase.CMD_MODEBUS_READCMD, Concentrator_ComBase.CMD_MODEBUS_BATTMONTMP_INDEX,reg_count); SocketComm(m_CMD, ByteBuffer.allocate(0), socket); Thread.sleep(100); Thread.sleep(50); m_CMD.makeCmd((i+1), Concentrator_ComBase.CMD_MODEBUS_READCMD, Concentrator_ComBase.CMD_MODEBUS_BATTMONRES_INDEX,reg_count); SocketComm(m_CMD, ByteBuffer.allocate(0), socket); @@ -228,6 +239,9 @@ cipher_tx_t = makeCommBuf(m_CMD, bf, false); } if(m_CMD.RES_Index == Concentrator_ComBase.CMD_MODEBUS_GROUPVOL_INDEX){ //System.err.println("发送数据:"+ComFn.bytesToHexString(cipher_tx_t, cipher_tx_t.length)); } //System.err.println("发送数据:"+ComFn.bytesToHexString(cipher_tx_t, cipher_tx_t.length)); //=====================================================================// Date d1 = new Date(); @@ -247,7 +261,7 @@ } } else { rx_read_time_out += 1; if((bytebuffer_for_socket_RX.position()>=8) && (rx_read_time_out>50)){ if((bytebuffer_for_socket_RX.position()>=7) && (rx_read_time_out>50)){ res_t = true; break; } @@ -280,6 +294,9 @@ byte[] cipher_buf = new byte[bytebuffer_for_socket_RX.limit()]; byte[] plain_buf = new byte[bytebuffer_for_socket_RX.limit()]; bytebuffer_for_socket_RX.get(plain_buf); if(m_CMD.RES_Index == Concentrator_ComBase.CMD_MODEBUS_GROUPVOL_INDEX){ //System.out.println("接收数据:"+ComFn.bytesToHexString(plain_buf, plain_buf.length)); } //System.out.println("接收数据:"+ComFn.bytesToHexString(plain_buf, plain_buf.length)); if(m_CMD.RES_Index == FBS9100_ComBase.CMD_ReadGPRSCSQ) { if(bytebuffer_for_socket_RX.limit() > 2) { @@ -291,7 +308,7 @@ // + " GPRS RF Level:" + m_StatAndParam.m_GPRS_CSQ); } } else { if((cipher_buf.length >= 8) && (true == getDataFromCommBuf(plain_buf))) { if((cipher_buf.length >= 7) && (true == getDataFromCommBuf(plain_buf))) { rx_errcount_for_live_of_thread = 0; res_t = true; @@ -357,8 +374,9 @@ //读取单体电压 Concentrator_ResCapData mondata = new Concentrator_ResCapData(); if(true == mondata.putByteBuffer(bf, FBS9100_ComBase.DataType_MonVol)) { //System.out.println("读取电压成功"); //System.out.println("读取电压成功"+m_Con_Cmd.ADDR); BattData_RT batt = dataArray.getItem(m_Con_Cmd.ADDR-1); //System.out.println(batt); if(null != batt) { getConCentratorMonData(batt,mondata); } @@ -390,6 +408,17 @@ } //getConCentratorMonData(dataArray.getItem(0),mondata); isSuccess = true; } }else if(Concentrator_ComBase.CMD_MODEBUS_GROUPVOL_INDEX == m_Con_Cmd.RES_Index) { float group = (float)m_Con_Cmd.Result_val/10; int index = m_Con_Cmd.ADDR - GroupVolModel_Addr; if(index >= 0 && index < dataArray.getItemCount()) { BattData_RT batt = dataArray.getItem(index); if(null != batt) { //System.out.println("电池组:"+(index+1)+";组压:"+group); batt.mTestData.updateGroupVolFrom_FBSDev((float)(group)); } } } @@ -466,7 +495,8 @@ battData.mTestData.battState = BattStatData.BATTSTATE_CHARGE; battData.mTestData.dev_FBS9100S_WorkState = FBS9100_ComBase.SYS_STATE_CHARGING; } battData.mTestData.updateGroupVolFrom_FBSDev((float)(battstate.getGroupvol())); //有单独读取组压模块数据时不需要在此设置 //battData.mTestData.updateGroupVolFrom_FBSDev((float)(battstate.getGroupvol())); //---------------------------------------------------------------------------// //--------------------- 接着读取电流 -----------------------------------------// BattMonitor_Concentrator/src/com/version_inf/version_inf.txt
@@ -314,4 +314,8 @@ V1.104 edit at date 2022-04-21 lijun 1.修复实时状态内阻测试跳变bug 2.修复多组电池组时,启动/停止内阻测试时,启动/停止当前选择的电池组 2.修复多组电池组时,启动/停止内阻测试时,启动/停止当前选择的电池组 V2.105 edit at date 2022-06-10 lijun 1.新增组压模块数据读取 BattMonitor_Concentrator/src/main/main_MonitorServer_Concentrator.java
@@ -29,7 +29,7 @@ /**************************************************************************/ /**************************************************************************/ public final static boolean app_debug = false; public final static double m_VersionNum = 1.104; public final static double m_VersionNum = 2.105; public final static String m_Version = "Welcome To Use main_MonitorServer_Concentrator V" + m_VersionNum + " RC_20190112"; /**************************************************************************/