/********************************* head of file SocketClient.java ***********************************/
|
package com.dev.btse.comm;
|
import java.io.IOException;
|
import java.io.InputStream;
|
import java.io.OutputStream;
|
import java.net.Socket;
|
import java.nio.ByteBuffer;
|
import java.nio.ByteOrder;
|
import java.nio.charset.Charset;
|
import java.util.Date;
|
|
import com.battmonitor.base.Com;
|
import com.battmonitor.data.BattData_RT;
|
import com.battmonitor.data.BattData_RT_Array;
|
import com.battmonitor.sql.MysqlConnPool;
|
import com.dev.btse.data.ComFn;
|
import com.dev.btse.data.Ecb_Aes;
|
import com.dev.btse.data.FBS9100S_NT_DCDC_Data;
|
import com.dev.btse.data.FBS9100S_NT_DCDC_State;
|
import com.dev.btse.data.FBS9100_CMCC_Power;
|
import com.dev.btse.data.FBS9100_Cmd;
|
import com.dev.btse.data.FBS9100_ComBase;
|
import com.dev.btse.data.FBS9100_ComBuf;
|
import com.dev.btse.data.FBS9100_DeviceInf;
|
import com.dev.btse.data.FBS9100_ParamBatt;
|
import com.dev.btse.data.FBS9100_ParamDischarge;
|
import com.dev.btse.data.FBS9100_ParamSystem;
|
import com.dev.btse.data.FBS9100_ResCapData;
|
import com.dev.btse.data.FBS9100_ResState;
|
import com.dev.btse.data.FBS9100_StatAndParam;
|
import com.dev.btse.data.FBS9100_SysState;
|
import com.dev.btse.data.FBS9100_VCData;
|
|
/****************************************************************************************************/
|
public class FBS9100S_SocketClient2 extends Thread
|
{
|
public static final int EveType_StationPOFF = 1;
|
public static final int EveType_StationXuHang = 2;
|
public static final int EveType_StationDiaoZhan = 5;
|
public static final int EveType_StationXuHangEnd = 7;
|
|
public static final int EveType_BTS_WorkState = 0;
|
public static final int EveType_BTS_SDCardErr = 11;
|
public static final int EveType_BTS_BG_OffLine = 12;
|
public static final int EveType_BTS_BG1_OffLine = 13;
|
public static final int EveType_BTS_BG2_OffLine = 14;
|
public static final int EveType_BTS_BG3_OffLine = 15;
|
public static final int EveType_BTS_BG4_OffLine = 16;
|
public static final int EveType_BTS_DCDC_Alarm = 20;
|
public static final int EveType_BTS_DCDC_RunMode = 21;
|
public static final int EveType_BTS_DCDC_RunStat = 22;
|
|
public static final int StationEventStart = 1;
|
public static final int StationEventEnd = 2;
|
|
private FBS9100_Cmd m_FBS_Cmd = new FBS9100_Cmd();
|
|
private FBS9100S_DFU m_FBS9100S_DFU = null;
|
|
private FBS9100S_FOD_Data m_FBS9100S_FOD_Data = null;
|
private FBS9100S_FOD_Param m_FBS9100S_FOD_Param = null;
|
|
private FBS9100_StatAndParam m_StatAndParam = null;
|
private BattData_RT[] m_RTData = new BattData_RT[FBS9100_ComBase.BattGroupCountMax];
|
|
private int comm_task_bg_cnt = 0;
|
private String comm_task_conn_time = "1980-01-01 01:01:01";
|
private int[] comm_task_bg_id = new int[FBS9100_ComBase.BattGroupCountMax];
|
private int[] comm_task_bg_dev_index = new int[FBS9100_ComBase.BattGroupCountMax];
|
|
private FBS9100S_NT_DCDC_State[] m_NT_DCDC_StateList = null;
|
private Socket socket = null;
|
private ByteBuffer bytebuffer_for_socket_RX = ByteBuffer.allocate(1500);
|
private int m_BattMonCount = 0;
|
private int m_BTSDevSoftWareVersion = 0;
|
private int m_BTSDevSoftType = 0;
|
|
private static final String TAG = "FBS9100S_Thread";
|
private MysqlConnPool m_ConnPool = null;
|
private boolean S_thread_run_flag = true;
|
private int rx_errcount_for_live_of_thread = 0; //ÓÃÓÚͳ¼ÆsocketͨÐÅÖеÄÒì³£´ÎÊýͳ¼Æ
|
private BattData_RT_Array AL_RTdata = null;
|
private int DevReadCount = 0;
|
private boolean ForceReadVidData = true;
|
private int DevReadCount_Rate = 1;
|
/*********************************************************************************************/
|
public FBS9100S_SocketClient2(MysqlConnPool m_cp, BattData_RT_Array AL_RTdata_t, Socket socket)
|
{
|
this.m_StatAndParam = new FBS9100_StatAndParam(socket.getInetAddress().getHostAddress(), 0);
|
this.socket = socket;
|
this.m_ConnPool = m_cp;
|
this.AL_RTdata = AL_RTdata_t;
|
/*
|
this.DevReadCount_Rate_CFG = comm_rate;
|
if(this.DevReadCount_Rate_CFG < 1) {
|
this.DevReadCount_Rate_CFG = 1;
|
}
|
|
if(this.DevReadCount_Rate_CFG > 60) {
|
this.DevReadCount_Rate_CFG = 60;
|
}
|
*/
|
setDevReadCountRateFromCFG();
|
//System.out.println("this.DevReadCount_Rate:" + this.DevReadCount_Rate);
|
}
|
|
public FBS9100S_SocketClient2() {
|
// TODO Auto-generated constructor stub
|
}
|
|
private int getBTSSoftwareVersion() {
|
return m_BTSDevSoftWareVersion;
|
}
|
|
private void setDevReadCountRateFromCFG() {
|
this.DevReadCount_Rate = this.AL_RTdata.m_AppCFG.getFbsDevCommRate();
|
// System.out.println("this.DevReadCount_Rate=" + this.DevReadCount_Rate);
|
}
|
|
/**
|
* ɸѡÉ豸idÊÇ·ñºÏ·¨
|
* @return
|
*/
|
private boolean initFBS9100SComm(BattData_RT_Array m_Data) {
|
boolean reg_in_st = false;
|
for(int cnt=0; cnt<3; cnt++) {
|
try {
|
Thread.sleep(1000);
|
comm_task_conn_time = Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms);
|
boolean f = SocketComm(FBS9100_ComBase.CMD_GetDeviceInf, ByteBuffer.allocate(0), socket);
|
if(((m_StatAndParam.dev_id/1000000) == 910) && f) {
|
for(int i=0; i<m_Data.getItemCount(); i++) {
|
if(m_Data.getItem(i).FBSDeviceId == m_StatAndParam.dev_id) {
|
if(m_Data.getItem(i).getDevRegCode().length() > 8) {
|
if(m_StatAndParam.dev_reg_code.equals(m_Data.getItem(i).getDevRegCode())) {
|
reg_in_st = true;
|
}
|
} else {
|
reg_in_st = true;
|
}
|
|
break;
|
}
|
}
|
|
if(false == reg_in_st) {
|
break;
|
}
|
/*
|
if(true == reg_in_st) {
|
System.out.println(this.getName() + " initFBS9100SComm() devid:" + m_StatAndParam.dev_id
|
+ ", Êý¾Ý¿âÖÐÆ¥Åädevid³É¹¦!!!!!, IP:" + socket.getInetAddress().getHostAddress()
|
+ " @ " + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
|
} else {
|
System.out.println(this.getName() + " initFBS9100SComm() devid:" + m_StatAndParam.dev_id
|
+ ", Êý¾Ý¿âÖÐδÕÒµ½Æ¥ÅäµÄdevid, IP:" + socket.getInetAddress().getHostAddress()
|
+ " @ " + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
|
break;
|
}
|
*/
|
} else {
|
/*System.err.println(this.getName() + " initFBS9100SComm() devid:" + m_StatAndParam.dev_id
|
+ ", ʶ±ð¶þÆÚ FBS9100SÉ豸ʧ°Ü @ "
|
+ Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
|
*/
|
reg_in_st = false;
|
}
|
|
if(true == reg_in_st) {
|
break;
|
}
|
} catch (InterruptedException e) {
|
e.printStackTrace();
|
}
|
}
|
|
if(false == reg_in_st) {
|
try {
|
socket.close();
|
} catch (IOException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
}
|
|
return reg_in_st;
|
}
|
/*********************************************************************************************/
|
public void run()
|
{
|
this.setName(TAG + ": " + this.getId());
|
//System.out.println("ʶ±ðµ±Ç°µÄ»úÆ÷ÊÇ·ñÊÇFBS9100SÉ豸");
|
S_thread_run_flag = initFBS9100SComm(AL_RTdata);
|
|
if(true == S_thread_run_flag) {
|
int test_cnt = FBS9100_Task_Thread_SQL.queryFBS9100_ResTestCnt(m_ConnPool, m_StatAndParam.dev_id);
|
m_StatAndParam.m_SysState.setResTestCnt(test_cnt);
|
m_StatAndParam.dev_comm_data_flowsum = FBS9100_Task_Thread_SQL.getFbs9100DataCommFlowSum_ById(m_ConnPool, m_StatAndParam);
|
m_StatAndParam.m_SysState.Station_State = FBS9100_Task_Thread_SQL.getFbs9100StationState_ById(m_ConnPool, m_StatAndParam);
|
m_StatAndParam.op_cmd_ack = FBS9100_ComBase.CMD_GetDischargeParmAck;
|
FBS9100_ParamDischarge tmp_dis_param = new FBS9100_ParamDischarge();
|
FBS9100_Task_Thread_SQL.updateFbs9100SetParamBydev_id(m_ConnPool, m_StatAndParam, tmp_dis_param);
|
tmp_dis_param = null;
|
m_FBS9100S_DFU = new FBS9100S_DFU(m_ConnPool, m_StatAndParam.dev_id);
|
|
m_NT_DCDC_StateList = new FBS9100S_NT_DCDC_State[FBS9100_ComBase.BTS_DCDC_CountMax];
|
for(int n=0; n<m_NT_DCDC_StateList.length; n++) {
|
m_NT_DCDC_StateList[n] = new FBS9100S_NT_DCDC_State();
|
}
|
FBS9100_Task_Thread_SQL.queryBTS_DCDC_AlarmStat(m_ConnPool, m_StatAndParam.dev_id, m_NT_DCDC_StateList);
|
|
int group_max = FBS9100_ComBase.BattGroupCountMax;
|
for(int n=0; n<group_max; n++) {
|
m_RTData[n] = null;
|
}
|
|
for(int n=0; n < AL_RTdata.getItemCount(); n++) {
|
BattData_RT bt_data = AL_RTdata.getItem(n);
|
if(bt_data.FBSDeviceId == m_StatAndParam.dev_id) {
|
int tmp_bg_index = bt_data.GroupIndexInFBSDevice % group_max;
|
m_RTData[tmp_bg_index] = bt_data;
|
comm_task_bg_dev_index[tmp_bg_index] = bt_data.GroupIndexInFBSDevice;
|
comm_task_bg_id[tmp_bg_index] = bt_data.BattGroupId;
|
m_BattMonCount += bt_data.MonCount;
|
comm_task_bg_cnt += 1;
|
m_StatAndParam.dev_station_id = bt_data.StationId;
|
}
|
}
|
|
m_FBS9100S_FOD_Data = new FBS9100S_FOD_Data();
|
m_FBS9100S_FOD_Param = new FBS9100S_FOD_Param();
|
|
FBS9100_Task_Thread_SQL.inseartOrUpdateFBS9100SFODState(m_ConnPool, m_FBS9100S_FOD_Data, m_StatAndParam.dev_id);
|
FBS9100_Task_Thread_SQL.inseartOrUpdateFBS9100SFODParam(m_ConnPool, m_FBS9100S_FOD_Param, m_StatAndParam.dev_id);
|
|
|
if(m_BattMonCount > (FBS9100_ComBase.MonomerCountMax-120)) {
|
m_BattMonCount = (FBS9100_ComBase.MonomerCountMax-120);
|
}
|
FBS9100_Task_Thread_SQL.deleteBTSCommTaskStateByDev_Id(m_ConnPool, m_StatAndParam);
|
FBS9100_Task_Thread_SQL.insertBTSCommTaskStateByDev_Id(
|
m_ConnPool, this.getId(), m_StatAndParam.dev_id, m_StatAndParam.dev_reg_code, comm_task_bg_cnt,
|
comm_task_bg_id[0], comm_task_bg_id[1], comm_task_bg_id[2], comm_task_bg_id[3],
|
comm_task_bg_dev_index[0], comm_task_bg_dev_index[1], comm_task_bg_dev_index[2], comm_task_bg_dev_index[3],
|
comm_task_conn_time, "1980-01-01 01:01:01", 0);
|
/*
|
System.out.println(this.getName() + " ¶þÆÚ "
|
+ " DevId: " + m_StatAndParam.dev_id + ", DevVer: " + m_StatAndParam.m_DevVersion
|
+ " - FBS9100S_SocketServer For GPRS Thread Started @ "
|
+ Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
|
*/
|
} else {
|
if(m_StatAndParam.dev_id > 1) {
|
FBS9100_Task_Thread_SQL.deleteBTSCommTaskStateByDev_Id(m_ConnPool, m_StatAndParam);
|
FBS9100_Task_Thread_SQL.insertBTSCommTaskStateByDev_Id(
|
m_ConnPool, this.getId(), m_StatAndParam.dev_id, m_StatAndParam.dev_reg_code, comm_task_bg_cnt,
|
comm_task_bg_id[0], comm_task_bg_id[1], comm_task_bg_id[2], comm_task_bg_id[3],
|
comm_task_bg_dev_index[0], comm_task_bg_dev_index[1], comm_task_bg_dev_index[2], comm_task_bg_dev_index[3],
|
comm_task_conn_time, Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms), 1);
|
}
|
|
return;
|
}
|
|
while(S_thread_run_flag) {
|
try {
|
/******************************** BTS³ä·Åµç¿ØÖƼ°Æä²ÎÊýÉèÖà **********************************/
|
if(m_StatAndParam != null) {
|
//¸ù¾Ý tb_fbs9100_setparam±íÖеÄÊý¾Ý¸øÖ¸¶¨É豸idµÄm_FBS_DiscParam²ÎÊýÉèÖÃÖµ
|
FBS9100_Task_Thread_SQL.queryFbs9100SetParamCmdBydev_id(m_ConnPool, m_StatAndParam);
|
}
|
if(FBS9100_ComBase.CMD_NULL == m_StatAndParam.op_cmd_ack) {
|
if(FBS9100_ComBase.CMD_GetDischargeParm == m_StatAndParam.op_cmd) {
|
//System.out.println("¶ÁÈ¡·Åµç²ÎÊý");
|
SocketComm(FBS9100_ComBase.CMD_GetDischargeParm, ByteBuffer.allocate(0), socket);
|
} else {
|
if(FBS9100_ComBase.CMD_SetDischargeParm == m_StatAndParam.op_cmd) {
|
FBS9100_ParamDischarge tmp_set_pm = new FBS9100_ParamDischarge();
|
FBS9100_Task_Thread_SQL.queryFbs9100SetParamBydev_id(m_ConnPool, m_StatAndParam, tmp_set_pm);
|
//System.out.println("ÉèÖ÷ŵç²ÎÊý---------------------------------------------");
|
SocketComm(FBS9100_ComBase.CMD_SetDischargeParm, tmp_set_pm.getByteBuffer(), socket);
|
tmp_set_pm = null;
|
} else if(FBS9100_ComBase.CMD_Start == m_StatAndParam.op_cmd) {
|
//System.out.println("Æô¶¯²âÊÔ");
|
FBS9100_ParamDischarge tmp_set_pm = new FBS9100_ParamDischarge();
|
FBS9100_Task_Thread_SQL.queryFbs9100SetParamBydev_id(m_ConnPool, m_StatAndParam, tmp_set_pm);
|
int cmd = FBS9100_ComBase.CMD_StartDischarge; //Æô¶¯·Åµç²âÊÔ
|
if(cmd != tmp_set_pm.test_cmd) {
|
cmd = FBS9100_ComBase.CMD_StartResDischarge; //Æô¶¯ÄÚ×è²âÊÔ
|
}
|
SocketComm(cmd, ByteBuffer.allocate(0), socket);
|
tmp_set_pm = null;
|
} else if(FBS9100_ComBase.CMD_Stop == m_StatAndParam.op_cmd) {
|
//System.out.println("Í£Ö¹²âÊÔ");
|
SocketComm(FBS9100_ComBase.CMD_Stop, ByteBuffer.allocate(0), socket);
|
} else if(FBS9100_ComBase.CMD_ResetSystem == m_StatAndParam.op_cmd) {
|
//System.out.println("ÖØÆôBTSÉ豸");
|
SocketComm(FBS9100_ComBase.CMD_ResetSystem, ByteBuffer.allocate(0), socket);
|
} else if(FBS9100_ComBase.CMD_GetDeviceTaskInf == m_StatAndParam.op_cmd) {
|
//System.out.println("ÖØÆôBTSÉ豸");
|
SocketComm(FBS9100_ComBase.CMD_GetDeviceTaskInf, ByteBuffer.allocate(0), socket);
|
}
|
}
|
}
|
/******************************** BTS³ä·Åµç¿ØÖƼ°Æä²ÎÊýÉèÖà **********************************/
|
sleep(20);
|
/******************************** BTSÉ豸ϵͳ²ÎÊýÉèÖà ***************************************/
|
if(m_StatAndParam != null) {
|
//¸ù¾Ý tb_fbs9100_setparam±íÖеÄÊý¾Ý¸øÖ¸¶¨É豸idµÄm_FBS_DiscParam²ÎÊýÉèÖÃÖµ
|
FBS9100_Task_Thread_SQL.queryFbs9100SysParamCmdBydev_id(m_ConnPool, m_StatAndParam);
|
if(FBS9100_ComBase.CMD_NULL == m_StatAndParam.op_cmd_ack) {
|
if(FBS9100_ComBase.CMD_GetSYSSetParam == m_StatAndParam.op_cmd) {
|
//System.out.println("¶ÁȡϵͳÉèÖòÎÊý");
|
SocketComm(FBS9100_ComBase.CMD_GetSYSSetParam, ByteBuffer.allocate(0), socket);
|
} else if(FBS9100_ComBase.CMD_SetSYSSetParam == m_StatAndParam.op_cmd) {
|
FBS9100_ParamSystem tmp_sys_param = new FBS9100_ParamSystem();
|
FBS9100_Task_Thread_SQL.queryFbs9100SysParamBydev_id(m_ConnPool, m_StatAndParam, tmp_sys_param);
|
//System.out.println("ÉèÖÃϵͳÉèÖòÎÊý");
|
SocketComm(FBS9100_ComBase.CMD_SetSYSSetParam, tmp_sys_param.getByteBuffer(), socket);
|
tmp_sys_param = null;
|
}
|
}
|
}
|
/******************************** BTSÉ豸ϵͳ²ÎÊýÉèÖà ***************************************/
|
sleep(20);
|
/******************************** BTSÉ豸µç³Ø²ÎÊýÉèÖà ***************************************/
|
if(m_StatAndParam != null) {
|
//¸ù¾Ý tb_fbs9100_setparam±íÖеÄÊý¾Ý¸øÖ¸¶¨É豸idµÄm_FBS_DiscParam²ÎÊýÉèÖÃÖµ
|
FBS9100_Task_Thread_SQL.queryFbs9100BattParamCmdBydev_id(m_ConnPool, m_StatAndParam);
|
if(FBS9100_ComBase.CMD_NULL == m_StatAndParam.op_cmd_ack) {
|
if(FBS9100_ComBase.CMD_GetBattParam == m_StatAndParam.op_cmd) {
|
//System.out.println("¶ÁÈ¡µç³Ø²ÎÊý");
|
SocketComm( FBS9100_ComBase.CMD_GetBattParam, ByteBuffer.allocate(0), socket);
|
} else if(FBS9100_ComBase.CMD_SetBattParam == m_StatAndParam.op_cmd) {
|
FBS9100_ParamBatt tmp_batt_pm = new FBS9100_ParamBatt();
|
FBS9100_Task_Thread_SQL.queryFbs9100BattParamBydev_id(m_ConnPool, m_StatAndParam, tmp_batt_pm);
|
//System.out.println("ÉèÖÃµç³Ø²ÎÊý");
|
SocketComm(FBS9100_ComBase.CMD_SetBattParam, tmp_batt_pm.getByteBuffer(), socket);
|
tmp_batt_pm = null;
|
}
|
}
|
}
|
/******************************** BTSÉ豸µç³Ø²ÎÊýÉèÖà ***************************************/
|
sleep(20);
|
/******************************** BTS GPRSÄ£¿éÐÅÏ¢²éѯ **********************************/
|
if(m_StatAndParam != null) {
|
int cmd_gprs = FBS9100_Task_Thread_SQL.queryBTSGPRSCmdBydev_id(m_ConnPool, m_StatAndParam);
|
if(FBS9100_ComBase.CMD_NULL == m_StatAndParam.op_cmd_ack) {
|
if(FBS9100_ComBase.CMD_ReadGPRSCSQ == cmd_gprs) {
|
String gprs_cmd = FBS9100_Task_Thread_SQL.queryBTSGPRS_ATCmd_Bydev_id(m_ConnPool, m_StatAndParam);
|
System.out.println(this.getName() + " DevId: " + m_StatAndParam.dev_id
|
+ " ¶ÁÈ¡GPRSÄ£¿é²ÎÊý:" + gprs_cmd + Com.getNowTimeWithAt());
|
ByteBuffer gprs_bf = ByteBuffer.allocate(gprs_cmd.length()+10);
|
gprs_bf.put(gprs_cmd.getBytes());
|
gprs_bf.put((byte) 0x0D);
|
gprs_bf.put((byte) 0x0A);
|
gprs_bf.flip();
|
if(false == SocketComm(FBS9100_ComBase.CMD_ReadGPRSCSQ, gprs_bf, socket)) {
|
m_StatAndParam.m_GPRS_inf = "comm eer";
|
System.out.println(this.getName() + " DevId: " + m_StatAndParam.dev_id
|
+ " ¶ÁÈ¡GPRSÄ£¿é²ÎÊýʧ°Ü." + Com.getNowTimeWithAt());
|
} else {
|
System.out.println(this.getName() + " DevId: " + m_StatAndParam.dev_id
|
+ " ¶ÁÈ¡GPRSÄ£¿é²ÎÊý³É¹¦:" + m_StatAndParam.m_GPRS_inf + Com.getNowTimeWithAt());
|
}
|
|
m_StatAndParam.op_cmd_ack = FBS9100_ComBase.CMD_ReadGPRSCSQAck;
|
FBS9100_Task_Thread_SQL.updateBTSGPRSSateBydev_id(m_ConnPool, m_StatAndParam, gprs_cmd, m_StatAndParam.m_GPRS_inf);
|
}
|
}
|
}
|
/******************************** BTS GPRSÄ£¿éÐÅÏ¢²éѯ **********************************/
|
//-----------------------------------------------------------------------------------//
|
sleep(20);
|
//-----------------------------------------------------------------------------------//
|
DevReadCount += 1;
|
//-----------------------------------------------------------------------------------//
|
|
if((true == ForceReadVidData) || (0 == (DevReadCount%(6*DevReadCount_Rate)))) {
|
//System.out.println("FBS9100_ComBase.CMD_GetVIData:" + ForceReadVidData);
|
if(true == SocketComm(FBS9100_ComBase.CMD_GetVIData, ByteBuffer.allocate(0), socket)) {
|
ForceReadVidData = false;
|
}
|
|
/*
|
if(this.getBTSSoftwareVersion() >= 37) {
|
Calendar cad = Calendar.getInstance();
|
long t_pc = cad.getTimeInMillis()/1000;
|
long t_dev = m_StatAndParam.m_FBS_VCData.m_SysState.DTime.getTimeInMillis()/1000;
|
|
if(Math.abs(t_pc - t_dev) > 30) {
|
sleep(500);
|
SocketComm(FBS9100_ComBase.CMD_SetDateTime,
|
m_StatAndParam.m_FBS_VCData.m_SysState.getDateTimeByteBuffer(), socket);
|
}
|
}
|
*/
|
} else {
|
if(DevReadCount_Rate > 1) {
|
if(0 == (DevReadCount%(5*(DevReadCount_Rate/10+1)))) {
|
//System.out.println("FBS9100_ComBase.CMD_GetState");
|
if(true == SocketComm(FBS9100_ComBase.CMD_GetState, ByteBuffer.allocate(0), socket)){
|
ForceReadVidData = m_StatAndParam.m_SysState.BG_HaveNewData;
|
}
|
|
if (FBS9100_SysState.SYS_STATE_STOPPED != m_StatAndParam.m_SysState.WorkState) {
|
DevReadCount_Rate = 1;
|
}
|
}
|
}
|
}
|
//-----------------------------------------------------------------------------------//
|
if(0 == (DevReadCount%25)) {
|
FBS9100_Task_Thread_SQL.updateBTSCommTaskStateRunTimeByThread_Id(m_ConnPool, this.getId());
|
}
|
//-----------------------------------------------------------------------------------//
|
if(0 == (DevReadCount%50)) {
|
if(true == m_FBS9100S_DFU.check_If_DFU_Is_Eanbled()) {
|
boolean res_t = m_FBS9100S_DFU.runDFU(socket);
|
if(true == res_t) {
|
if((true == m_FBS9100S_DFU.DFU_EN)
|
&& (FBS9100S_DFU_SQL.DFU_STATE_CHECK_OK == m_FBS9100S_DFU.DFU_WR_State)) {
|
if(true == SocketComm(FBS9100_ComBase.CMD_SystemUpdate, ByteBuffer.allocate(0), socket)) {
|
m_FBS9100S_DFU.DFU_EN = false;
|
m_FBS9100S_DFU.DFU_WR_State = FBS9100S_DFU_SQL.DFU_STATE_NULL;
|
FBS9100S_DFU_SQL.updateFbs9100S_DFU_StatByDev_Id(m_ConnPool, m_StatAndParam.dev_id, m_FBS9100S_DFU);
|
//System.out.println(String.format("DevId:%d, DFU Done, FBS9100S_DFU_SQL.updateFbs9100S_DFU_StatByDev_Id",
|
// m_StatAndParam.dev_id));
|
//------- Ö÷¶¯Í˳öµ±Ç°Á¬½Ó,ÒªÇóÔ¶³ÌFBS9100SÖØÐÂÁ¬½Ó½øÀ´½ø¶ø¶ÁÈ¡É豸°æ±¾ºÅ ------
|
S_thread_run_flag = false;
|
//--------------------------------------------------------------------------
|
}
|
}
|
}
|
sleep(20);
|
}
|
}
|
|
if(FBS9100_ComBase.BTSE_DevType_TieTa == m_BTSDevSoftType) {
|
if(1 == DevReadCount_Rate) {
|
if(0 == (DevReadCount%(9*DevReadCount_Rate))) {
|
SocketComm(FBS9100_ComBase.CMD_Get_DCDC_Data, ByteBuffer.allocate(0) , socket);
|
}
|
}
|
if(DevReadCount >= (50*DevReadCount_Rate)) {
|
DevReadCount = 0;
|
if(FBS9100_SysState.SYS_STATE_STOPPED == m_StatAndParam.m_SysState.WorkState) {
|
setDevReadCountRateFromCFG();
|
//DevReadCount_Rate = DevReadCount_Rate_CFG;
|
}
|
}
|
} else {
|
//--------------------------- ¶ÁÈ¡ÄÚ×è²âÊÔ״̬ -------------------------------------//
|
if(this.getBTSSoftwareVersion() >= 38) {
|
if(0 == (DevReadCount%(19*DevReadCount_Rate))) {
|
SocketComm(FBS9100_ComBase.CMD_GetResTestState, ByteBuffer.allocate(0), socket);
|
}
|
}
|
//--------------------------- ¶ÁÈ¡µ¥ÌåζÈÊý¾Ý --------------------------------------//
|
if(0 == (DevReadCount%(29*DevReadCount_Rate))) {
|
SocketComm(FBS9100_ComBase.CMD_GetMonomerTMP, ByteBuffer.allocate(0), socket);
|
}
|
//--------------------------- ¶ÁÈ¡µ¥Ìå¾ùºâµçÁ÷Êý¾Ý --------------------------------------//
|
if(0 == (DevReadCount%(29*DevReadCount_Rate))) {
|
SocketComm(FBS9100_ComBase.CMD_GetMonomerFODJHcurr, ByteBuffer.allocate(0), socket);
|
}
|
//--------------------------- ¶ÁÈ¡µ¥ÌåÄÚ×èÊý¾Ý --------------------------------------//
|
if(0 == (DevReadCount%(39*DevReadCount_Rate))) {
|
SocketComm(FBS9100_ComBase.CMD_GetMonomerRES, ByteBuffer.allocate(0), socket);
|
}
|
//---------------------------------------------------------------------------------//
|
if(DevReadCount >= (50*DevReadCount_Rate)) {
|
DevReadCount = 0;
|
if(FBS9100_SysState.SYS_STATE_STOPPED == m_StatAndParam.m_SysState.WorkState) {
|
setDevReadCountRateFromCFG();
|
//DevReadCount_Rate = DevReadCount_Rate_CFG;
|
}
|
}
|
//---------------------------------------------------------------------------------//
|
}
|
//---------------------------------------------------------------------------------//
|
//--------------------------- ¶ÁÈ¡³ýÁòÄ£¿éµÄÔËÐÐ״̬ --------------------------------------//
|
if(0 == (DevReadCount%(2*DevReadCount_Rate))) {
|
SocketComm(FBS9100_ComBase.CMD_ReadFodValue, ByteBuffer.allocate(0) , socket);
|
if(m_FBS9100S_FOD_Data != null){
|
FBS9100_Task_Thread_SQL.inseartOrUpdateFBS9100SFODState(m_ConnPool,m_FBS9100S_FOD_Data,m_StatAndParam.dev_id);
|
}
|
}
|
|
//---------------------------------------------------------------------------------------//
|
//--------------------------- ¼à²â³ýÁòÄ£¿éµÄÔËÐвÎÊý--------------------------------------//
|
FBS9100_Task_Thread_SQL.queryFBS9100SFODParam(m_ConnPool,m_FBS9100S_FOD_Param,m_StatAndParam.dev_id);
|
if((m_FBS9100S_FOD_Param.op_cmd == FBS9100_ComBase.CMD_ReadFodParam) || //¶ÁÈ¡³ýÁò²ÎÊý
|
(m_FBS9100S_FOD_Param.op_cmd == FBS9100_ComBase.CMD_Stop_FOD_test) || //Í£Ö¹³ýÁò/Ñø»¤
|
(m_FBS9100S_FOD_Param.op_cmd == FBS9100_ComBase.CMD_WriteFodParam) || //ÉèÖóýÁò²ÎÊý
|
(m_FBS9100S_FOD_Param.op_cmd == FBS9100_ComBase.CMD_Start_FODCL_test) || //Æô¶¯³ýÁò
|
(m_FBS9100S_FOD_Param.op_cmd == FBS9100_ComBase.CMD_Start_FODYH_test) //Æô¶¯Ñø»¤
|
){
|
|
if(m_FBS9100S_FOD_Param.op_cmd == FBS9100_ComBase.CMD_ReadFodParam){
|
if(true == SocketComm( FBS9100_ComBase.CMD_ReadFodParam , ByteBuffer.allocate(0),socket)){
|
//¶ÁÈ¡³ýÁò²ÎÊý³É¹¦
|
m_FBS9100S_FOD_Param.op_cmd = FBS9100_ComBase.CMD__ReadFodParamACK;
|
|
FBS9100_Task_Thread_SQL.inseartOrUpdateFBS9100SFODParam(m_ConnPool,m_FBS9100S_FOD_Param,m_StatAndParam.dev_id);
|
}
|
}
|
|
if(m_FBS9100S_FOD_Param.op_cmd == FBS9100_ComBase.CMD_Stop_FOD_test){
|
if(true == SocketComm( FBS9100_ComBase.CMD_Stop_FOD_test , m_FBS9100S_FOD_Param.getControlByteBuffer(),socket)){
|
//Í£Ö¹³ýÁò/Ñø»¤³É¹¦
|
m_FBS9100S_FOD_Param.op_cmd = FBS9100_ComBase.CMD_Stop_FOD_testACK;
|
}
|
}
|
|
if(m_FBS9100S_FOD_Param.op_cmd == FBS9100_ComBase.CMD_WriteFodParam){
|
if(true == SocketComm( FBS9100_ComBase.CMD_WriteFodParam ,m_FBS9100S_FOD_Param.getByteBuffer() ,socket)){
|
//ÉèÖÃFODµÄ²ÎÊý³É¹¦
|
m_FBS9100S_FOD_Param.op_cmd = FBS9100_ComBase.CMD_WriteFodParamACK;
|
}
|
}
|
if(m_FBS9100S_FOD_Param.op_cmd == FBS9100_ComBase.CMD_Start_FODCL_test){
|
if(true == SocketComm( FBS9100_ComBase.CMD_Start_FODCL_test ,m_FBS9100S_FOD_Param.getControlByteBuffer() ,socket)){
|
//Æô¶¯³ýÁò
|
System.err.println("Æô¶¯³ýÁò³É¹¦");
|
m_FBS9100S_FOD_Param.op_cmd = FBS9100_ComBase.CMD_Start_FODCL_testACK;
|
}
|
}
|
if(m_FBS9100S_FOD_Param.op_cmd == FBS9100_ComBase.CMD_Start_FODYH_test){
|
if(true == SocketComm( FBS9100_ComBase.CMD_Start_FODYH_test ,m_FBS9100S_FOD_Param.getControlByteBuffer() ,socket)){
|
//Æô¶¯Ñø»¤
|
m_FBS9100S_FOD_Param.op_cmd = FBS9100_ComBase.CMD_Start_FODYH_testACK;
|
}
|
}
|
|
FBS9100_Task_Thread_SQL.updateFbs9100FODParamCmdBydev_id(m_ConnPool,m_FBS9100S_FOD_Param,m_StatAndParam.dev_id);
|
}
|
|
|
sleep(100);
|
//---------------------------------------------------------------------------------//
|
} catch (InterruptedException e) {
|
e.printStackTrace();
|
try {
|
sleep(2000);
|
} catch (InterruptedException e1) {
|
e1.printStackTrace();
|
}
|
}
|
}
|
|
try {
|
if(socket != null) {
|
socket.close();
|
}
|
FBS9100_Task_Thread_SQL.deleteBTSCommTaskStateByThread_Id(m_ConnPool, this.getId());
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
/*
|
System.out.println(this.getName()
|
+ " ¶þÆÚ "
|
+ " DevId: " + m_StatAndParam.dev_id + ", DevVer: " + m_StatAndParam.m_DevVersion
|
+ " Ï߳̽áÊø: Error Count: "
|
+ m_StatAndParam.m_FBS_VCData.m_SysState.ErrCommCount
|
+ Com.getNowTimeWithAt());
|
*/
|
}
|
/*********************************************************************************************/
|
/*********************************************************************************************/
|
|
/**
|
* ÏòÖ¸¶¨µÄsocketͨµÀ·¢ËÍÊý¾Ý£¬ÒÔ¼°½ÓÊÕÊý¾Ý
|
* @param cmd
|
* @param bf
|
* @return
|
* @throws InterruptedException
|
*/
|
|
public boolean SocketComm(int cmd, ByteBuffer bf, Socket socket) throws InterruptedException
|
{
|
boolean res_t = false;
|
try {
|
socket.setSoTimeout(3000);
|
if(S_thread_run_flag) {
|
InputStream in = socket.getInputStream();
|
OutputStream out = socket.getOutputStream();
|
//----------------- clear rx buff for tcp resend packet ----------------//
|
byte[] rx_buf_t = new byte[1024];
|
/*
|
int buf_clr_read_count = 0;
|
while(in.available() > 0) {
|
in.read(rx_buf_t);
|
if(buf_clr_read_count >= 10) {
|
S_thread_run_flag = false;
|
System.err.println(this.getName()
|
+ " dev_id: " + m_StatAndParam.dev_id
|
+ " socket rx_buff clear error......");
|
res_t = false;
|
return res_t;
|
}
|
}*/
|
//----------------------------------------------------------------------//
|
bytebuffer_for_socket_RX.order(ByteOrder.LITTLE_ENDIAN);
|
bytebuffer_for_socket_RX.clear();
|
//--------------------- socket write -----------------------------------//
|
byte[] cipher_tx_t = null;
|
Ecb_Aes my_aes = new Ecb_Aes();
|
if(cmd == FBS9100_ComBase.CMD_ReadGPRSCSQ) {
|
cipher_tx_t = new byte[bf.limit()];
|
bf.get(cipher_tx_t);
|
} else {
|
boolean aes_en = true;
|
byte[] plain_tx_t = makeCommBuf(cmd, bf, aes_en);
|
|
cipher_tx_t = new byte[plain_tx_t.length];
|
my_aes.ecb_encrypt(plain_tx_t, cipher_tx_t, plain_tx_t.length);
|
//cipher_tx_t = plain_tx_t; //È¡Ïû¼ÓÃÜ****
|
}
|
|
//=====================================================================//
|
Date d1 = new Date();
|
int rx_read_time_out = 0;
|
out.write(cipher_tx_t);
|
out.flush();
|
m_StatAndParam.makeDevCommDataFlowSum(cipher_tx_t.length);
|
|
while(true) {
|
if(in.available() > 0) {
|
rx_read_time_out = 0;
|
int rx_len_t = in.read(rx_buf_t);
|
if((bytebuffer_for_socket_RX.position()+rx_len_t)
|
< (bytebuffer_for_socket_RX.capacity()-1)) {
|
bytebuffer_for_socket_RX.put(rx_buf_t, 0, rx_len_t);
|
}
|
} else {
|
rx_read_time_out += 1;
|
if((bytebuffer_for_socket_RX.position()>8) && (rx_read_time_out>10)){
|
res_t = true;
|
break;
|
}
|
|
if(rx_read_time_out > 220) {
|
break;
|
}
|
}
|
Thread.sleep(10);
|
}
|
|
bytebuffer_for_socket_RX.flip();
|
m_StatAndParam.makeDevCommDataFlowSum(bytebuffer_for_socket_RX.limit());
|
|
Date d2 = new Date();
|
long comm_tms = (d2.getTime() - d1.getTime());
|
if(comm_tms < 200) {
|
Thread.sleep(200 - comm_tms);
|
}
|
/*
|
System.out.println(this.getName()
|
+ " dev_id:" + m_StatAndParam.dev_id
|
+ " cmd:" + cmd
|
+ " d2-d1:" + (comm_tms)+"ms"
|
+ " rx_len:" + bytebuffer_for_socket_RX.limit()
|
//+ " tx_count:" + m_StatAndParam.m_FBS_VCData.m_SysState.CommCount
|
//+ " rx_err_sum:" + m_StatAndParam.m_FBS_VCData.m_SysState.ErrCommCount
|
//+ " rx_err_count:" + rx_errcount_for_live_of_thread
|
+ Com.getNowTimeWithAt());
|
*/
|
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(cipher_buf);
|
//System.out.println(ComFn.bytesToHexString(cipher_buf, cipher_buf.length));
|
if(cmd == FBS9100_ComBase.CMD_ReadGPRSCSQ) {
|
if(bytebuffer_for_socket_RX.limit() > 2) {
|
rx_errcount_for_live_of_thread = 0;
|
res_t = true;
|
|
m_StatAndParam.m_GPRS_inf = new String(cipher_buf);
|
//System.out.println("this.getName() + " + " DevId: " + m_StatAndParam.dev_id
|
// + " GPRS RF Level:" + m_StatAndParam.m_GPRS_CSQ);
|
}
|
} else {
|
my_aes.ecb_decrypt(cipher_buf, plain_buf, cipher_buf.length);
|
//plain_buf = cipher_buf;
|
if((cipher_buf.length > 8) && (true == getDataFromCommBuf(plain_buf))) {
|
m_StatAndParam.m_SysState.setCommCountInc();
|
rx_errcount_for_live_of_thread = 0;
|
res_t = true;
|
} else {
|
res_t = false;
|
rx_errcount_for_live_of_thread++;
|
m_StatAndParam.m_SysState.setErrCommCountInc(bytebuffer_for_socket_RX.limit());
|
}
|
}
|
} else {
|
S_thread_run_flag = false;
|
m_StatAndParam.m_SysState.setErrCommCountInc(0);
|
}
|
} catch (IOException e) {
|
//e.printStackTrace();
|
S_thread_run_flag = false;
|
m_StatAndParam.m_SysState.setErrCommCountInc(0);
|
} finally {
|
//ÈôÔÚͨÐŵĹý³ÌÖгöÏÖ5´ÎͨÐÅÒì³£¹Ø±ÕÁ¬½Ó
|
if(rx_errcount_for_live_of_thread >= 5){
|
S_thread_run_flag = false;
|
}
|
}
|
return res_t;
|
}
|
/*********************************************************************************************/
|
/*********************************************************************************************/
|
public byte[] makeCommBuf(final int cmd, ByteBuffer bf, boolean aes_en)
|
{
|
ByteBuffer bbf = FBS9100_ComBuf.makeFbs9100CommBuf(0xFF, cmd, bf, aes_en);
|
byte byte_rest[] = new byte[bbf.limit()];
|
bbf.get(byte_rest);
|
return byte_rest;
|
}
|
/*********************************************************************************************/
|
private void resetNTDcDcData()
|
{
|
for(int n=0; n<m_NT_DCDC_StateList.length; n++) {
|
m_NT_DCDC_StateList[n].ModeSetComm = 0;
|
m_NT_DCDC_StateList[n].RunSetComm = 0;
|
}
|
FBS9100_Task_Thread_SQL.resetFbs9100S_DCDC_Data_ByDev_Id(m_ConnPool, m_StatAndParam.dev_id);
|
}
|
/*********************************************************************************************/
|
private void getNTDcDcDataFromCommBuf(ByteBuffer bf)
|
{
|
boolean read_res = false;
|
|
FBS9100S_NT_DCDC_Data[] al_DCDC_Data = new FBS9100S_NT_DCDC_Data[FBS9100_ComBase.BTS_DCDC_CountMax];
|
for(int n=0; n<al_DCDC_Data.length; n++) {
|
al_DCDC_Data[n] = new FBS9100S_NT_DCDC_Data();
|
}
|
|
for(int n=0; n<al_DCDC_Data.length; n++) {
|
if(true == al_DCDC_Data[n].putByteBuffer(bf)) {
|
read_res = true;
|
} else {
|
break;
|
}
|
}
|
if(true == read_res) {
|
for(int n=0; n<FBS9100_ComBase.BattGroupCountMax; n++) {
|
if(null != m_RTData[n]) {
|
m_RTData[n].m_DCDC_Data.copyData(al_DCDC_Data[0]);
|
}
|
}
|
|
if(FBS9100_ComBase.SYS_STATE_STOPPED == m_StatAndParam.m_SysState.WorkState) {
|
resetNTDcDcData();
|
}
|
|
if(null != m_StatAndParam.m_SysState) {
|
if(FBS9100_SysState.SYS_STATE_STOPPED != m_StatAndParam.m_SysState.WorkState) {
|
FBS9100_Task_Thread_SQL.updateFbs9100S_DCDC_Data_ByDev_Id(m_ConnPool,
|
al_DCDC_Data,
|
m_StatAndParam.dev_id);
|
|
for(int n=0; n<al_DCDC_Data.length; n++) {
|
if(n >= m_NT_DCDC_StateList.length) {
|
break;
|
}
|
if(al_DCDC_Data[n].SMR_Alarm1 != m_NT_DCDC_StateList[n].SMR_Alarm1) {
|
FBS9100_Task_Thread_SQL.insertFBS_EventToTable(m_ConnPool, m_StatAndParam.dev_id,
|
FBS9100S_SocketClient2.EveType_BTS_DCDC_Alarm, n+1,
|
m_NT_DCDC_StateList[n].SMR_Alarm1, al_DCDC_Data[n].SMR_Alarm1,
|
m_StatAndParam.m_SysState.WorkState);
|
m_NT_DCDC_StateList[n].SMR_Alarm1 = al_DCDC_Data[n].SMR_Alarm1;
|
}
|
if(al_DCDC_Data[n].ModeSetComm != m_NT_DCDC_StateList[n].ModeSetComm) {
|
FBS9100_Task_Thread_SQL.insertFBS_EventToTable(m_ConnPool, m_StatAndParam.dev_id,
|
FBS9100S_SocketClient2.EveType_BTS_DCDC_RunMode, n+1,
|
m_NT_DCDC_StateList[n].ModeSetComm, al_DCDC_Data[n].ModeSetComm,
|
m_StatAndParam.m_SysState.WorkState);
|
m_NT_DCDC_StateList[n].ModeSetComm = al_DCDC_Data[n].ModeSetComm;
|
}
|
if(al_DCDC_Data[n].RunSetComm != m_NT_DCDC_StateList[n].RunSetComm) {
|
FBS9100_Task_Thread_SQL.insertFBS_EventToTable(m_ConnPool, m_StatAndParam.dev_id,
|
FBS9100S_SocketClient2.EveType_BTS_DCDC_RunStat, n+1,
|
m_NT_DCDC_StateList[n].RunSetComm, al_DCDC_Data[n].RunSetComm,
|
m_StatAndParam.m_SysState.WorkState);
|
m_NT_DCDC_StateList[n].RunSetComm = al_DCDC_Data[n].RunSetComm;
|
}
|
}
|
}
|
}
|
}
|
|
for(int n=0; n<al_DCDC_Data.length; n++) {
|
al_DCDC_Data[n] = null;
|
}
|
}
|
/*********************************************************************************************/
|
private boolean getDataFromCommBuf(final byte[] bytes)
|
{
|
boolean isSuccess = false;
|
ByteBuffer bf = ByteBuffer.allocate(bytes.length);
|
bf.order(ByteOrder.LITTLE_ENDIAN);
|
bf.put(bytes);
|
bf.flip();
|
|
if(true == m_FBS_Cmd.putByteBuffer(bf))
|
{
|
if((FBS9100_ComBase.CMD_StartDischarge == m_FBS_Cmd.CMD)
|
||(FBS9100_ComBase.CMD_StartResDischarge == m_FBS_Cmd.CMD)
|
||(FBS9100_ComBase.CMD_StartCharge == m_FBS_Cmd.CMD)
|
||(FBS9100_ComBase.CMD_Stop == m_FBS_Cmd.CMD)
|
||(FBS9100_ComBase.CMD_ResetSystem == m_FBS_Cmd.CMD))
|
{
|
if((FBS9100_ComBase.CMD_StartDischarge == m_FBS_Cmd.CMD)
|
||(FBS9100_ComBase.CMD_StartResDischarge == m_FBS_Cmd.CMD)
|
||(FBS9100_ComBase.CMD_StartCharge == m_FBS_Cmd.CMD)) {
|
m_StatAndParam.op_cmd_ack = FBS9100_ComBase.CMD_StartAck;
|
}
|
if(FBS9100_ComBase.CMD_Stop == m_FBS_Cmd.CMD) {
|
m_StatAndParam.op_cmd_ack = FBS9100_ComBase.CMD_StopAck;
|
}
|
if(FBS9100_ComBase.CMD_ResetSystem == m_FBS_Cmd.CMD) {
|
m_StatAndParam.op_cmd_ack = FBS9100_ComBase.CMD_ResetSystemAck;
|
}
|
FBS9100_Task_Thread_SQL.updateFbs9100SetParamCmdAckBydev_id(m_ConnPool, m_StatAndParam);
|
isSuccess = true;
|
}
|
//------------------- ¶ÁÈ¡FBS9100״̬Êý¾Ý --------------------
|
else if(FBS9100_ComBase.CMD_GetState == m_FBS_Cmd.CMD)
|
{
|
if(true == m_StatAndParam.m_SysState.putByteBuffer(bf)) {
|
updateBTSStationState(m_StatAndParam.m_SysState);
|
FBS9100_Task_Thread_SQL.updateFbs9100StateOnlyByDev_Id(m_ConnPool, m_StatAndParam);
|
isSuccess = true;
|
}
|
}
|
//------------------- ¶ÁÈ¡FBS9100µçѹµçÁ÷Êý¾Ý --------------------
|
else if(FBS9100_ComBase.CMD_GetVIData == m_FBS_Cmd.CMD)
|
{
|
if(true == m_StatAndParam.m_SysState.putByteBuffer(bf))
|
{
|
FBS9100_VCData vc_data = new FBS9100_VCData();
|
if(true == vc_data.putByteBuffer(bf, m_BTSDevSoftType, this.getBTSSoftwareVersion()))
|
{
|
updateBTSStationState(m_StatAndParam.m_SysState);
|
getFBS9100MonVolData(vc_data, m_StatAndParam.m_SysState);
|
isSuccess = true;
|
if(FBS9100_ComBase.BTSE_DevType_TieTa != m_BTSDevSoftType) {
|
getNTDcDcDataFromCommBuf(bf);
|
}
|
|
FBS9100_Task_Thread_SQL.updateFbs9100StateByDev_Id(m_ConnPool, vc_data, m_StatAndParam);
|
/*
|
Date dt_t = new Date(m_StatAndParam.m_FBS_VCData.m_SysState.DTime.getTimeInMillis());
|
System.out.println("BTS:" + Com.getDateTimeFormat(dt_t, Com.DTF_YMDhms));
|
System.out.println("PC:" + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
|
*/
|
}
|
vc_data = null;
|
}
|
}
|
//------------------- ¶ÁÈ¡FBS9100ÄÚ²¿DCDCÄ£¿é״̬Êý¾Ý ---------------
|
else if(FBS9100_ComBase.CMD_Get_DCDC_Data == m_FBS_Cmd.CMD)
|
{
|
getNTDcDcDataFromCommBuf(bf);
|
|
isSuccess = true;
|
}
|
//------------------- ¶ÁÈ¡FBS9100ÄÚ×è²âÊÔ״̬ -----------------------
|
else if(FBS9100_ComBase.CMD_GetResTestState == m_FBS_Cmd.CMD) {
|
FBS9100_ResState m_res_test_stat = new FBS9100_ResState();
|
if(true == m_res_test_stat.putByteBuffer(bf)) {
|
m_StatAndParam.m_SysState.setResTestCnt(m_res_test_stat.ResTestCntSum);
|
/*
|
//----------------------------------------------------------//
|
System.out.println("m_ResTestState.ResTestState:" + m_ResTestState.ResTestState);
|
System.out.println("m_ResTestState.ResTestCntSum:" + m_ResTestState.ResTestCntSum);
|
System.out.println("m_StatAndParam.m_FBS_VCData.m_SysState.getResTestCnt():"
|
+ m_StatAndParam.m_FBS_VCData.m_SysState.getResTestCnt());
|
//----------------------------------------------------------//
|
*/
|
isSuccess = true;
|
}
|
m_res_test_stat = null;
|
}
|
//------------------- ¶ÁÈ¡FBS9100·Åµç²âÊÔ״̬ -----------------------
|
else if(FBS9100_ComBase.CMD_GetDischargeState == m_FBS_Cmd.CMD)
|
{
|
//if(true == m_CapTestState.putByteBuffer(bf)){
|
isSuccess = true;
|
//}
|
}
|
//------------------- ¶ÁÈ¡FBS9100³äµç²âÊÔ״̬ -----------------------
|
else if(FBS9100_ComBase.CMD_GetChargeState == m_FBS_Cmd.CMD)
|
{
|
//if(true == m_ChrTestState.putByteBuffer(bf)){
|
isSuccess = true;
|
//}
|
}
|
//------------------- ¶ÁÈ¡FBS9100µç³Ø²ÎÊý -------------------------
|
else if(FBS9100_ComBase.CMD_GetBattParam == m_FBS_Cmd.CMD)
|
{
|
FBS9100_ParamBatt tmp_batt_pm = new FBS9100_ParamBatt();
|
if(true == tmp_batt_pm.putByteBuffer(bf)) {
|
m_StatAndParam.op_cmd_ack = FBS9100_ComBase.CMD_GetBattParamACK;
|
FBS9100_Task_Thread_SQL.updateFbs9100BattParamBydev_id(m_ConnPool, m_StatAndParam, tmp_batt_pm);
|
isSuccess = true;
|
}
|
tmp_batt_pm = null;
|
}
|
//------------------- ÉèÖÃFBS9100µç³Ø²ÎÊý -------------------------
|
else if(FBS9100_ComBase.CMD_SetBattParam == m_FBS_Cmd.CMD) {
|
FBS9100_ParamBatt tmp_batt_pm = new FBS9100_ParamBatt();
|
if(true == tmp_batt_pm.putByteBuffer(bf)){
|
m_StatAndParam.op_cmd_ack = FBS9100_ComBase.CMD_SetBattParamACK;
|
FBS9100_Task_Thread_SQL.updateFbs9100BattParamCmdAckBydev_id(m_ConnPool, m_StatAndParam);
|
isSuccess = true;
|
}
|
tmp_batt_pm = null;
|
}
|
//------------------- ¶ÁÈ¡FBS9100ϵͳ²ÎÊý -------------------------
|
else if(FBS9100_ComBase.CMD_GetSYSSetParam == m_FBS_Cmd.CMD)
|
{
|
FBS9100_ParamSystem tmp_sys_param = new FBS9100_ParamSystem();
|
if(true == tmp_sys_param.putByteBuffer(bf)){
|
m_StatAndParam.op_cmd_ack = FBS9100_ComBase.CMD_GetSYSSetParamAck;
|
FBS9100_Task_Thread_SQL.updateFbs9100SysParamBydev_id(m_ConnPool, m_StatAndParam, tmp_sys_param);
|
isSuccess = true;
|
}
|
tmp_sys_param = null;
|
//System.out.println(m_StatAndParam.m_FBS_SystemParamFromDev.toString());
|
}
|
//------------------- ÉèÖÃFBS9100ϵͳ²ÎÊý -------------------------
|
else if(FBS9100_ComBase.CMD_SetSYSSetParam == m_FBS_Cmd.CMD)
|
{
|
FBS9100_ParamSystem tmp_sys_param = new FBS9100_ParamSystem();
|
if(true == tmp_sys_param.putByteBuffer(bf)){
|
m_StatAndParam.op_cmd_ack = FBS9100_ComBase.CMD_SetSYSSetParamAck;
|
FBS9100_Task_Thread_SQL.updateFbs9100SysParamCmdAckBydev_id(m_ConnPool, m_StatAndParam);
|
isSuccess = true;
|
}
|
tmp_sys_param = null;
|
}
|
//------------------- ¶ÁÈ¡FBS9100·Åµç²ÎÊý -------------------------
|
else if(FBS9100_ComBase.CMD_GetDischargeParm == m_FBS_Cmd.CMD)
|
{
|
FBS9100_ParamDischarge tmp_DiscParamFromDev = new FBS9100_ParamDischarge();
|
if(true == tmp_DiscParamFromDev.putByteBuffer(bf)) {
|
m_StatAndParam.op_cmd_ack = FBS9100_ComBase.CMD_GetDischargeParmAck;
|
FBS9100_Task_Thread_SQL.updateFbs9100SetParamBydev_id(m_ConnPool, m_StatAndParam, tmp_DiscParamFromDev);
|
isSuccess = true;
|
}
|
tmp_DiscParamFromDev = null;
|
}
|
//------------------- ÉèÖÃFBS9100·Åµç²ÎÊý -------------------------
|
else if(FBS9100_ComBase.CMD_SetDischargeParm == m_FBS_Cmd.CMD)
|
{
|
FBS9100_ParamDischarge tmp_DiscParam = new FBS9100_ParamDischarge();
|
if(true == tmp_DiscParam.putByteBuffer(bf)){
|
m_StatAndParam.op_cmd_ack = FBS9100_ComBase.CMD_SetDischargeParmAck;
|
FBS9100_Task_Thread_SQL.updateFbs9100SetParamCmdAckBydev_id(m_ConnPool, m_StatAndParam);
|
isSuccess = true;
|
}
|
tmp_DiscParam = null;
|
}
|
//------------------- ¶ÁÈ¡FBS9100³äµç²ÎÊý -------------------------
|
else if(FBS9100_ComBase.CMD_GetChargeParm == m_FBS_Cmd.CMD)
|
{
|
//if(true == m_FBS_ChargeParam.putByteBuffer(bf)){
|
isSuccess = true;
|
//}
|
}
|
//------------------- ÉèÖÃFBS9100³äµç²ÎÊý -------------------------
|
else if(FBS9100_ComBase.CMD_SetChargeParm == m_FBS_Cmd.CMD)
|
{
|
//if(true == m_FBS_ChargeParam.putByteBuffer(bf)){
|
isSuccess = true;
|
//}
|
}
|
//------------------- ¶ÁÈ¡FBS9100ÈÝÁ¿ÄÚ×è²âÊÔÊý¾Ý ------------------
|
else if((FBS9100_ComBase.CMD_GetMonomerRES == m_FBS_Cmd.CMD)
|
||(FBS9100_ComBase.CMD_GetMonomerTMP == m_FBS_Cmd.CMD)
|
||(FBS9100_ComBase.CMD_GetMonomerFODJHcurr == m_FBS_Cmd.CMD)
|
/*||(FBS_ComBase.CMD_GetMonomerCAP == m_FBS_Cmd.CMD)
|
||(FBS_ComBase.CMD_GetMonomerChargeCAP == m_FBS_Cmd.CMD)*/)
|
{
|
FBS9100_ResCapData m_res_cap_data = new FBS9100_ResCapData();
|
if(true == m_res_cap_data.putByteBuffer(bf, m_FBS_Cmd.CMD)) {
|
isSuccess = true;
|
getFBS9100MonResData(m_FBS_Cmd.CMD, m_res_cap_data);
|
//msg = "Get MonomerCAP or MonomerRES from FBS9100 OK!!!";
|
}
|
m_res_cap_data = null;
|
} else if(FBS9100_ComBase.CMD_GetDeviceInf == m_FBS_Cmd.CMD) {
|
FBS9100_DeviceInf deviceinf = new FBS9100_DeviceInf();
|
if(true == deviceinf.putByteBuffer(bf)) {
|
m_BTSDevSoftWareVersion = deviceinf.SoftwareVersion;
|
m_BTSDevSoftType = deviceinf.DeviceType;
|
m_StatAndParam.m_DevVersion = String.format("D:%d,V%d.%02d.%02d",
|
deviceinf.DeviceType,
|
deviceinf.DeviceVersion,
|
deviceinf.HardwareVersion,
|
deviceinf.SoftwareVersion);
|
m_StatAndParam.dev_id = deviceinf.BackUp6*256*256*256
|
+ deviceinf.BackUp5*256*256
|
+ deviceinf.BackUp4*256
|
+ deviceinf.BackUp3;
|
String tmp_str = "";
|
for(int n=0; n<4; n++) {
|
if(tmp_str.length() > 2) {
|
tmp_str += ".";
|
}
|
tmp_str += String.format("%8X", deviceinf.MCU_ID[n]);
|
}
|
m_StatAndParam.dev_reg_code = tmp_str;
|
|
isSuccess = true;
|
}
|
} else if(FBS9100_ComBase.CMD_GetDeviceTaskInf == m_FBS_Cmd.CMD) {
|
m_StatAndParam.op_cmd_ack = FBS9100_ComBase.CMD_GetDeviceTaskInfAck;
|
FBS9100_Task_Thread_SQL.updateFbs9100SetParamCmdAckBydev_id(m_ConnPool, m_StatAndParam);
|
try {
|
Charset charset = Charset.forName("utf-8");
|
String task_inf = charset.decode(bf).toString();
|
m_StatAndParam.op_cmd_ack = FBS9100_ComBase.CMD_GetDeviceTaskInfAck;
|
FBS9100_Task_Thread_SQL.updateBTS_TaskInf_To_GPRSTableBydev_id(m_ConnPool, m_StatAndParam, task_inf);
|
isSuccess = true;
|
} catch (Exception ex) {
|
ex.printStackTrace();
|
}
|
} else if(FBS9100_ComBase.CMD_ReadCMCCVolCurr == m_FBS_Cmd.CMD) {
|
FBS9100_CMCC_Power cmcc_power = new FBS9100_CMCC_Power();
|
if(cmcc_power.putByteBuffer(bf)) {
|
isSuccess = true;
|
}
|
} else if(FBS9100_ComBase.CMD_SetDateTime == m_FBS_Cmd.CMD) {
|
isSuccess = true;
|
System.out.println(this.getName() + " devid:" + m_StatAndParam.dev_id
|
+ " ×Ô¶¯Í¬²½BTS/FBSÉ豸ÈÕÆÚʱ¼ä³É¹¦!" + Com.getNowTimeWithAt());
|
} else if(FBS9100_ComBase.CMD_SystemUpdate == m_FBS_Cmd.CMD) {
|
System.out.println(this.getName() + " DevId: " + m_StatAndParam.dev_id
|
+ " FBS9100_ComBase.CMD_SystemUpdate Done!");
|
isSuccess = true;
|
}//------------------- ¶ÁÈ¡FOD³ýÁò״̬ ------------------
|
else if(FBS9100_ComBase.CMD_ReadFodValue == m_FBS_Cmd.CMD){
|
if(m_FBS9100S_FOD_Data.putByteBuffer(bf)) {
|
//System.out.println(m_FBS9100S_FOD_Data);
|
//System.out.println("¶ÁÈ¡³ýÁò״̬³É¹¦");
|
isSuccess = true;
|
}
|
}
|
//------------------- ¶ÁÈ¡FOD³ýÁò²ÎÊý ------------------
|
else if(FBS9100_ComBase.CMD_ReadFodParam == m_FBS_Cmd.CMD){
|
if(m_FBS9100S_FOD_Param.putByteBuffer(bf)){
|
//System.out.println("¶ÁÈ¡³ýÁò²ÎÊý³É¹¦");
|
isSuccess = true;
|
}
|
}
|
//------------------- ÉèÖÃFOD³ýÁò²ÎÊý ------------------
|
else if(FBS9100_ComBase.CMD_WriteFodParam == m_FBS_Cmd.CMD){
|
//System.out.println(m_FBS_Cmd);
|
isSuccess = true;
|
}
|
|
//------------------- ¿ØÖÆFOD³ýÁò״̬ ------------------
|
else if((FBS9100_ComBase.CMD_Start_FODCL_test == m_FBS_Cmd.CMD) || //Æô¶¯³ýÁò
|
(FBS9100_ComBase.CMD_Start_FODYH_test == m_FBS_Cmd.CMD) || //Æô¶¯Ñø»¤
|
(FBS9100_ComBase.CMD_Stop_FOD_test == m_FBS_Cmd.CMD) //Í£Ö¹³ýÁò/Ñø»¤
|
){
|
//System.out.println("¿ØÖƳýÁò³É¹¦");
|
isSuccess = true;
|
}
|
}
|
return isSuccess;
|
}
|
/*********************************************************************************************/
|
private int updateBTSStationEvent(FBS9100_SysState sys_state, int eve_type, boolean eve_stat, String date_str) {
|
boolean old_Station_Event_Stat = ((sys_state.Station_State&(1<<eve_type)) > 0);
|
int station_stat_start_trg = 0;
|
|
if(old_Station_Event_Stat != eve_stat) {
|
int trig = 0;
|
if(true == eve_stat) {
|
trig = FBS9100S_SocketClient2.StationEventStart;
|
sys_state.Station_State |= (1<<eve_type);
|
station_stat_start_trg |= (1<<eve_type);
|
} else {
|
trig = FBS9100S_SocketClient2.StationEventEnd;
|
sys_state.Station_State &= ~(1<<eve_type);
|
if(FBS9100S_SocketClient2.EveType_StationXuHang == eve_type) {
|
station_stat_start_trg |= (1<<FBS9100S_SocketClient2.EveType_StationXuHangEnd);
|
}
|
}
|
|
if((FBS9100S_SocketClient2.EveType_StationPOFF==eve_type)
|
||(FBS9100S_SocketClient2.EveType_StationXuHang==eve_type)
|
||(FBS9100S_SocketClient2.EveType_StationDiaoZhan==eve_type)) {
|
FBS9100_Task_Thread_SQL.insertBTS_Station_Event_IntoDB(m_ConnPool, m_StatAndParam, eve_type, trig, date_str);
|
} else {
|
int old_stat = 0;
|
int new_stat = 0;
|
int eve_type_t = -1;
|
int module_num = 0;
|
if(true == old_Station_Event_Stat) {
|
old_stat = 1;
|
}
|
if(true == eve_stat) {
|
new_stat = 1;
|
}
|
if((FBS9100S_SocketClient2.EveType_BTS_BG1_OffLine <= eve_type)
|
&&(FBS9100S_SocketClient2.EveType_BTS_BG4_OffLine >= eve_type)){
|
eve_type_t = FBS9100S_SocketClient2.EveType_BTS_BG_OffLine;
|
module_num = eve_type-FBS9100S_SocketClient2.EveType_BTS_BG_OffLine;
|
}
|
if(FBS9100S_SocketClient2.EveType_BTS_SDCardErr == eve_type) {
|
eve_type_t = FBS9100S_SocketClient2.EveType_BTS_SDCardErr;
|
module_num = 0;
|
}
|
|
if(eve_type_t >= 0) {
|
FBS9100_Task_Thread_SQL.insertFBS_EventToTable(m_ConnPool, m_StatAndParam.dev_id,
|
eve_type_t, module_num,
|
old_stat, new_stat, sys_state.WorkState);
|
}
|
}
|
}
|
|
return station_stat_start_trg;
|
}
|
/*********************************************************************************************/
|
private void updateBTSStationState(FBS9100_SysState sys_state) {
|
int station_stat_start_trg = 0;
|
String datetime_str = Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms);
|
|
station_stat_start_trg |= updateBTSStationEvent(sys_state, FBS9100S_SocketClient2.EveType_StationPOFF,
|
sys_state.Station_Event_poff, datetime_str);
|
station_stat_start_trg |= updateBTSStationEvent(sys_state, FBS9100S_SocketClient2.EveType_StationXuHang,
|
sys_state.Station_Event_xuhang, datetime_str);
|
station_stat_start_trg |= updateBTSStationEvent(sys_state, FBS9100S_SocketClient2.EveType_StationDiaoZhan,
|
sys_state.Station_Event_diaozhan, datetime_str);
|
|
station_stat_start_trg |= updateBTSStationEvent(sys_state, FBS9100S_SocketClient2.EveType_BTS_BG1_OffLine,
|
sys_state.BG_1_IsOFFLine, datetime_str);
|
station_stat_start_trg |= updateBTSStationEvent(sys_state, FBS9100S_SocketClient2.EveType_BTS_BG2_OffLine,
|
sys_state.BG_2_IsOFFLine, datetime_str);
|
//System.out.println("sys_state.SD_Card_Err: " + sys_state.SD_Card_Err);
|
station_stat_start_trg |= updateBTSStationEvent(sys_state, FBS9100S_SocketClient2.EveType_BTS_SDCardErr,
|
sys_state.SD_Card_Err, datetime_str);
|
|
FBS9100_Task_Thread_SQL.UpdateBTS_Station_Stat(m_ConnPool, m_StatAndParam, station_stat_start_trg);
|
}
|
/*********************************************************************************************/
|
private void getFBS9100MonVolData(FBS9100_VCData vc_data, FBS9100_SysState sys_state)
|
{
|
boolean fbsdev_statchange_record_tag = false;
|
int mon_index = 0;
|
for(int n=0; n<FBS9100_ComBase.BattGroupCountMax; n++) {
|
if(null != m_RTData[n]) {
|
//--------------------- ÏȶÁÈ¡µ¥Ìåµçѹ ---------------------------------------//
|
try {
|
for(int index=0; index<m_RTData[n].al_MonVol.size(); index++) {
|
if(mon_index >= FBS9100_ComBase.MonomerCountMax) {
|
break;
|
}
|
|
m_RTData[n].al_MonVol.get(index).monVol = (float) vc_data.vol[mon_index];
|
mon_index++;
|
}
|
} catch (Exception e) {
|
System.err.println("FBS9100S_SocketClient2.getFBS9100MonVolData: " + e.getMessage());
|
}
|
//--------------------- ÔÙ¶Áȡϵͳ״̬ ---------------------------------------//
|
if(((FBS9100_ComBase.SYS_STATE_STOPPED!=sys_state.WorkState) && ((n+1)==sys_state.TestGroupNum))
|
|| (FBS9100_ComBase.SYS_STATE_STOPPED == sys_state.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.CapTestStopType,
|
sys_state.TestType,
|
sys_state.WorkState);
|
//--------------------- FBSÉ豸¹¤×÷״̬±ä»¯¼Ç¼ ------------------------------//
|
if(false == fbsdev_statchange_record_tag) {
|
if((work_stat != sys_state.WorkState) || (test_type != sys_state.TestType)) {
|
int bts_work_stat = sys_state.WorkState;
|
if((FBS9100_ComBase.TestType_CAP_HELUQI == sys_state.TestType)
|
&& (FBS9100_ComBase.SYS_STATE_DISCHARGING == sys_state.WorkState)){
|
bts_work_stat = FBS9100_ComBase.SYS_STATE_HELUQI_DISCHARGING;
|
}
|
int stat_change_reason = 0;
|
if(FBS9100_SysState.SYS_STATE_DISCHARGING == work_stat) {
|
stat_change_reason = sys_state.CapTestStopType;
|
}
|
FBS9100_Task_Thread_SQL.insertFBS_EventToTable(m_ConnPool, m_StatAndParam.dev_id,
|
FBS9100S_SocketClient2.EveType_BTS_WorkState, sys_state.TestGroupNum,
|
work_stat, bts_work_stat, stat_change_reason);
|
if(FBS9100_ComBase.SYS_STATE_STOPPED == sys_state.WorkState) {
|
resetNTDcDcData();
|
}
|
|
fbsdev_statchange_record_tag = true;
|
}
|
}
|
}
|
|
//--------------------- ÔÙ¶ÁÈ¡¶Ëµçѹ -----------------------------------------//
|
//--------------------- Èç¹ûÈí¼þ°æ±¾´óÓÚ35,ÔÚÏßµçѹºÍ×é¶Ëµçѹ±£Áô2λСÊý-------//
|
m_RTData[n].mTestData.updateGroupTempFrom_FBSDev((float)(vc_data.batttemp[n]));
|
m_RTData[n].mTestData.updateOnlineVolFrom_FBSDev((float)(vc_data.onlinevol[n]));
|
m_RTData[n].mTestData.updateGroupVolFrom_FBSDev((float)(vc_data.groupvol[n]));
|
//---------------------------------------------------------------------------//
|
//--------------------- ½Ó×ŶÁÈ¡µçÁ÷ -----------------------------------------//
|
m_RTData[n].mTestData.updateCurrFrom_FBSDev((float) vc_data.battcurr[n]);
|
//---------------------------------------------------------------------------//
|
//--------------------- È»ºó¶ÁÈ¡ÄÚ×è²âÊÔ״̬ ---------------------------------//
|
m_RTData[n].mTestData.batt_res_test_state = sys_state.ResTestState;
|
m_RTData[n].mTestData.batt_res_test_cnt = sys_state.getResTestCnt();
|
//--------------------- DCDC½ÚÄÜÄ£¿é״̬Êý¾Ý ---------------------------------//
|
//m_RTData[n].m_DCDC_Data.copyData(m_StatAndParam.m_al_DCDC_Data[0]);
|
//---------------------------------------------------------------------------//
|
//--------------------- Ïȸüе¥ÌåÊý¾Ý,ÔÙ¸üÐÂµç³Ø×´Ì¬Êý¾Ý ----------------------//
|
m_RTData[n].updata_BattRtData_To_RamDb();
|
m_RTData[n].updata_BattRtSate_To_RamDb();
|
//---------------------------------------------------------------------------//
|
}
|
}
|
}
|
/*********************************************************************************************/
|
private void getFBS9100MonResData(int cmd, FBS9100_ResCapData res_data)
|
{
|
int mon_index = 0;
|
for(int n=0; n<FBS9100_ComBase.BattGroupCountMax; n++)
|
{
|
try {
|
if(null != m_RTData[n])
|
{
|
for(int index=0; index<m_RTData[n].al_MonVol.size(); index++)
|
{
|
if(mon_index >= FBS9100_ComBase.MonomerCountMax) {
|
break;
|
}
|
|
if(FBS9100_ComBase.CMD_GetMonomerRES == cmd) {
|
m_RTData[n].al_MonVol.get(index).monRes = (float) res_data.m_DATA[mon_index];
|
} else if(FBS9100_ComBase.CMD_GetMonomerTMP == cmd) {
|
//--------------------- Èç¹ûÈí¼þ°æ±¾´óÓÚ35,ζÈÊý¾ÝÔÚºǫ́¼õ10.0¡æ --------------//
|
float temp_t = (float) res_data.m_DATA[mon_index];
|
if(this.getBTSSoftwareVersion() >= 35) {
|
temp_t -= 10.0;
|
}
|
//--------------------------------------------------------------------------//
|
m_RTData[n].al_MonVol.get(index).monTmp = temp_t;
|
} else if(FBS9100_ComBase.CMD_GetMonomerFODJHcurr == cmd) {
|
m_RTData[n].al_MonVol.get(index).monJHcurr = (float) res_data.m_DATA[mon_index];
|
}
|
|
mon_index++;
|
}
|
}
|
} catch (Exception e) {
|
System.err.println("FBS9100S_SocketClient2.getFBS9100MonResData():" + e.getMessage());
|
}
|
}
|
}
|
/*********************************************************************************************/
|
}
|
/********************************* end of file SocketClient.java *************************************/
|