/********************************* 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.InetSocketAddress;
|
import java.net.Socket;
|
import java.nio.ByteBuffer;
|
import java.nio.ByteOrder;
|
|
import com.battmonitor.data.BattData_RT;
|
import com.battmonitor.data.BattData_RT_Array;
|
import com.battmonitor.sql.MysqlConnPool;
|
import com.dev.btse.data.FBS9100_CapState;
|
import com.dev.btse.data.FBS9100_ChargeState;
|
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_ParamCharge;
|
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 FBS9100_SocketClient extends Thread
|
{
|
private FBS9100_Cmd m_FBS_Cmd = new FBS9100_Cmd();
|
private FBS9100_ParamBatt m_FBS_BattParam = new FBS9100_ParamBatt();
|
private FBS9100_ParamSystem m_FBS_SystemParam = new FBS9100_ParamSystem();
|
private FBS9100_ParamDischarge m_FBS_DiscParam = null;
|
private FBS9100_ParamCharge m_FBS_ChargeParam = new FBS9100_ParamCharge();
|
private FBS9100_ResState m_ResTestState = new FBS9100_ResState();
|
private FBS9100_CapState m_CapTestState = new FBS9100_CapState();
|
private FBS9100_ChargeState m_ChrTestState = new FBS9100_ChargeState();
|
private FBS9100_ResCapData m_FBS_ResCapData = new FBS9100_ResCapData();
|
|
private FBS9100_StatAndParam m_StatAndParam = null;
|
private BattData_RT[] m_RTData = new BattData_RT[FBS9100_ComBase.BattGroupCountMax];
|
private String mDevIp = "192.168.0.18";
|
private int m_FBSDevId = 0;
|
private int m_BattMonCount = 0;
|
private MysqlConnPool m_ConnPool = null;
|
private int DevReadCount = 0;
|
private static final String TAG = "SocketClient_Thread";
|
|
/*********************************************************************************************/
|
public FBS9100_SocketClient(MysqlConnPool m_cp, FBS9100_StatAndParam stat_param, BattData_RT_Array AL_RTdata)
|
{
|
m_ConnPool = m_cp;
|
m_StatAndParam = stat_param;
|
//m_FBS_VCData = m_StatAndParam.m_FBS_VCData;
|
//m_FBS_DiscParam = m_StatAndParam.m_FBS_DiscParam;
|
//m_FBS_DiscParamFromDev = m_StatAndParam.m_FBS_DiscParamFromDev;
|
|
mDevIp = m_StatAndParam.dev_ipaddr;
|
m_FBSDevId = m_StatAndParam.dev_id;
|
|
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++)
|
{
|
if(AL_RTdata.getItem(n).FBSDeviceId == m_FBSDevId)
|
{
|
m_RTData[AL_RTdata.getItem(n).GroupIndexInFBSDevice%group_max] = AL_RTdata.getItem(n);
|
m_BattMonCount += AL_RTdata.getItem(n).MonCount;
|
}
|
}
|
|
if(m_BattMonCount > (FBS9100_ComBase.MonomerCountMax-120))
|
{
|
m_BattMonCount = (FBS9100_ComBase.MonomerCountMax-120);
|
}
|
}
|
|
/*********************************************************************************************/
|
public void run()
|
{
|
this.setName(TAG);
|
System.out.println(this.getName() + " - FBS9100_SocketClientThread Started ...");
|
while(true)
|
{
|
try {
|
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_SetDischargeParm == m_StatAndParam.op_cmd) {
|
if(true == SocketComm(FBS9100_ComBase.CMD_SetDischargeParm , m_StatAndParam.getByteBuffer()))
|
{
|
// m_StatAndParam.op_cmd_ack = FBS9100_ComBase.CMD_SetDischargeParmAck;
|
}
|
} else if( FBS9100_ComBase.CMD_Start == m_FBS_DiscParam.op_cmd ) {
|
int cmd = FBS9100_ComBase.CMD_StartDischarge;
|
if(cmd != m_FBS_DiscParam.test_cmd) {
|
cmd = FBS9100_ComBase.CMD_StartResDischarge;
|
}
|
if(true == SocketComm(cmd, ByteBuffer.allocate(0))) {
|
// m_StatAndParam.op_cmd_ack = FBS9100_ComBase.CMD_StartAck;
|
}
|
} else if(FBS9100_ComBase.CMD_Stop == m_FBS_DiscParam.op_cmd) {
|
if(true == SocketComm(FBS9100_ComBase.CMD_Stop, ByteBuffer.allocate(0))) {
|
// m_StatAndParam.op_cmd_ack = FBS9100_ComBase.CMD_StopAck;
|
}
|
} else if(FBS9100_ComBase.CMD_GetDischargeParm == m_FBS_DiscParam.op_cmd) {
|
if(true == SocketComm(FBS9100_ComBase.CMD_GetDischargeParm, ByteBuffer.allocate(0))) {
|
//m_StatAndParam.op_cmd_ack = FBS9100_ComBase.CMD_GetDischargeParmAck;
|
//FBS9100_Task_Thread_SQL.updateFbs9100SetParamBydev_id(m_ConnPool, m_StatAndParam);
|
}
|
}
|
|
//FBS9100_Task_Thread_SQL.updateFbs9100SetParamCmdBydev_id(m_ConnPool, m_StatAndParam);
|
}
|
|
//-----------------------------------------------------------------------------------//
|
//-----------------------------------------------------------------------------------//
|
/*if(FBS9100_ComBase.BattState_Discharge == m_FBS_VCData.m_SysState.WorkState)
|
{
|
m_StatAndParam.test_type = m_FBS_VCData.m_SysState.TestType;
|
|
//------------- Èç¹ûÊÇÄÚ×è²âÊÔ,Ôò×Ô¶¯¶Áȡһ´ÎFBS9100É豸ÉϵIJÎÊý -----------//
|
if(FBS9100_ComBase.TestType_RES == m_FBS_VCData.m_SysState.TestType) {
|
if ((FBS9100_ComBase.TestType_RES != m_StatAndParam.test_type)
|
&& (FBS9100_ComBase.CMD_NULL == m_StatAndParam.op_cmd)) {
|
if(true == SocketComm(FBS9100_ComBase.CMD_GetDischargeParm, ByteBuffer.allocate(0))) {
|
m_StatAndParam.op_cmd = FBS9100_ComBase.CMD_GetDischargeParmAck;
|
m_StatAndParam.test_type = FBS9100_ComBase.TestType_RES;
|
}
|
}
|
} else {//------ Èç¹ûÊÇÈÝÁ¿·Åµç²âÊÔ,Ôò×Ô¶¯¶Áȡһ´ÎFBS9100É豸ÉϵIJÎÊý ------//
|
if ((FBS9100_ComBase.TestType_CAP != m_StatAndParam.test_type)
|
&&(FBS9100_ComBase.CMD_NULL == m_StatAndParam.op_cmd)) {
|
if(true == SocketComm(FBS9100_ComBase.CMD_GetDischargeParm, ByteBuffer.allocate(0))) {
|
m_StatAndParam.op_cmd = FBS9100_ComBase.CMD_GetDischargeParmAck;
|
m_StatAndParam.test_type = FBS9100_ComBase.TestType_CAP;
|
}
|
}
|
}
|
|
}*/
|
//-----------------------------------------------------------------------------------//
|
sleep(100);
|
//===================================================================================
|
DevReadCount += 1;
|
//-----------------------------------------------------------------------------------//
|
if(0 == (DevReadCount%3)) {
|
SocketComm(FBS9100_ComBase.CMD_GetVIData, ByteBuffer.allocate(0));
|
//if(m_StatAndParam != null) {
|
// FBS9100_Task_Thread_SQL.updateFbs9100StateByDev_Id(m_ConnPool, m_StatAndParam);
|
//}
|
}
|
//-----------------------------------------------------------------------------------//
|
//--------------------------- ¶ÁÈ¡µ¥ÌåζÈÊý¾Ý --------------------------------------//
|
if(0 == (DevReadCount%5)) {
|
SocketComm(FBS9100_ComBase.CMD_GetMonomerTMP, ByteBuffer.allocate(0));
|
}
|
//---------------------------------------------------------------------------------//
|
//--------------------------- ¶ÁÈ¡µ¥ÌåÄÚ×èÊý¾Ý --------------------------------------//
|
if(0 == (DevReadCount%11)) {
|
SocketComm(FBS9100_ComBase.CMD_GetMonomerRES, ByteBuffer.allocate(0));
|
}
|
//---------------------------------------------------------------------------------//
|
//--------------------------- ¶ÁÈ¡FBS9100É豸ÐÅÏ¢ ----------------------------------//
|
if(0 == (DevReadCount%19)) {
|
SocketComm(FBS9100_ComBase.CMD_GetDeviceInf, ByteBuffer.allocate(0));
|
}
|
//---------------------------------------------------------------------------------//
|
if(DevReadCount >= 19) {
|
DevReadCount = 0;
|
}
|
//---------------------------------------------------------------------------------//
|
/*
|
if(FBS9100_ComBase.TestType_RES == m_StatAndParam.test_type)
|
{
|
// sleep(100);
|
// if(true == SocketComm(FBS9100_ComBase.CMD_GetResTestState, ByteBuffer.allocate(0)))
|
// {
|
// m_FBS_VCData.m_SysState.ResBattIndexMax = m_ResTestState.ResBattIndexMax;
|
// m_FBS_VCData.m_SysState.ResBattIndex = m_ResTestState.ResBattIndex;
|
// }
|
//------ ÄÚ×è²âÊÔÍ£Ö¹µÄʱºò,×Ô¶¯¼Ç¼һ´ÎÄÚ×èÖµµ½Êý¾Ý¿â ------//
|
if(FBS9100_ComBase.TestType_RES != m_FBS_VCData.m_SysState.TestType)
|
{
|
m_StatAndParam.test_type = FBS9100_ComBase.TestType_NULL;
|
|
for(int n=0; n<FBS9100_ComBase.BattGroupCountMax; n++) {
|
if(null != m_RTData[n]) {
|
m_RTData[n].setStoreBattRes_DataEnStat(true);
|
}
|
}
|
|
// int index = m_ResTestState.BattGroupNum - 1;
|
// System.out.println("index " + index);
|
// if((index >= 0) && (index<m_RTData.length) && (null != m_RTData[index])) {
|
// System.out.println("m_RTData[index].setStoreBattRes_DataEnStat(true) ");
|
// m_RTData[index].setStoreBattRes_DataEnStat(true);
|
// }
|
}
|
} else if (FBS9100_ComBase.TestType_CAP == m_StatAndParam.test_type) {
|
if(FBS9100_ComBase.TestType_CAP != m_FBS_VCData.m_SysState.TestType) {
|
m_StatAndParam.test_type = FBS9100_ComBase.TestType_NULL;
|
}
|
}*/
|
//-----------------------------------------------------------------------------------//
|
//-----------------------------------------------------------------------------------//
|
sleep(100);
|
//-----------------------------------------------------------------------------------//
|
} catch (InterruptedException e) {
|
//e.printStackTrace();
|
try {
|
sleep(2000);
|
} catch (InterruptedException e1) {
|
// TODO Auto-generated catch block
|
//e1.printStackTrace();
|
}
|
}
|
}
|
}
|
/*********************************************************************************************/
|
/*********************************************************************************************/
|
/**
|
* ʹÓÃsocket Á¬½ÓÖ¸¶¨µÄipÉ豸µÄ9001¶Ë¿Ú²¢ÇÒ·¢ËÍÊý¾Ý£¬ÒÔ¼°½ÓÊÕÊý¾Ý
|
* @param cmd
|
* @param bf
|
* @return
|
* @throws InterruptedException
|
*/
|
public boolean SocketComm(int cmd, ByteBuffer bf) throws InterruptedException
|
{
|
boolean comm_res = false;
|
try
|
{
|
Socket socket = new Socket();
|
socket.connect(new InetSocketAddress(mDevIp, 9001), 3000);
|
if(socket.isConnected()) {
|
InputStream in = socket.getInputStream();
|
OutputStream out = socket.getOutputStream();
|
|
out.write(makeCommBuf(cmd, bf));
|
out.flush();
|
|
for(int n=0; n<100; n++) {
|
sleep(10);
|
int len1 = in.available();
|
if(len1 <= 0) {
|
continue;
|
}
|
|
sleep(10);
|
|
if(in.available() == len1) {
|
break;
|
}
|
}
|
|
byte[] buffer = new byte[in.available()];
|
in.read(buffer);
|
//System.out.println(ComFn.bytesToHexString(buffer, buffer.length));
|
comm_res = getDataFromCommBuf(buffer);
|
|
in.close();
|
out.close();
|
socket.close();
|
|
if((buffer.length > 8) && (true == comm_res)) {
|
m_StatAndParam.m_SysState.setCommCountInc();
|
} else {
|
m_StatAndParam.m_SysState.setErrCommCountInc(0);
|
}
|
} else {
|
m_StatAndParam.m_SysState.setErrCommCountInc(0);
|
}
|
} catch (IOException e) {
|
//e.printStackTrace();
|
m_StatAndParam.m_SysState.setErrCommCountInc(0);
|
}
|
|
return comm_res;
|
}
|
/*********************************************************************************************/
|
/*********************************************************************************************/
|
public byte[] makeCommBuf(final int cmd, ByteBuffer bf)
|
{
|
return (FBS9100_ComBuf.makeFbs9100CommBuf(0, cmd, bf, false).array());
|
}
|
/*********************************************************************************************/
|
public 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µçѹµçÁ÷Êý¾Ý --------------------
|
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, 0, 1))
|
{
|
getFBS9100MonVolData(vc_data, m_StatAndParam.m_SysState);
|
FBS9100_Task_Thread_SQL.updateFbs9100StateByDev_Id(m_ConnPool, vc_data, m_StatAndParam);
|
isSuccess = true;
|
}
|
vc_data = null;
|
}
|
}
|
//------------------- ¶ÁÈ¡FBS9100ÄÚ×è²âÊÔ״̬ -----------------------
|
if(FBS9100_ComBase.CMD_GetResTestState == m_FBS_Cmd.CMD)
|
{
|
if(true == m_ResTestState.putByteBuffer(bf)) {
|
isSuccess = true;
|
}
|
//msg = "Get ResTest State from FBS9100 OK!!!";
|
}
|
//------------------- ¶ÁÈ¡FBS9100ÈÝÁ¿²âÊÔ״̬ -----------------------
|
if(FBS9100_ComBase.CMD_GetDischargeState == m_FBS_Cmd.CMD)
|
{
|
if(true == m_CapTestState.putByteBuffer(bf)) {
|
isSuccess = true;
|
}
|
//msg = "Get CapTest State from FBS9100 OK!!!";
|
}
|
//------------------- ¶ÁÈ¡FBS9100³äµç²âÊÔ״̬ -----------------------
|
if(FBS9100_ComBase.CMD_GetChargeState == m_FBS_Cmd.CMD)
|
{
|
if(true == m_ChrTestState.putByteBuffer(bf)) {
|
isSuccess = true;
|
}
|
//msg = "Get ChrTest State from FBS9100 OK!!!";
|
}
|
//------------------- ¶ÁÈ¡FBS9100µç³Ø²ÎÊý -------------------------
|
else if(FBS9100_ComBase.CMD_GetBattParam == m_FBS_Cmd.CMD)
|
{
|
if(true == m_FBS_BattParam.putByteBuffer(bf)){
|
isSuccess = true;
|
}
|
//msg = "Get battparam from FBS9100 OK!!!";
|
}
|
//------------------- ÉèÖÃFBS9100µç³Ø²ÎÊý -------------------------
|
else if(FBS9100_ComBase.CMD_SetBattParam == m_FBS_Cmd.CMD) {
|
if(true == m_FBS_BattParam.putByteBuffer(bf)){
|
isSuccess = true;
|
}
|
//msg = "Set battparam to FBS9100 OK!!!";
|
}
|
//------------------- ¶ÁÈ¡FBS9100ϵͳ²ÎÊý -------------------------
|
else if(FBS9100_ComBase.CMD_GetSYSSetParam == m_FBS_Cmd.CMD)
|
{
|
if(true == m_FBS_SystemParam.putByteBuffer(bf)){
|
isSuccess = true;
|
}
|
//msg = "Get sysparam from FBS9100 OK!!!";
|
}
|
//------------------- ÉèÖÃFBS9100ϵͳ²ÎÊý -------------------------
|
else if(FBS9100_ComBase.CMD_SetSYSSetParam == m_FBS_Cmd.CMD)
|
{
|
if(true == m_FBS_SystemParam.putByteBuffer(bf)){
|
isSuccess = true;
|
}
|
//msg = "Set sysparam to FBS9100 OK!!!";
|
}
|
//------------------- ¶ÁÈ¡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;
|
//msg = "Set DischargeParam to FBS9100 OK!!!";
|
}
|
//------------------- ¶ÁÈ¡FBS9100³äµç²ÎÊý -------------------------
|
else if(FBS9100_ComBase.CMD_GetChargeParm == m_FBS_Cmd.CMD)
|
{
|
if(true == m_FBS_ChargeParam.putByteBuffer(bf)){
|
isSuccess = true;
|
}
|
//msg = "Get ChargeParam from FBS9100 OK!!!";
|
}
|
//------------------- ÉèÖÃFBS9100³äµç²ÎÊý -------------------------
|
else if(FBS9100_ComBase.CMD_SetChargeParm == m_FBS_Cmd.CMD)
|
{
|
if(true == m_FBS_ChargeParam.putByteBuffer(bf)){
|
isSuccess = true;
|
}
|
//msg = "Set ChargeParam to FBS9100 OK!!!";
|
}
|
//------------------- ¶ÁÈ¡FBS9100ÈÝÁ¿ÄÚ×è²âÊÔÊý¾Ý ------------------
|
else if((FBS9100_ComBase.CMD_GetMonomerRES == m_FBS_Cmd.CMD)
|
||(FBS9100_ComBase.CMD_GetMonomerTMP == m_FBS_Cmd.CMD)
|
/*||(FBS_ComBase.CMD_GetMonomerCAP == m_FBS_Cmd.CMD)
|
||(FBS_ComBase.CMD_GetMonomerChargeCAP == m_FBS_Cmd.CMD)*/)
|
{
|
if(true == m_FBS_ResCapData.putByteBuffer(bf, m_FBS_Cmd.CMD))
|
{
|
getFBS9100MonResData(m_FBS_Cmd.CMD, m_FBS_ResCapData);
|
isSuccess = true;
|
//msg = "Get MonomerCAP or MonomerRES from FBS9100 OK!!!";
|
}
|
} else if (FBS9100_ComBase.CMD_GetDeviceInf == m_FBS_Cmd.CMD){
|
FBS9100_DeviceInf deviceinf = new FBS9100_DeviceInf();
|
if(true == deviceinf.putByteBuffer(bf)) {
|
isSuccess = true;
|
m_StatAndParam.m_DevVersion = String.format("V%d.%02d.%02d",
|
deviceinf.DeviceVersion,
|
deviceinf.HardwareVersion,
|
deviceinf.SoftwareVersion);
|
// m_StatAndParam.dev_id = deviceinf.BackUp6*256*256*256
|
// + deviceinf.BackUp5*256*256
|
// + deviceinf.BackUp4*256
|
// + deviceinf.BackUp3;
|
}
|
}
|
}
|
|
return isSuccess;
|
}
|
/*********************************************************************************************/
|
private void getFBS9100MonVolData(FBS9100_VCData vc_data, FBS9100_SysState sys_state)
|
{
|
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].MonCount; index++) {
|
if(mon_index >= FBS9100_ComBase.MonomerCountMax) {
|
break;
|
}
|
|
m_RTData[n].al_MonVol.get(index).monVol = (float) vc_data.vol[mon_index];
|
mon_index++;
|
}
|
//--------------------- ÔÙ¶Áȡϵͳ״̬ ---------------------------------------//
|
m_RTData[n].mTestData.setDevFBS9100S_WorkState(sys_state.CapTestStopType,
|
sys_state.TestType,
|
sys_state.WorkState);
|
//--------------------- ÔÙ¶ÁÈ¡¶Ëµçѹ -----------------------------------------//
|
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].updata_BattRtData_To_RamDb();
|
m_RTData[n].updata_BattRtSate_To_RamDb();
|
//---------------------------------------------------------------------------//
|
}
|
} catch (Exception e) {
|
System.err.println("FBS9100_SocketClient.getFBS9100MonVolData():" + e.getMessage());
|
}
|
}
|
}
|
/*********************************************************************************************/
|
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].MonCount; 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) {
|
m_RTData[n].al_MonVol.get(index).monTmp = (float) res_data.m_DATA[mon_index];
|
}
|
|
mon_index++;
|
}
|
}
|
} catch (Exception e) {
|
System.err.println("FBS9100_SocketClient.getFBS9100MonResData():" + e.getMessage());
|
}
|
}
|
}
|
/*********************************************************************************************/
|
}
|
/********************************* end of file SocketClient.java *************************************/
|