diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_TCPIP.cpp b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_TCPIP.cpp index b38ed55..9a0f724 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_TCPIP.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_TCPIP.cpp @@ -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(static_cast(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(m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexData+i]); _bData[1]=static_cast(m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexData+i+1]); - m_TCPIPData.s_recv_data._iData[m_TCPIPData.s_recv_data._DataSize]=static_cast(_bData[0]*256+_bData[1]); + _bData[2]=static_cast(m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexData+i+2]); + _bData[3]=static_cast(m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexData+i+3]); + m_TCPIPData.s_recv_data._lData[m_TCPIPData.s_recv_data._DataSize]=static_cast(+(_bData[2]<<24)+(_bData[3]<<16)+(_bData[0]<<8)+(_bData[1])); m_TCPIPData.s_recv_data._DataSize++; } m_TCPIPData.s_status._ReadDataCompleted=true; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_TCPIP.h b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_TCPIP.h index be66234..0dde9e4 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_TCPIP.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_TCPIP.h @@ -68,7 +68,7 @@ struct struct_so7_tcpip_data { int _type; int _DataSize; - int* _iData; + long long* _lData; } s_recv_data; struct s_status { diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_PLC_TCPIP.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_PLC_TCPIP.cpp index b39639b..087f04d 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_PLC_TCPIP.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_PLC_TCPIP.cpp @@ -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;im_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);