From 2435b0e0b0118f02c0f677d805eae1deb346460a Mon Sep 17 00:00:00 2001 From: Administrator <1525436766@qq.com> Date: 星期五, 27 八月 2021 14:54:42 +0800 Subject: [PATCH] 充放电数据修改 --- BattMonitor_FGCD-A059NT/src/com/dev/fgcd/comm/FGCD_SocketClient_Thread.java | 53 +++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 45 insertions(+), 8 deletions(-) diff --git a/BattMonitor_FGCD-A059NT/src/com/dev/fgcd/comm/FGCD_SocketClient_Thread.java b/BattMonitor_FGCD-A059NT/src/com/dev/fgcd/comm/FGCD_SocketClient_Thread.java index cb89c4a..fb5eeb5 100644 --- a/BattMonitor_FGCD-A059NT/src/com/dev/fgcd/comm/FGCD_SocketClient_Thread.java +++ b/BattMonitor_FGCD-A059NT/src/com/dev/fgcd/comm/FGCD_SocketClient_Thread.java @@ -69,7 +69,10 @@ private boolean readMonData = false; //是否立即读取单体数据 记录历史数据时立即读取单体数据 private boolean readCharData = false; //是否立即读取放电数据 记录历史数据时立即读取放电数据 + private int readMonData_lock = 1; //单体数据返回 + private int readCharData_lock = 1; //充放电数据返回 + private int sendlock_state = 1; //发送数据返回 public FGCD_SocketClient_Thread(MysqlConnPool m_ConnPool,BattData_RT_Array m_Data,Socket socket){ this.socket = socket; @@ -280,21 +283,26 @@ }else if(FGCD_ComBase.CMD_DownLoadFBDFile == fboFile.op_cmd) { //开始下载文件 FGCD_TestDataDownLoad download = new FGCD_TestDataDownLoad(fboFile, socket,m_ConnPool); - fboFile.initDownLoadState(); FGCD_SocketClient_Thread_SQL.updateFgcd_Filedownload_TableCmdByDevId(m_ConnPool, fboFile); download.downLoadTestData(); } } - if(DevReadCount %10 == 0) { + if(DevReadCount %10 == 0 || readMonData) { //logger.info("获取单体数据"); FGCD_Cmd tmp_cmd = new FGCD_Cmd(FGCD_ComBase.CMD_GETBATTDATA); + tmp_cmd.Db3 = sendlock_state; SocketComm(tmp_cmd, ByteBuffer.allocate(0)); tmp_cmd = null; + readMonData = false; } - if(DevReadCount %12 == 0) { + if(DevReadCount %12 == 0 || readCharData) { //logger.info("获取放电数据"); - SocketComm(FGCD_ComBase.CMD_GETDISCHARGEDATA, ByteBuffer.allocate(0)); + FGCD_Cmd tmp_cmd = new FGCD_Cmd(FGCD_ComBase.CMD_GETDISCHARGEDATA); + tmp_cmd.Db1 = sendlock_state; + SocketComm(tmp_cmd, ByteBuffer.allocate(0)); + tmp_cmd = null; + readCharData = false; } DevReadCount++; @@ -722,6 +730,19 @@ else if(FGCD_ComBase.CMD_GETBATTDATA == m_FBS_Cmd.CMD) { //System.out.println("获取单体数据"); if(vc_data.putByteBuffer(bf, m_FBS_Cmd.ByteLen-m_FBS_Cmd.BYTE_LEN)) { + readMonData_lock = m_FBS_Cmd.Db3; + System.out.println("单体数据返回:"+readMonData_lock); + if(m_FBS_Cmd.Db3 == 2) { + if(m_FBS_Cmd.Db3 == readCharData_lock) { + sendlock_state = 2; + }else { + readCharData = true; + } + }else if(m_FBS_Cmd.Db3 == 0){ + sendlock_state = 1; + }else{ + sendlock_state = 1; + } //System.out.println("获取单体数据成功"); getFBS9100MonVolData(vc_data, sysState); isSuccess = true; @@ -730,6 +751,7 @@ //--------------------- 获取放电参数 ---------------------------------------------- else if(FGCD_ComBase.CMD_GETDISCHARGEPARAM == m_FBS_Cmd.CMD) { if(testParam.putByteBuffer(bf)) { + m_StatAndParam.op_cmd_ack = FGCD_ComBase.CMD_GetDischargeParmAck; FGCD_SocketClient_Thread_SQL.updateFbs9100SetParamBydev_id(m_ConnPool, m_StatAndParam, testParam); isSuccess = true; @@ -781,6 +803,16 @@ //--------------------- 获取放电数据 ---------------------------------- else if(FGCD_ComBase.CMD_GETDISCHARGEDATA == m_FBS_Cmd.CMD) { if(sysState.putByteBuffer(bf)) { + readCharData_lock = m_FBS_Cmd.Db1; + System.out.println("放电数据返回:"+readCharData_lock); + if(m_FBS_Cmd.Db1 == 2) { + if(m_FBS_Cmd.Db1 == readMonData_lock) { + sendlock_state = 2; + }else { + readMonData = true; + } + } + //读取当前设备的停止原因和当前工作状态 sysState.dev_captest_stop_type = m_FBS_Cmd.Alarm; sysState.dev_workstate = m_FBS_Cmd.WorkState; @@ -898,6 +930,7 @@ //读取文件列表成功 fboFile.op_cmd = FGCD_ComBase.CMD_ReadFBDFile_ACK; System.out.println("读取文件列表成功"); + fboFile.cleatState(); FGCD_SocketClient_Thread_SQL.updateTb_Fgcd_Filedownload_Table(m_ConnPool, fboFile); isSuccess = true; } @@ -930,20 +963,22 @@ } int now_test_type = FGCD_ComBase.TestType_NULL; //记录停止原因时数据处理 - if(sys_state.dev_captest_stop_type > 0x80) { + if(sys_state.dev_captest_stop_type >= 0x80) { + m_RTData[n].mTestData.test_stoptype = sys_state.dev_captest_stop_type - 0x80; //更新当前的停止原因 }else { m_RTData[n].mTestData.test_stoptype = sys_state.dev_captest_stop_type; } + System.out.println("停止原因:"+m_RTData[n].mTestData.test_stoptype); int now_dev_workstate = 0; if(FGCD_ComBase.WORK_STATE_DISTEST == sys_state.dev_workstate || (FGCD_ComBase.WORK_STATE_STOPDIS == sys_state.dev_workstate)){ - vc_data.battcurr[n] = (-1)*Math.abs(vc_data.battcurr[n]); + //vc_data.battcurr[n] = (-1)*Math.abs(vc_data.battcurr[n]); //System.out.println("vc_data.battcurr[n]:"+vc_data.battcurr[n]); now_test_type = FGCD_ComBase.TestType_CAP; }else if(FGCD_ComBase.WORK_STATE_CHARTEST == sys_state.dev_workstate || FGCD_ComBase.WORK_STATE_STOPCHAR == sys_state.dev_workstate ){ - vc_data.battcurr[n] = Math.abs(vc_data.battcurr[n]); + //vc_data.battcurr[n] = Math.abs(vc_data.battcurr[n]); //System.out.println("vc_data.battcurr[n]:"+vc_data.battcurr[n]); now_test_type = FGCD_ComBase.TestType_Charge; } @@ -983,5 +1018,7 @@ } } } - + public static void main(String[] args) { + System.out.println(0x80); + } } -- Gitblit v1.9.1