| | |
| | | for(int i = 0; i < 3 ;i++) {
|
| | |
|
| | | Thread.sleep(500);
|
| | | m_CMD.makeCmd(0xFF, Concentrator_ComBase.CMD_MODEBUS_READCMD, Concentrator_ComBase.CMD_MODEBUS_DEVICEIDINFO_INDEX,1);
|
| | | m_CMD.makeCmd(0x01, Concentrator_ComBase.CMD_MODEBUS_READCMD, Concentrator_ComBase.CMD_MODEBUS_DEVICEIDINFO_INDEX,1);
|
| | | boolean flag = SocketComm(m_CMD, ByteBuffer.allocate(0), socket);
|
| | | if(flag = true) {
|
| | | dataArray = Concentrator_SocketThread_SQL.queryDeviceFromDataBase(pool,sysState.getDev_id());
|
| | |
| | | } catch (InterruptedException e) {
|
| | | e.printStackTrace();
|
| | | } finally {
|
| | | if(reg_in_flag) {
|
| | | if(reg_in_flag && sysState.getDev_id() > 0) {
|
| | | System.out.println("设备:"+sysState.getDev_id()+"识别成功 at "+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
|
| | | }else {
|
| | | reg_in_flag = false;
|
| | | System.out.println("设备:"+sysState.getDev_id()+"识别失败 at "+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
|
| | | }
|
| | | }
|
| | |
| | | }
|
| | | while(S_thread_run_flag && reg_in_flag) {
|
| | | try {
|
| | | for(int i= 0;i<dataArray.getItemCount();i++) {
|
| | | for(int i= 0;i<dataArray.getItemCount() && i<12;i++) {
|
| | | main_MonitorServer_Concentrator.isFlushData = true; //通知更新线程
|
| | |
|
| | | Thread.sleep(100);
|
| | | BattData_RT batt = dataArray.getItem(i);
|
| | | m_CMD.makeCmd(0xFF, Concentrator_ComBase.CMD_MODEBUS_READCMD, Concentrator_ComBase.CMD_MODEBUS_DEVICESTATE_INDEX, Concentrator_State.REG_LEN);
|
| | | m_CMD.makeCmd((i+1), Concentrator_ComBase.CMD_MODEBUS_READCMD, Concentrator_ComBase.CMD_MODEBUS_DEVICESTATE_INDEX, Concentrator_State.REG_LEN);
|
| | | SocketComm(m_CMD, ByteBuffer.allocate(0), socket);
|
| | |
|
| | | int reg_count = batt.MonCount;
|
| | |
| | | }
|
| | |
|
| | | Thread.sleep(100);
|
| | | m_CMD.makeCmd(0xFF, Concentrator_ComBase.CMD_MODEBUS_READCMD, Concentrator_ComBase.CMD_MODEBUS_BATTMONVOL_INDEX,reg_count);
|
| | | 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);
|
| | | m_CMD.makeCmd(0xFF, Concentrator_ComBase.CMD_MODEBUS_READCMD, Concentrator_ComBase.CMD_MODEBUS_BATTMONTMP_INDEX,reg_count);
|
| | | 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);
|
| | | m_CMD.makeCmd(0xFF, Concentrator_ComBase.CMD_MODEBUS_READCMD, Concentrator_ComBase.CMD_MODEBUS_BATTMONRES_INDEX,reg_count);
|
| | | 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);
|
| | |
|
| | | if(sysState != null) {
|
| | | Concentrator_SocketThread_SQL.insertOrupdateFbs9100StateByDev_Id(pool, sysState);
|
| | | }
|
| | | }
|
| | | |
| | | Concentrator_SocketThread_SQL.queryFBS9100SetParam_Table(pool, param);
|
| | | if(param.op_cmd == Concentrator_ComBase.CMD_Start) {
|
| | | //if(param.TestCmd == Concentrator_ComBase.CMD_StartResDischarge) {
|
| | | if(param.BattGroupNum >3) {
|
| | | param.BattGroupNum = 0;
|
| | | if(param.BattGroupNum < 1) {
|
| | | param.BattGroupNum = 1;
|
| | | }
|
| | | System.out.println("DevId:"+sysState.getDev_id()+";电池组:"+param.BattGroupNum+";启动内阻测试 at"+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
|
| | | |
| | | //启动内阻测试
|
| | | m_CMD.makeCmd(0xFF, Concentrator_ComBase.CMD_MODEBUS_WRITECMD, Concentrator_ComBase.CMD_MODEBUS_STARTRESTEST,1);
|
| | | //m_CMD.makeCmd(0xFF, Concentrator_ComBase.CMD_MODEBUS_WRITECMD, Concentrator_ComBase.CMD_MODEBUS_STARTRESTEST,1);
|
| | | m_CMD.makeCmd(param.BattGroupNum, Concentrator_ComBase.CMD_MODEBUS_WRITECMD, Concentrator_ComBase.CMD_MODEBUS_STARTRESTEST,1);
|
| | | if(SocketComm(m_CMD, m_CMD.getControlByteBuffer(), socket)) {
|
| | | param.op_cmd = Concentrator_ComBase.CMD_StartAck;
|
| | | }
|
| | |
| | | //}
|
| | | }else if(param.op_cmd == Concentrator_ComBase.CMD_Stop) {
|
| | | //停止内阻测试
|
| | | if(param.BattGroupNum >3) {
|
| | | param.BattGroupNum = 0;
|
| | | if(param.BattGroupNum < 1) {
|
| | | param.BattGroupNum = 1;
|
| | | }
|
| | | System.out.println("DevId:"+sysState.getDev_id()+";电池组:"+param.BattGroupNum+";停止内阻测试 at"+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
|
| | | //停止内阻测试
|
| | | m_CMD.makeCmd(0xFF, Concentrator_ComBase.CMD_MODEBUS_WRITECMD, Concentrator_ComBase.CMD_MODEBUS_STOPRESTEST,1);
|
| | | m_CMD.makeCmd(param.BattGroupNum, Concentrator_ComBase.CMD_MODEBUS_WRITECMD, Concentrator_ComBase.CMD_MODEBUS_STOPRESTEST,1);
|
| | | //m_CMD.makeCmd(0xFF, Concentrator_ComBase.CMD_MODEBUS_WRITECMD, Concentrator_ComBase.CMD_MODEBUS_STOPRESTEST,1);
|
| | | if(SocketComm(m_CMD, m_CMD.getControlByteBuffer(), socket)) {
|
| | | param.op_cmd = Concentrator_ComBase.CMD_StopAck;
|
| | | }
|
| | |
| | | }
|
| | |
|
| | |
|
| | | }
|
| | | Thread.sleep(50);
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | |
| | | Concentrator_State battstate = new Concentrator_State();
|
| | | //读取设备的状态信息
|
| | | if(true == battstate.putByteBuffer(bf)) {
|
| | | //System.out.println(battstate);
|
| | | //更新指定的设备的组端信息
|
| | | getConcentratorBattState(dataArray.getItem(0),battstate);
|
| | | BattData_RT batt = dataArray.getItem(m_Con_Cmd.ADDR-1);
|
| | | //System.out.println(batt + "==="+(m_Con_Cmd.ADDR-1)+"=="+batt.BattGroupId);
|
| | | if(null != batt) { |
| | | getConcentratorBattState(batt,battstate);
|
| | | }
|
| | |
|
| | | isSuccess = true;
|
| | | }
|
| | |
| | | Concentrator_ResCapData mondata = new Concentrator_ResCapData();
|
| | | if(true == mondata.putByteBuffer(bf, FBS9100_ComBase.DataType_MonVol)) {
|
| | | //System.out.println("读取电压成功");
|
| | | getConCentratorMonData(dataArray.getItem(0),mondata);
|
| | | BattData_RT batt = dataArray.getItem(m_Con_Cmd.ADDR-1);
|
| | | if(null != batt) { |
| | | getConCentratorMonData(batt,mondata);
|
| | | } |
| | | isSuccess = true;
|
| | | }
|
| | |
|
| | |
| | | Concentrator_ResCapData mondata = new Concentrator_ResCapData();
|
| | | if(true == mondata.putByteBuffer(bf, FBS9100_ComBase.CMD_GetMonomerTMP)) {
|
| | | //System.out.println("读取温度成功"+"==="+mondata.m_DataType);
|
| | | getConCentratorMonData(dataArray.getItem(0),mondata);
|
| | | BattData_RT batt = dataArray.getItem(m_Con_Cmd.ADDR-1);
|
| | | if(null != batt) { |
| | | getConCentratorMonData(batt,mondata);
|
| | | } |
| | | //getConCentratorMonData(dataArray.getItem(0),mondata);
|
| | | isSuccess = true;
|
| | | }
|
| | |
|
| | |
| | | Concentrator_ResCapData mondata = new Concentrator_ResCapData();
|
| | | if(true == mondata.putByteBuffer(bf, FBS9100_ComBase.CMD_GetMonomerRES)) {
|
| | | //System.out.println("读取内阻成功");
|
| | | getConCentratorMonData(dataArray.getItem(0),mondata);
|
| | | BattData_RT batt = dataArray.getItem(m_Con_Cmd.ADDR-1);
|
| | | if(null != batt) { |
| | | getConCentratorMonData(batt,mondata);
|
| | | }
|
| | | //getConCentratorMonData(dataArray.getItem(0),mondata);
|
| | | isSuccess = true;
|
| | | }
|
| | |
|
| | |
| | | }else if(Concentrator_ComBase.CMD_MODEBUS_WRITECMD == m_Con_Cmd.CMD){
|
| | | if(Concentrator_ComBase.CMD_Result_Success == m_Con_Cmd.Result_val) {
|
| | | if(Concentrator_ComBase.CMD_MODEBUS_STARTRESTEST == m_Con_Cmd.RES_Index) {
|
| | | System.out.println("启动内阻测试成功");
|
| | | System.out.println("DevId:"+sysState.getDev_id()+" 启动内阻测试成功 "+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
|
| | | }
|
| | | if(Concentrator_ComBase.CMD_MODEBUS_STOPRESTEST == m_Con_Cmd.RES_Index) {
|
| | | System.out.println("停止内阻测试成功");
|
| | | System.out.println("DevId:"+sysState.getDev_id()+" 停止内阻测试成功 "+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
|
| | | }
|
| | | if(Concentrator_ComBase.CMD_MODEBUS_RESTARTSYS == m_Con_Cmd.RES_Index) {
|
| | | System.out.println("重启成功");
|
| | | System.out.println("DevId:"+sysState.getDev_id()+" 重启成功 "+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
|
| | | //System.out.println("重启成功");
|
| | | }
|
| | | }
|
| | | isSuccess = true;
|
| | | }
|
| | | }
|
| | | }
|
| | | return isSuccess;
|
| | |
| | | battData.mTestData.updateCurrFrom_FBSDev((float) battstate.getGroupcurr());
|
| | | sysState.setSysstate(battData.mTestData.upDevWorkState((float) battstate.getGroupcurr()));
|
| | | sysState.sysversion = battstate.getSysversion();
|
| | | sysState.dev_restest_count = battstate.getRestestcount();
|
| | | sysState.dev_res_test_state = battstate.getDev_Res_State(); //内阻测试
|
| | | //sysState.dev_restest_count = battstate.getRestestcount();
|
| | | //sysState.dev_res_test_state = battstate.getDev_Res_State(); //内阻测试
|
| | | //---------------------------------------------------------------------------//
|
| | | //--------------------- 然后读取内阻测试状态 ---------------------------------//
|
| | | //battData.mTestData.batt_res_test_state = sys_state.ResTestState;
|
| | | battData.mTestData.batt_res_test_state = battstate.getDev_Res_State();
|
| | | battData.mTestData.batt_res_test_cnt = battstate.getRestestcount();
|
| | | battData.setmRecordTime(new Date());
|
| | | battData.updata_BattRtSate_To_RamDb();
|