format data.

This commit is contained in:
TAO Cheng
2014-11-07 11:46:35 +08:00
parent 70f6305ec7
commit 9953f94372
3 changed files with 12 additions and 8 deletions
@@ -64,7 +64,7 @@ CSo7_TCPIP::CSo7_TCPIP()
m_TCPIPData.s_status._RecvReturnCode=TCPIP_CONNECT_OK;
m_TCPIPData.s_recv_data._type=0;
m_TCPIPData.s_recv_data._DataSize=0;
m_TCPIPData.s_recv_data._iData=(int *)malloc(TCPIP_MAX_DAT_SIZE);
m_TCPIPData.s_recv_data._lData=(long long *)malloc(TCPIP_MAX_DAT_SIZE);
}
@@ -77,8 +77,8 @@ CSo7_TCPIP::~CSo7_TCPIP()
free(m_TCPIPBuf[i]._buffer);
m_TCPIPBuf[i]._buffer=NULL;
}
free(m_TCPIPData.s_recv_data._iData);
m_TCPIPData.s_recv_data._iData=NULL;
free(m_TCPIPData.s_recv_data._lData);
m_TCPIPData.s_recv_data._lData=NULL;
}
//================================================================
void CSo7_TCPIP::Create_Thread()
@@ -498,16 +498,18 @@ void CSo7_TCPIP::m_ProcessSocketReadEvent(SOCKET s)
case TCPIP_CMD_READ_D_DATA:
{
int _BufferSize(0);
BYTE _bData[2]={0,0};
BYTE _bData[4]={0,0,0,0};
_BufferSize=static_cast<int>(static_cast<BYTE>(m_TCPIPBuf[CH_RECV]._buffer[DRW_RSDataIndexBufSize2]));
_BufferSize-=DRW_RDataCCLen;
m_TCPIPData.s_recv_data._DataSize=0;
for (int i=0;i<_BufferSize;i+=2)
for (int i=0;i<_BufferSize;i+=4)
{
_bData[0]=static_cast<BYTE>(m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexData+i]);
_bData[1]=static_cast<BYTE>(m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexData+i+1]);
m_TCPIPData.s_recv_data._iData[m_TCPIPData.s_recv_data._DataSize]=static_cast<int>(_bData[0]*256+_bData[1]);
_bData[2]=static_cast<BYTE>(m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexData+i+2]);
_bData[3]=static_cast<BYTE>(m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexData+i+3]);
m_TCPIPData.s_recv_data._lData[m_TCPIPData.s_recv_data._DataSize]=static_cast<int>(+(_bData[2]<<24)+(_bData[3]<<16)+(_bData[0]<<8)+(_bData[1]));
m_TCPIPData.s_recv_data._DataSize++;
}
m_TCPIPData.s_status._ReadDataCompleted=true;
@@ -68,7 +68,7 @@ struct struct_so7_tcpip_data
{
int _type;
int _DataSize;
int* _iData;
long long* _lData;
} s_recv_data;
struct s_status
{
@@ -188,9 +188,11 @@ LRESULT CSo7_Util_PLC_TCPIP::OnTCPIPRecv(WPARAM w, LPARAM p)
CString csTmp;
m_csMSG=_T("");
m_csMSG.Format(_T("<< Read status:%d;Data:"),g_pSo7_TCPIP->m_TCPIPData.s_status._ReadDataCompleted);
double dTmp(0.0);
for (int i=0;i<g_pSo7_TCPIP->m_TCPIPData.s_recv_data._DataSize;i++)
{
csTmp.Format(_T("%0X,"),g_pSo7_TCPIP->m_TCPIPData.s_recv_data._iData[i]);
dTmp=g_pSo7_TCPIP->m_TCPIPData.s_recv_data._lData[i]*0.001;
csTmp.Format(_T("%.4f,"),dTmp);
m_csMSG+=csTmp;
}
OutputWithScroll(m_csMSG,m_edMSG);