| | |
| | | private int readMonData_lock = 1; //单体数据返回
|
| | | private int readCharData_lock = 1; //充放电数据返回
|
| | |
|
| | | private int sendlock_state = 1; //发送数据返回
|
| | | private int sendlock_state_mon = 1; //单体发送数据
|
| | | private int sendlock_state_char = 1; //充放电发送数据
|
| | |
|
| | | public FGCD_SocketClient_Thread(MysqlConnPool m_ConnPool,BattData_RT_Array m_Data,Socket socket){
|
| | | this.socket = socket;
|
| | |
| | | if(DevReadCount %10 == 0 || readMonData) {
|
| | | //logger.info("获取单体数据");
|
| | | FGCD_Cmd tmp_cmd = new FGCD_Cmd(FGCD_ComBase.CMD_GETBATTDATA);
|
| | | tmp_cmd.Db3 = sendlock_state;
|
| | | tmp_cmd.Db3 = sendlock_state_mon;
|
| | | SocketComm(tmp_cmd, ByteBuffer.allocate(0));
|
| | | tmp_cmd = null;
|
| | | readMonData = false;
|
| | |
| | | if(DevReadCount %12 == 0 || readCharData) {
|
| | | //logger.info("获取放电数据");
|
| | | FGCD_Cmd tmp_cmd = new FGCD_Cmd(FGCD_ComBase.CMD_GETDISCHARGEDATA);
|
| | | tmp_cmd.Db1 = sendlock_state;
|
| | | tmp_cmd.Db1 = sendlock_state_char;
|
| | | SocketComm(tmp_cmd, ByteBuffer.allocate(0));
|
| | | tmp_cmd = null;
|
| | | readCharData = false;
|
| | |
| | | if(errcode > 0) {
|
| | | logger.error(this.getName(), "FGCD_Cmd.CMD:"+m_FBS_Cmd.CMD+"\t RTN:"+errcode);
|
| | | }
|
| | | sysState.dev_captest_stop_type = m_FBS_Cmd.Alarm;
|
| | | //sysState.dev_workstate = 2;
|
| | | //--------------------- 心跳包测试 ----------------------------------
|
| | | if(FGCD_ComBase.CMD_HEARTBEAT == 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);
|
| | | //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;
|
| | | sendlock_state_mon = 2; |
| | | readCharData = true;
|
| | | }else{
|
| | | sendlock_state = 1;
|
| | | sendlock_state_mon = 1;
|
| | | }
|
| | | //System.out.println("获取单体数据成功");
|
| | | getFBS9100MonVolData(vc_data, sysState);
|
| | |
| | | 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;
|
| | | }
|
| | | sendlock_state_char = 2; |
| | | readMonData = true;
|
| | | }else {
|
| | | sendlock_state_char = 1;
|
| | | }
|
| | |
|
| | | //读取当前设备的停止原因和当前工作状态
|
| | |
| | | logger.error(e.toString(), e);
|
| | | }
|
| | | int now_test_type = FGCD_ComBase.TestType_NULL;
|
| | | int test_stoptype = -1;
|
| | | //记录停止原因时数据处理
|
| | | if(sys_state.dev_captest_stop_type >= 0x80) {
|
| | |
|
| | | m_RTData[n].mTestData.test_stoptype = sys_state.dev_captest_stop_type - 0x80; //更新当前的停止原因 |
| | | test_stoptype = sys_state.dev_captest_stop_type - 0x80; //更新当前的停止原因 |
| | | }else {
|
| | | m_RTData[n].mTestData.test_stoptype = sys_state.dev_captest_stop_type;
|
| | | test_stoptype = sys_state.dev_captest_stop_type;
|
| | | }
|
| | | System.out.println("停止原因:"+m_RTData[n].mTestData.test_stoptype);
|
| | | //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)){
|
| | |
| | | int work_stat = m_RTData[n].mTestData.dev_FBS9100S_WorkState;
|
| | | int test_type = m_RTData[n].mTestData.dev_FBS9100S_TestType;
|
| | | //--------------------------------------------------------------------------//
|
| | | m_RTData[n].mTestData.setDevFBS9100S_WorkState(sys_state.dev_captest_stop_type, |
| | | m_RTData[n].mTestData.setDevFBS9100S_WorkState(test_stoptype, |
| | | now_test_type,
|
| | | now_dev_workstate);
|
| | | // }
|