1、合并master与2021.1

This commit is contained in:
xiejunjie
2021-12-03 11:25:35 +08:00
parent dc07b8879b
commit 4bd7d1b80b
981 changed files with 384342 additions and 6470 deletions
@@ -202,7 +202,7 @@ TCPIP_RETURN_CODE CSo7_TCPIP::Connect(const HWND& _hWnd,const in_addr& _IPAddres
{
Create_Thread();
// 设置socket为窗口通知消息类型
::WSAAsyncSelect(m_Socket, m_hMsgWnd,WM_SOCKET, FD_CONNECT | FD_CLOSE | FD_WRITE | FD_READ);
retVal=::WSAAsyncSelect(m_Socket, m_hMsgWnd,WM_SOCKET, FD_CONNECT | FD_CLOSE | FD_WRITE | FD_READ);
// 填写服务器地址信息
sockaddr_in remote;
@@ -211,7 +211,7 @@ TCPIP_RETURN_CODE CSo7_TCPIP::Connect(const HWND& _hWnd,const in_addr& _IPAddres
remote.sin_family = AF_INET;
remote.sin_port = htons(m_iServerPortNumber);
// 连接到远程机
retVal=connect(m_Socket, (sockaddr*)&remote, sizeof(sockaddr));
retVal=::connect(m_Socket, (sockaddr*)&remote, sizeof(sockaddr));
if(retVal)
{
errorCode = WSAGetLastError();
@@ -260,12 +260,15 @@ TCPIP_RETURN_CODE CSo7_TCPIP::Handshaking()
{
WaitForSingleObject(m_Thread_Mutex, INFINITE);
m_ClearSendBuf();
#ifdef PLC_KEYENCE
#else
m_TCPIPBuf[CH_SEND]._size=sizeof(HandShaking);
memcpy(m_TCPIPBuf[CH_SEND]._buffer,HandShaking,m_TCPIPBuf[CH_SEND]._size);
m_TCPIPBuf[CH_SEND]._buffer[m_TCPIPBuf[CH_SEND]._size-1]=m_ClientIPAddress.S_un.S_un_b.s_b4;
m_TCPIPBuf[CH_SEND]._save_send_cmd=TCPIP_CMD_HANDSHAKING;
m_Thread_State=TCPIP_THREAD_RUNNING;
_do_single_threaded_tcpip_comm();
#endif
ReleaseMutex(m_Thread_Mutex);
return m_TCPIPData.s_status._SendReturnCode;
}
@@ -279,6 +282,23 @@ TCPIP_RETURN_CODE CSo7_TCPIP::_Send_Cmd_Write_D_Data(const short& _Addr,short* _
}
WaitForSingleObject(m_Thread_Mutex, INFINITE);
m_ClearSendBuf();
#ifdef PLC_KEYENCE
memset(m_TCPIPBuf[CH_SEND]._buffer,0,sizeof(m_TCPIPBuf[CH_SEND]._buffer));
int iBufSize(0);
sprintf_s(m_TCPIPBuf[CH_SEND]._buffer,TCPIP_MAX_BUFF_SIZE,"WRS DM%d.U %d",_Addr,_DataSize);
for(int i=0;i<_DataSize;i++)
{
iBufSize=strlen(m_TCPIPBuf[CH_SEND]._buffer);
sprintf_s(&m_TCPIPBuf[CH_SEND]._buffer[iBufSize],TCPIP_MAX_BUFF_SIZE-iBufSize," %d",_Data[i]);
}
iBufSize=strlen(m_TCPIPBuf[CH_SEND]._buffer);
m_TCPIPBuf[CH_SEND]._buffer[iBufSize++]=0x0d;
m_TCPIPBuf[CH_SEND]._buffer[iBufSize++]=0x0a;
m_TCPIPBuf[CH_SEND]._buffer[iBufSize]=0;
m_TCPIPBuf[CH_SEND]._size=iBufSize;
#else
memcpy(m_TCPIPBuf[CH_SEND]._buffer,DRW_SData,sizeof(DRW_SData));
m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexDA1]=m_SreverIPAddress.S_un.S_un_b.s_b4;
@@ -300,6 +320,7 @@ TCPIP_RETURN_CODE CSo7_TCPIP::_Send_Cmd_Write_D_Data(const short& _Addr,short* _
m_TCPIPBuf[CH_SEND]._buffer[DRW_RSDataIndexBufSize2]=sTmpData & 0x0ff;
m_TCPIPBuf[CH_SEND]._size=DRW_SDataIndexData+2*_DataSize;
#endif
m_TCPIPBuf[CH_SEND]._save_send_cmd=TCPIP_CMD_WRITE_D_DATA;
m_TCPIPData.s_status._WriteDataCompleted=false;
@@ -317,6 +338,17 @@ TCPIP_RETURN_CODE CSo7_TCPIP::_Send_Cmd_Read_D_Data(const short& _Addr,const sho
}
WaitForSingleObject(m_Thread_Mutex, INFINITE);
m_ClearSendBuf();
#ifdef PLC_KEYENCE
memset(m_TCPIPBuf[CH_SEND]._buffer,0,sizeof(m_TCPIPBuf[CH_SEND]._buffer));
int iBufSize(0);
sprintf_s(m_TCPIPBuf[CH_SEND]._buffer,TCPIP_MAX_BUFF_SIZE,"RDS DM%d.U %d",_Addr,_DataSize);
iBufSize=strlen(m_TCPIPBuf[CH_SEND]._buffer);
m_TCPIPBuf[CH_SEND]._buffer[iBufSize++]=0x0d;
m_TCPIPBuf[CH_SEND]._buffer[iBufSize++]=0x0a;
m_TCPIPBuf[CH_SEND]._buffer[iBufSize]=0;
m_TCPIPBuf[CH_SEND]._size=iBufSize;
#else
memcpy(m_TCPIPBuf[CH_SEND]._buffer,DRW_SData,sizeof(DRW_SData));
m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexDA1]=m_SreverIPAddress.S_un.S_un_b.s_b4;
@@ -327,9 +359,8 @@ TCPIP_RETURN_CODE CSo7_TCPIP::_Send_Cmd_Read_D_Data(const short& _Addr,const sho
m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexAddr2]=_Addr & 0x0ff;
m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexCh1]=(_DataSize>>8) & 0x0ff;
m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexCh2]=_DataSize & 0x0ff;
m_TCPIPBuf[CH_SEND]._size=DRW_SDataIndexData;
#endif
m_TCPIPBuf[CH_SEND]._save_send_cmd=TCPIP_CMD_READ_D_DATA;
m_TCPIPData.s_status._ReadDataCompleted=false;
@@ -353,7 +384,7 @@ LRESULT CSo7_TCPIP::OnSocket(WPARAM wParam, LPARAM lParam)
{
case FD_CONNECT:
{
m_ClearSendBuf();
}
break;
case FD_READ:
@@ -481,6 +512,7 @@ void CSo7_TCPIP::m_ProcessSocketReadEvent(SOCKET s)
}
m_TCPIPBuf[CH_RECV]._CompletedSize += bytesReceived;
m_TCPIPBuf[CH_RECV]._size = m_TCPIPBuf[CH_RECV]._CompletedSize;
m_TCPIPBuf[CH_RECV]._buffer[m_TCPIPBuf[CH_RECV]._size]=0;
switch (m_TCPIPBuf[CH_SEND]._save_send_cmd)
{
case TCPIP_CMD_HANDSHAKING:
@@ -497,6 +529,8 @@ void CSo7_TCPIP::m_ProcessSocketReadEvent(SOCKET s)
}
case TCPIP_CMD_READ_D_DATA:
{
#ifdef PLC_KEYENCE
#else
int _BufferSize(0);
BYTE _bData[4]={0,0,0,0};
_bData[0]=static_cast<BYTE>(m_TCPIPBuf[CH_RECV]._buffer[DRW_RSDataIndexBufSize1]);
@@ -517,6 +551,7 @@ void CSo7_TCPIP::m_ProcessSocketReadEvent(SOCKET s)
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++;
}
#endif
m_TCPIPData.s_status._ReadDataCompleted=true;
break;
}