diff --git a/.hgignore b/.hgignore index c2d4e26..937f4dd 100644 --- a/.hgignore +++ b/.hgignore @@ -42,3 +42,4 @@ PcDmis/Base/Interfac/Msi/Hsi/Videocard/TC4000/V6.0 PcDmis/Base/Interfac/Msi/Hsi/Videocard/TC4000/V7.5 PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/ConsoleTestDll/bin PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/ConsoleTestDll/obj +PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/DebugS07/ diff --git a/PcDmis/Base/Interfac/Msi/Hsi/STIL/STIL_CCS_PRIMA_Laser.cpp b/PcDmis/Base/Interfac/Msi/Hsi/STIL/STIL_CCS_PRIMA_Laser.cpp index 74fddb4..481ad3b 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/STIL/STIL_CCS_PRIMA_Laser.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/STIL/STIL_CCS_PRIMA_Laser.cpp @@ -4,14 +4,14 @@ CSTIL_CCS_PRIMA_Laser::CSTIL_CCS_PRIMA_Laser() { -#ifdef _DEBUG +#ifdef _RELEASE_FULL_VERSION ResetParam(); #endif //_DEBUG } CSTIL_CCS_PRIMA_Laser::~CSTIL_CCS_PRIMA_Laser(void) { -#ifdef _DEBUG +#ifdef _RELEASE_FULL_VERSION if (m_SensorId != 0) { CloseCom (); @@ -23,7 +23,7 @@ CSTIL_CCS_PRIMA_Laser::~CSTIL_CCS_PRIMA_Laser(void) BOOL CSTIL_CCS_PRIMA_Laser::Init(int _Mode) { BOOL bStatus(FALSE); -#ifdef _DEBUG +#ifdef _RELEASE_FULL_VERSION ResetParam(); switch(_Mode) { @@ -52,7 +52,7 @@ BOOL CSTIL_CCS_PRIMA_Laser::Init(int _Mode) BOOL CSTIL_CCS_PRIMA_Laser::Exit() { BOOL bStatus(FALSE); -#ifdef _DEBUG +#ifdef _RELEASE_FULL_VERSION bStatus=ReleaseAcquisition(); if (m_SensorId != 0) { @@ -69,7 +69,7 @@ BOOL CSTIL_CCS_PRIMA_Laser::SetMeasureMode(int _MeasureMode) { case 0: { -#ifdef _DEBUG +#ifdef _RELEASE_FULL_VERSION double refractiveIndex = 1.5120; SetRefractiveIndex (refractiveIndex); int numberOfPointTRE(1); @@ -88,7 +88,7 @@ BOOL CSTIL_CCS_PRIMA_Laser::SetMeasureMode(int _MeasureMode) BOOL CSTIL_CCS_PRIMA_Laser::GetDistance(double &_dDis1, double &_dDis2) { BOOL bStatus(FALSE); -#ifdef _DEBUG +#ifdef _RELEASE_FULL_VERSION double dbThickness(0.0),dblDistance1(0.0),dblDistance2(0.0),dblIntensity1(0.0),dblIntensity2(0.0); bool bSoftTrigger(true); bStatus=GetThicknessValue(dbThickness,dblDistance1,dblDistance2,dblIntensity1,dblIntensity2,bSoftTrigger); @@ -104,7 +104,7 @@ BOOL CSTIL_CCS_PRIMA_Laser::GetDistance(double &_dDis1, double &_dDis2) BOOL CSTIL_CCS_PRIMA_Laser::GetThicknessAllData(double &dbThickness, double &dblDistance1, double &dblDistance2, double &dblIntensity1, double &dblIntensity2) { BOOL bStatus(FALSE); -#ifdef _DEBUG +#ifdef _RELEASE_FULL_VERSION bool bSoftTrigger(true); bStatus=GetThicknessValue(dbThickness,dblDistance1,dblDistance2,dblIntensity1,dblIntensity2,bSoftTrigger); #else @@ -116,7 +116,7 @@ BOOL CSTIL_CCS_PRIMA_Laser::GetThicknessAllData(double &dbThickness, double &dbl #endif //_DEBUG return bStatus; } -#ifdef _DEBUG +#ifdef _RELEASE_FULL_VERSION //================================================================ void CSTIL_CCS_PRIMA_Laser::ResetParam() { diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_TCPIP.cpp b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_TCPIP.cpp index 9a0f724..6913b2a 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_TCPIP.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_TCPIP.cpp @@ -499,16 +499,21 @@ void CSo7_TCPIP::m_ProcessSocketReadEvent(SOCKET s) { int _BufferSize(0); BYTE _bData[4]={0,0,0,0}; + _bData[0]=static_cast(m_TCPIPBuf[CH_RECV]._buffer[DRW_RSDataIndexBufSize1]); + _bData[1]=static_cast(m_TCPIPBuf[CH_RECV]._buffer[DRW_RSDataIndexBufSize2]); - _BufferSize=static_cast(static_cast(m_TCPIPBuf[CH_RECV]._buffer[DRW_RSDataIndexBufSize2])); + _BufferSize=static_cast((_bData[0]<<8)+_bData[1]); _BufferSize-=DRW_RDataCCLen; m_TCPIPData.s_recv_data._DataSize=0; - for (int i=0;i<_BufferSize;i+=4) + for (int i=0;i<_BufferSize;i+=2) { _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]); - _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]); + //_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]); + + _bData[2]=0; + _bData[3]=0; 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++; } diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_TCPIP_Server.cpp b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_TCPIP_Server.cpp index 4f935af..5e2f1a0 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_TCPIP_Server.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_TCPIP_Server.cpp @@ -33,12 +33,14 @@ const int DRW_RSDataIndexBufSize2=7; struct_so7_tcpip_buff CSo7_TCPIP_Server::m_TCPIPBuf[lChannelSize]; +s_tcpip_state CSo7_TCPIP_Server::m_TCPIPServerState; //================================================================ CSo7_TCPIP_Server::CSo7_TCPIP_Server() { m_hMsgWnd=NULL; + m_ServerStarted=FALSE; m_Socket=INVALID_SOCKET; m_SreverIPAddress; m_iServerPortNumber=static_cast(0); @@ -93,6 +95,10 @@ int CSo7_TCPIP_Server::Init_Winsock() //================================================================ BOOL CSo7_TCPIP_Server::StartServer(HWND _hWnd,short _nPort) { + if (m_ServerStarted) + { + return FALSE; + } int retVal=Init_Winsock(); retVal=Init_Winsock(); if(!retVal) @@ -102,7 +108,10 @@ BOOL CSo7_TCPIP_Server::StartServer(HWND _hWnd,short _nPort) m_iServerPortNumber=_nPort; GetHostIPAddr(m_SreverIPAddress); m_hMsgWnd=_hWnd; - CreateAndListen(); + if (CreateAndListen()) + { + m_ServerStarted=TRUE; + } return TRUE; } //================================================================ @@ -112,9 +121,13 @@ BOOL CSo7_TCPIP_Server::StopServer() { return TCPIP_INVAILD_SOCKET; } - closesocket(m_Socket); - m_Socket = INVALID_SOCKET; - return TCPIP_CONNECT_OK; + if (m_ServerStarted) + { + CloseAllSocket(); + closesocket(m_Socket); + m_Socket = INVALID_SOCKET; + } + return TRUE; } //================================================================ BOOL CSo7_TCPIP_Server::GetHostIPAddr(in_addr& _IPAddress) @@ -135,7 +148,7 @@ BOOL CSo7_TCPIP_Server::GetHostIPAddr(in_addr& _IPAddress) first = FALSE; } _IPAddress=m_SreverIPAddress; - return TCPIP_CONNECT_OK; + return TRUE; } //================================================================ BOOL CSo7_TCPIP_Server::CreateAndListen() @@ -246,6 +259,7 @@ BOOL CSo7_TCPIP_Server::Response_Handshake() } m_ClearSendBuf(); memcpy(m_TCPIPBuf[CH_SEND]._buffer,HandShaking,sizeof(HandShaking)); + m_TCPIPBuf[CH_SEND]._size=sizeof(HandShaking); SendBuffer(); return TRUE; } @@ -266,6 +280,7 @@ BOOL CSo7_TCPIP_Server::Response_PLC_State(short _datasize) m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexData+2*i+1]=iData & 0x0ff; } m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexDataSize]=static_cast(DRW_SDataIndexData+2*_datasize); + m_TCPIPBuf[CH_SEND]._size=sizeof(HandShaking); SendBuffer(); @@ -286,6 +301,8 @@ BOOL CSo7_TCPIP_Server::Response_Sensor_State(short _datasize) m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexData+i]=m_TCPIPServerState._PLCSensorState[i]; } m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexDataSize]=static_cast(DRW_SDataIndexData+2*_datasize); + m_TCPIPBuf[CH_SEND]._size=DRW_SDataIndexData+2*_datasize; + SendBuffer(); return TRUE; @@ -309,6 +326,8 @@ BOOL CSo7_TCPIP_Server::Response_CCD_DATA(short _Addr,short _datasize) } m_TCPIPBuf[CH_SEND]._buffer[DRW_SDataIndexDataSize]=static_cast(DRW_SDataIndexData+2*_datasize); + m_TCPIPBuf[CH_SEND]._size=DRW_SDataIndexData+2*_datasize; + SendBuffer(); return TRUE; @@ -321,6 +340,7 @@ BOOL CSo7_TCPIP_Server::_Send_Cmd_Write_State() return FALSE; } m_ClearSendBuf(); + m_TCPIPBuf[CH_SEND]._size=0; SendBuffer(); @@ -488,11 +508,14 @@ void CSo7_TCPIP_Server::m_ProcessSocketReadEvent(SOCKET s) } m_TCPIPBuf[CH_RECV]._CompletedSize += bytesReceived; m_TCPIPBuf[CH_RECV]._size = m_TCPIPBuf[CH_RECV]._CompletedSize; + int iPara(0); + if (strstr(m_TCPIPBuf[CH_RECV]._buffer, "FINS")) { if (m_TCPIPBuf[CH_RECV]._buffer[7]==0x0C)//handshake { Response_Handshake(); + iPara=RESPONSE_HANDSHAKE; } else if (m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexCMD1]==0x01 &&m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexCMD2]==0x01) @@ -501,29 +524,30 @@ void CSo7_TCPIP_Server::m_ProcessSocketReadEvent(SOCKET s) short iDataSize=(m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexCh1]<<8)+m_TCPIPBuf[CH_RECV]._buffer[DRW_RDataIndexCh2]; if (iAddr>=20000) { - ;//errcode + iPara=RESPONSE_READ_ERRCODE; } else if (iAddr>=10000) { - Response_CCD_DATA((iAddr-10060),iDataSize);//ccd data + Response_CCD_DATA((iAddr-10060),iDataSize); + iPara=RESPONSE_READ_CCD_DATA; } else if (iAddr>=8000) - { - Response_PLC_State(1);//WRITE PLC STATE + { + iPara=RESPONSE_WRITE_PLC_STATE; } else if (iAddr>=5000) { - ;//READ PLC STATE - + Response_PLC_State(1); + iPara=RESPONSE_READ_PLC_STATE; } else { - ; + iPara=RESPONSE_UNKNOWN; } } } m_TCPIPBuf[CH_RECV]._CompletedSize = 0; m_TCPIPBuf[CH_RECV]._hProtoPending=FALSE; - ::PostMessage(m_hMsgWnd,WM_TCPIP_MSG,FD_READ,0); + ::PostMessage(m_hMsgWnd,WM_TCPIP_MSG,FD_READ,iPara); } diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_TCPIP_Server.h b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_TCPIP_Server.h index 9d8293e..ed24d31 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_TCPIP_Server.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_TCPIP_Server.h @@ -40,6 +40,19 @@ enum OMRON_PLC_SENSOR OMRON_PLC_LASER5_HEADB, OMRON_PLC_SENSOR_TOTAL=PLC_MAX_SENSOR_STATE }; + +enum TCPIP_RESPONSE_RESULT +{ + RESPONSE_UNKNOWN=0, + RESPONSE_HANDSHAKE, + RESPONSE_READ_PLC_STATE, + RESPONSE_WRITE_PLC_STATE, + RESPONSE_READ_SENSOR_STATE, + RESPONSE_READ_CCD_DATA, + RESPONSE_READ_ERRCODE, + RESPONSE_RESULT +}; + struct s_tcpip_state { TCPIP_RETURN_CODE _SendReturnCode; @@ -79,7 +92,7 @@ public: virtual ~CSo7_TCPIP_Server(); static struct_so7_tcpip_buff m_TCPIPBuf[lChannelSize]; - s_tcpip_state m_TCPIPServerState; + static s_tcpip_state m_TCPIPServerState; int m_CCDData[MAX_CCD_ADDR]; BOOL StartServer(HWND _hWnd,short _nPort); @@ -94,7 +107,7 @@ public: LRESULT OnSocket(WPARAM wParam, LPARAM lParam); private: HWND m_hMsgWnd; - + BOOL m_ServerStarted; SOCKET m_Socket; SOCKET m_ClientSocket[MAX_SOCKET]; int m_nClients; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc index 8797031..8267414 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc @@ -1038,27 +1038,31 @@ BEGIN PUSHBUTTON "ĬÈϲÎÊý",IDC_BUTTON_MV900_DEFAULT_PARA,520,130,53,14 END -IDD_SO7_UTIL_PLC_TCPIP DIALOGEX 0, 0, 338, 251 +IDD_SO7_UTIL_PLC_TCPIP DIALOGEX 0, 0, 432, 269 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "PLC TCP/IP " FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN - PUSHBUTTON "Exit",IDCANCEL,292,230,39,14 - GROUPBOX "TCP/IP Control",IDC_STATIC,17,12,87,81 - PUSHBUTTON "Connect",IDC_BUTTON_PLC_TCPIP_CONNECT,28,28,63,18 - PUSHBUTTON "Disconnect",IDC_BUTTON_PLC_TCPIP_DISCONNECT,28,70,63,18 - EDITTEXT IDC_EDIT_MSG,19,97,265,130,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL - PUSHBUTTON "Clear",IDC_BUTTON_PLC_TCPIP_CLEAR_MSG,289,156,39,14 - PUSHBUTTON "Read Data",IDC_BUTTON_PLC_TCPIP_READ,203,30,63,18 - PUSHBUTTON "Write Data",IDC_BUTTON_PLC_TCPIP_WRITE,203,62,63,18 - GROUPBOX "TCP/IP Control",IDC_STATIC,110,12,174,81 - EDITTEXT IDC_EDIT_PLC_TCPIP_ADDR,144,28,40,14,ES_AUTOHSCROLL - LTEXT "Addr",IDC_STATIC,120,30,16,8 - EDITTEXT IDC_EDIT_PLC_TCPIP_Data,144,74,40,14,ES_AUTOHSCROLL - LTEXT "Data",IDC_STATIC,120,76,16,8 - PUSHBUTTON "Handshaking",IDC_BUTTON_PLC_TCPIP_HANDSHAKING,28,49,63,18 - EDITTEXT IDC_EDIT_PLC_TCPIP_DATA_SIZE,144,51,40,14,ES_AUTOHSCROLL - LTEXT "Size",IDC_STATIC,120,53,14,8 + PUSHBUTTON "Exit",IDCANCEL,386,248,39,14 + GROUPBOX "TCP/IP Control",IDC_STATIC,20,14,153,95 + PUSHBUTTON "Connect",IDC_BUTTON_PLC_TCPIP_CONNECT,30,68,63,18 + PUSHBUTTON "Disconnect",IDC_BUTTON_PLC_TCPIP_DISCONNECT,30,88,63,18 + EDITTEXT IDC_EDIT_MSG,19,116,333,130,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL + PUSHBUTTON "Clear",IDC_BUTTON_PLC_TCPIP_CLEAR_MSG,358,158,39,14 + PUSHBUTTON "Read Data",IDC_BUTTON_PLC_TCPIP_READ,272,32,63,18 + PUSHBUTTON "Write Data",IDC_BUTTON_PLC_TCPIP_WRITE,272,64,63,18 + GROUPBOX "TCP/IP Data",IDC_STATIC,179,14,174,81 + EDITTEXT IDC_EDIT_PLC_TCPIP_ADDR,213,30,40,14,ES_AUTOHSCROLL + LTEXT "Addr",IDC_STATIC,189,32,16,8 + EDITTEXT IDC_EDIT_PLC_TCPIP_Data,213,76,40,14,ES_AUTOHSCROLL + LTEXT "Data",IDC_STATIC,189,78,16,8 + PUSHBUTTON "Handshaking",IDC_BUTTON_PLC_TCPIP_HANDSHAKING,105,78,63,18 + EDITTEXT IDC_EDIT_PLC_TCPIP_DATA_SIZE,213,53,40,14,ES_AUTOHSCROLL + LTEXT "Size",IDC_STATIC,189,55,14,8 + CONTROL "",IDC_IPADDRESS_PLC_TCPIP,"SysIPAddress32",WS_TABSTOP,69,27,100,15 + EDITTEXT IDC_EDIT__PLC_TCPIP_PORTNUMBER,69,48,40,14,ES_AUTOHSCROLL + LTEXT "Server Port",IDC_STATIC,27,51,38,8 + LTEXT "Server IP",IDC_STATIC,27,31,31,8 END IDD_SO7_UTIL_PLC_TCPIP_SERVER DIALOGEX 0, 0, 558, 326 @@ -1273,9 +1277,9 @@ BEGIN IDD_SO7_UTIL_PLC_TCPIP, DIALOG BEGIN LEFTMARGIN, 7 - RIGHTMARGIN, 331 + RIGHTMARGIN, 425 TOPMARGIN, 7 - BOTTOMMARGIN, 244 + BOTTOMMARGIN, 262 END IDD_SO7_UTIL_PLC_TCPIP_SERVER, DIALOG 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 087f04d..db6c3e8 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 @@ -27,6 +27,7 @@ void CSo7_Util_PLC_TCPIP::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_EDIT_MSG, m_edMSG); + DDX_Control(pDX, IDC_IPADDRESS_PLC_TCPIP, m_IPAddress); } @@ -47,13 +48,56 @@ END_MESSAGE_MAP() // CSo7_Util_PLC_TCPIP ÏûÏ¢´¦Àí³ÌÐò +BOOL CSo7_Util_PLC_TCPIP::OnInitDialog() +{ + CDialog::OnInitDialog(); + + // Add "About..." menu item to system menu. + + // IDM_ABOUTBOX must be in the system command range. + ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); + ASSERT(IDM_ABOUTBOX < 0xF000); + + CMenu* pSysMenu = GetSystemMenu(FALSE); + if (pSysMenu != NULL) + { + BOOL bNameValid; + CString strAboutMenu; + bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX); + ASSERT(bNameValid); + if (!strAboutMenu.IsEmpty()) + { + pSysMenu->AppendMenu(MF_SEPARATOR); + pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); + } + } + + m_IPAddress.SetAddress(192,168,0,5); + GetDlgItem(IDC_EDIT__PLC_TCPIP_PORTNUMBER)->SetWindowText(_T("9600")); + + UpdateData(FALSE); + + return TRUE; // return TRUE unless you set the focus to a control +} + void CSo7_Util_PLC_TCPIP::OnBnClickedButtonPlcTcpipConnect() { + CString str; + UpdateData(TRUE); + USES_CONVERSION; + GetDlgItem(IDC_EDIT__PLC_TCPIP_PORTNUMBER)->GetWindowText(str); + const char* cTempValue=T2A(str); + short sPortNumber=static_cast(atoi(cTempValue)); in_addr IPAddress; - IPAddress.S_un.S_addr=inet_addr("192.168.0.5"); - TCPIP_RETURN_CODE rCode=g_pSo7_TCPIP->Connect(m_hWnd,IPAddress,9600); - m_csMSG.Format(_T("Server:192.168.0.5[9600] Connect ReturnCode:%d."),rCode); + m_IPAddress.GetAddress(IPAddress.S_un.S_un_b.s_b1,IPAddress.S_un.S_un_b.s_b2,IPAddress.S_un.S_un_b.s_b3,IPAddress.S_un.S_un_b.s_b4); + + TCPIP_RETURN_CODE rCode=g_pSo7_TCPIP->Connect(m_hWnd,IPAddress,sPortNumber); + m_csMSG.Format(_T("Server:%d.%d.%d.%d[%d] Connect ReturnCode:%d."), + IPAddress.S_un.S_un_b.s_b1,IPAddress.S_un.S_un_b.s_b2, + IPAddress.S_un.S_un_b.s_b3,IPAddress.S_un.S_un_b.s_b4, + sPortNumber, + rCode); OutputWithScroll(m_csMSG,m_edMSG); rCode=g_pSo7_TCPIP->GetHostIPAddr(IPAddress); m_csMSG.Format(_T("Client:%d.%d.%d.%d ReturnCode:%d."), @@ -187,12 +231,14 @@ 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++) + int iDataSize(0); + iDataSize=g_pSo7_TCPIP->m_TCPIPData.s_recv_data._DataSize; + m_csMSG.Format(_T("<< Read status:%d;DataSize:%d;Data:"),g_pSo7_TCPIP->m_TCPIPData.s_status._ReadDataCompleted,iDataSize); + int iTmp(0); + for (int i=0;im_TCPIPData.s_recv_data._lData[i]*0.001; - csTmp.Format(_T("%.4f,"),dTmp); + iTmp=static_cast(g_pSo7_TCPIP->m_TCPIPData.s_recv_data._lData[i]); + csTmp.Format(_T("%d,"),iTmp); m_csMSG+=csTmp; } OutputWithScroll(m_csMSG,m_edMSG); diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_PLC_TCPIP.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_PLC_TCPIP.h index f5b3920..5c551e3 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_PLC_TCPIP.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_PLC_TCPIP.h @@ -17,8 +17,10 @@ public: protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV Ö§³Ö void OutputWithScroll(const CString &strNewText,CEdit &edtOutput); + virtual BOOL OnInitDialog(); DECLARE_MESSAGE_MAP() public: + CIPAddressCtrl m_IPAddress; CString m_csMSG; CEdit m_edMSG; afx_msg void OnBnClickedButtonPlcTcpipConnect(); diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_PLC_TCPIP_SERVER.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_PLC_TCPIP_SERVER.cpp index de80d2e..5c8f51a 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_PLC_TCPIP_SERVER.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_PLC_TCPIP_SERVER.cpp @@ -33,8 +33,10 @@ CSo7_Util_PLC_TCPIP_SERVER::~CSo7_Util_PLC_TCPIP_SERVER() void CSo7_Util_PLC_TCPIP_SERVER::DoDataExchange(CDataExchange* pDX) { - DDX_Control(pDX, IDC_LIST_PLC_TCPIP_SERVER_CCDDATA, m_DataList); CDialog::DoDataExchange(pDX); + DDX_Control(pDX, IDC_EDIT_MSG, m_edMSG); + DDX_Control(pDX, IDC_LIST_PLC_TCPIP_SERVER_CCDDATA, m_DataList); + } @@ -87,6 +89,7 @@ BOOL CSo7_Util_PLC_TCPIP_SERVER::OnInitDialog() GetDlgItem(IDC_EDIT_PLC_TCPIP_SERVER_STATE_LASER2)->SetWindowTextW(str); str.Format(_T("%d"),g_pSo7_TCPIP_Server->m_TCPIPServerState._PLCRunningState); GetDlgItem(IDC_EDIT_PLC_TCPIP_SERVER_PLC_STATE)->SetWindowTextW(str); + m_UpdateListControl(E_LISTCTRL_TITLE); UpdateData(FALSE); @@ -96,13 +99,23 @@ BOOL CSo7_Util_PLC_TCPIP_SERVER::OnInitDialog() void CSo7_Util_PLC_TCPIP_SERVER::OnBnClickedButtonPlcTcpipServerStart() { - ;// TODO: Add your control notification handler code here + if (g_pSo7_TCPIP_Server) + { + g_pSo7_TCPIP_Server->StartServer(m_hWnd,9600); + m_csMSG=_T(" ok."); + OutputWithScroll(m_csMSG,m_edMSG); + } } void CSo7_Util_PLC_TCPIP_SERVER::OnBnClickedButtonPlcTcpipServerStop() { - ;// TODO: Add your control notification handler code here + if (g_pSo7_TCPIP_Server) + { + g_pSo7_TCPIP_Server->StopServer(); + m_csMSG=_T(" ok."); + OutputWithScroll(m_csMSG,m_edMSG); + } } @@ -234,38 +247,84 @@ LRESULT CSo7_Util_PLC_TCPIP_SERVER::OnSocket(WPARAM w, LPARAM p) //===================================================================================== LRESULT CSo7_Util_PLC_TCPIP_SERVER::OnTCPIPMsg(WPARAM w, LPARAM p) { - UNREFERENCED_PARAMETER(p); LRESULT lResult=0; + int lPara=static_cast(p); switch(w) { case FD_ACCEPT: { - m_csMSG=_T("FD_ACCEPT"); + m_csMSG=_T(" FD_ACCEPT"); break; } case FD_READ: { - m_csMSG=_T("FD_READ"); + m_csMSG=_T(" FD_READ ")+TCPIPMsg(lPara); break; } case FD_WRITE: { - m_csMSG=_T("FD_WRITE"); + m_csMSG=_T(" FD_WRITE"); break; } case FD_CLOSE: { - m_csMSG=_T("FD_CLOSE"); + m_csMSG=_T(" FD_CLOSE"); break; } default: { - m_csMSG=_T("[Unknown]"); + m_csMSG=_T(" [Unknown]"); break; } } - m_csMSG+=_T("."); OutputWithScroll(m_csMSG,m_edMSG); return( lResult ); } - +//===================================================================================== +CString CSo7_Util_PLC_TCPIP_SERVER::TCPIPMsg(int _Type) +{ + CString cStr(""); + switch(_Type) + { + case RESPONSE_UNKNOWN: + { + cStr=_T("RESPONSE_UNKNOWN"); + break; + } + case RESPONSE_HANDSHAKE: + { + cStr=_T("RESPONSE_HANDSHAKE"); + break; + } + case RESPONSE_READ_PLC_STATE: + { + cStr=_T("RESPONSE_READ_PLC_STATE"); + break; + } + case RESPONSE_WRITE_PLC_STATE: + { + cStr=_T("RESPONSE_WRITE_PLC_STATE"); + break; + } + case RESPONSE_READ_SENSOR_STATE: + { + cStr=_T("RESPONSE_READ_SENSOR_STATE"); + break; + } + case RESPONSE_READ_CCD_DATA: + { + cStr=_T("RESPONSE_READ_CCD_DATA"); + break; + } + case RESPONSE_READ_ERRCODE: + { + cStr=_T("RESPONSE_READ_ERRCODE"); + break; + } + default: + { + break; + } + } + return cStr; +} diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_PLC_TCPIP_SERVER.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_PLC_TCPIP_SERVER.h index 10204ad..ad475a5 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_PLC_TCPIP_SERVER.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_PLC_TCPIP_SERVER.h @@ -14,9 +14,9 @@ public: // Dialog Data enum { IDD = IDD_SO7_UTIL_PLC_TCPIP_SERVER }; -protected: CString m_csMSG; CEdit m_edMSG; +protected: CEditableListCtrl m_DataList; void OutputWithScroll(const CString &strNewText,CEdit &edtOutput); @@ -36,5 +36,6 @@ public: LRESULT OnTCPIPMsg(WPARAM w, LPARAM p); afx_msg void OnBnClickedButtonPlcTcpipServerUpdatedata(); void m_UpdateListControl(int _type); + CString TCPIPMsg(int _Type); }; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj index e7cc54e..4cd7d1d 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj @@ -1,6 +1,14 @@  + + DebugS07 + Win32 + + + DebugS07 + x64 + Debug Win32 @@ -70,11 +78,21 @@ Dynamic Unicode + + Application + Dynamic + Unicode + Application Dynamic Unicode + + Application + Dynamic + Unicode + @@ -93,18 +111,30 @@ + + + + + + <_ProjectFileVersion>10.0.30319.1 $(SolutionDir)$(Configuration)\ + $(SolutionDir)$(Configuration)\ $(SolutionDir)$(Configuration)\ + $(SolutionDir)$(Configuration)\ $(Configuration)\ + $(Configuration)\ $(Configuration)\ + $(Configuration)\ true + true true + true $(SolutionDir)$(Configuration)\ $(SolutionDir)$(Configuration)\ $(SolutionDir)$(Configuration)\ @@ -119,7 +149,9 @@ false Utility for So7 Controller true + true true + true @@ -151,6 +183,36 @@ MachineX86 + + + _DEBUG;%(PreprocessorDefinitions) + false + true + + + Disabled + WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_RELEASE_SO7_CONTROLER_ONLY;_REMOVE_DLLCHR;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + Use + Level4 + EditAndContinue + true + $(IntDir)vc$(ProjectName).pdb + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + $(IntDir);%(AdditionalIncludeDirectories) + + + ..\..\..\..\..\..\..\ThirdParty\UsbSupport\LibUsb_Win\Lib\Msvc\libusb.lib;%(AdditionalDependencies) + true + Windows + MachineX86 + + _DEBUG;%(PreprocessorDefinitions) @@ -177,6 +239,32 @@ Windows + + + _DEBUG;%(PreprocessorDefinitions) + false + + + Disabled + WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebugDLL + Use + Level4 + ProgramDatabase + true + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + $(IntDir);%(AdditionalIncludeDirectories) + + + ..\..\LibUsb_Win\Lib\Msvc\libusb.lib;%(AdditionalDependencies) + true + Windows + + NDEBUG;%(PreprocessorDefinitions) @@ -310,6 +398,7 @@ ..\..\..\..\..\ThirdParty\UsbSupport\LibUsb_Win\Include + ..\..\..\..\..\ThirdParty\UsbSupport\LibUsb_Win\Include @@ -376,7 +465,9 @@ Create + Create Create + Create Create Create Create diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h index ad71e99..dd83e23 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h @@ -1062,6 +1062,8 @@ #define IDC_EDIT_PLC_TCPIP_ADDR2 1891 #define IDC_EDIT_PLC_TCPIP_DATA_SIZE 1891 #define IDC_EDIT_PLC_TCPIP_SERVER_STATE_CCD1 1892 +#define IDC_EDIT_PLC_TCPIP_ADDR3 1892 +#define IDC_EDIT__PLC_TCPIP_PORTNUMBER 1892 #define IDC_EDIT_PLC_TCPIP_SERVER_STATE_LASER2 1893 #define IDC_EDIT_PLC_TCPIP_SERVER_STATE_CCD2 1894 #define IDC_BUTTON_PLC_TCPIP_SERVER_START 1895 @@ -1072,6 +1074,7 @@ #define IDC_BUTTON_PLC_TCPIP_SERVER_UPDATESTATE2 1900 #define IDC_BUTTON_PLC_TCPIP_SERVER_UPDATEDATA 1900 #define IDC_LIST_PLC_TCPIP_SERVER_CCDDATA 1902 +#define IDC_IPADDRESS_PLC_TCPIP 1903 #define IDC_BUTTON_DIY_EXIT_BUTTON 32740 #define ID_EDIT_SO7_CONFIG_MOTION 32741 @@ -1081,7 +1084,7 @@ #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 193 #define _APS_NEXT_COMMAND_VALUE 32771 -#define _APS_NEXT_CONTROL_VALUE 1903 +#define _APS_NEXT_CONTROL_VALUE 1904 #define _APS_NEXT_SYMED_VALUE 104 #endif #endif diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.sln b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.sln index 57df6ab..3fb4dce 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.sln +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.sln @@ -21,6 +21,10 @@ Global Debug|Win32 = Debug|Win32 Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 + DebugS07|Mixed Platforms = DebugS07|Mixed Platforms + DebugS07|Win32 = DebugS07|Win32 + DebugS07|x64 = DebugS07|x64 + DebugS07|x86 = DebugS07|x86 Release|Mixed Platforms = Release|Mixed Platforms Release|Win32 = Release|Win32 Release|x64 = Release|x64 @@ -42,6 +46,13 @@ Global {50B21A79-C887-4F7E-8911-7E3A685BFA25}.Debug|x64.ActiveCfg = Debug|x64 {50B21A79-C887-4F7E-8911-7E3A685BFA25}.Debug|x64.Build.0 = Debug|x64 {50B21A79-C887-4F7E-8911-7E3A685BFA25}.Debug|x86.ActiveCfg = Debug|x64 + {50B21A79-C887-4F7E-8911-7E3A685BFA25}.DebugS07|Mixed Platforms.ActiveCfg = DebugS07|x64 + {50B21A79-C887-4F7E-8911-7E3A685BFA25}.DebugS07|Mixed Platforms.Build.0 = DebugS07|x64 + {50B21A79-C887-4F7E-8911-7E3A685BFA25}.DebugS07|Win32.ActiveCfg = DebugS07|Win32 + {50B21A79-C887-4F7E-8911-7E3A685BFA25}.DebugS07|Win32.Build.0 = DebugS07|Win32 + {50B21A79-C887-4F7E-8911-7E3A685BFA25}.DebugS07|x64.ActiveCfg = DebugS07|x64 + {50B21A79-C887-4F7E-8911-7E3A685BFA25}.DebugS07|x64.Build.0 = DebugS07|x64 + {50B21A79-C887-4F7E-8911-7E3A685BFA25}.DebugS07|x86.ActiveCfg = DebugS07|x64 {50B21A79-C887-4F7E-8911-7E3A685BFA25}.Release|Mixed Platforms.ActiveCfg = Release|x64 {50B21A79-C887-4F7E-8911-7E3A685BFA25}.Release|Mixed Platforms.Build.0 = Release|x64 {50B21A79-C887-4F7E-8911-7E3A685BFA25}.Release|Win32.ActiveCfg = Release|Win32 @@ -69,6 +80,12 @@ Global {A945B062-6081-49F0-992D-D14769C4C7D4}.Debug|Win32.Build.0 = Debug|Win32 {A945B062-6081-49F0-992D-D14769C4C7D4}.Debug|x64.ActiveCfg = Debug|Win32 {A945B062-6081-49F0-992D-D14769C4C7D4}.Debug|x86.ActiveCfg = Debug|Win32 + {A945B062-6081-49F0-992D-D14769C4C7D4}.DebugS07|Mixed Platforms.ActiveCfg = Debug|Win32 + {A945B062-6081-49F0-992D-D14769C4C7D4}.DebugS07|Mixed Platforms.Build.0 = Debug|Win32 + {A945B062-6081-49F0-992D-D14769C4C7D4}.DebugS07|Win32.ActiveCfg = Debug|Win32 + {A945B062-6081-49F0-992D-D14769C4C7D4}.DebugS07|Win32.Build.0 = Debug|Win32 + {A945B062-6081-49F0-992D-D14769C4C7D4}.DebugS07|x64.ActiveCfg = Debug|Win32 + {A945B062-6081-49F0-992D-D14769C4C7D4}.DebugS07|x86.ActiveCfg = Debug|Win32 {A945B062-6081-49F0-992D-D14769C4C7D4}.Release|Mixed Platforms.ActiveCfg = Release|Win32 {A945B062-6081-49F0-992D-D14769C4C7D4}.Release|Mixed Platforms.Build.0 = Release|Win32 {A945B062-6081-49F0-992D-D14769C4C7D4}.Release|Win32.ActiveCfg = Release|Win32 @@ -93,6 +110,12 @@ Global {BF02B850-BB32-4635-9E53-8583C474884D}.Debug|Win32.Build.0 = Debug|Win32 {BF02B850-BB32-4635-9E53-8583C474884D}.Debug|x64.ActiveCfg = Debug|Win32 {BF02B850-BB32-4635-9E53-8583C474884D}.Debug|x86.ActiveCfg = Debug|Win32 + {BF02B850-BB32-4635-9E53-8583C474884D}.DebugS07|Mixed Platforms.ActiveCfg = Debug|Win32 + {BF02B850-BB32-4635-9E53-8583C474884D}.DebugS07|Mixed Platforms.Build.0 = Debug|Win32 + {BF02B850-BB32-4635-9E53-8583C474884D}.DebugS07|Win32.ActiveCfg = Debug|Win32 + {BF02B850-BB32-4635-9E53-8583C474884D}.DebugS07|Win32.Build.0 = Debug|Win32 + {BF02B850-BB32-4635-9E53-8583C474884D}.DebugS07|x64.ActiveCfg = Debug|Win32 + {BF02B850-BB32-4635-9E53-8583C474884D}.DebugS07|x86.ActiveCfg = Debug|Win32 {BF02B850-BB32-4635-9E53-8583C474884D}.Release|Mixed Platforms.ActiveCfg = Release|Win32 {BF02B850-BB32-4635-9E53-8583C474884D}.Release|Mixed Platforms.Build.0 = Release|Win32 {BF02B850-BB32-4635-9E53-8583C474884D}.Release|Win32.ActiveCfg = Release|Win32 @@ -117,6 +140,12 @@ Global {5E3B7ED1-B324-4966-8527-D29873AC3815}.Debug|x64.ActiveCfg = Debug|x86 {5E3B7ED1-B324-4966-8527-D29873AC3815}.Debug|x86.ActiveCfg = Debug|x86 {5E3B7ED1-B324-4966-8527-D29873AC3815}.Debug|x86.Build.0 = Debug|x86 + {5E3B7ED1-B324-4966-8527-D29873AC3815}.DebugS07|Mixed Platforms.ActiveCfg = Debug|x86 + {5E3B7ED1-B324-4966-8527-D29873AC3815}.DebugS07|Mixed Platforms.Build.0 = Debug|x86 + {5E3B7ED1-B324-4966-8527-D29873AC3815}.DebugS07|Win32.ActiveCfg = Debug|x86 + {5E3B7ED1-B324-4966-8527-D29873AC3815}.DebugS07|x64.ActiveCfg = Debug|x86 + {5E3B7ED1-B324-4966-8527-D29873AC3815}.DebugS07|x86.ActiveCfg = Debug|x86 + {5E3B7ED1-B324-4966-8527-D29873AC3815}.DebugS07|x86.Build.0 = Debug|x86 {5E3B7ED1-B324-4966-8527-D29873AC3815}.Release|Mixed Platforms.ActiveCfg = Release|x86 {5E3B7ED1-B324-4966-8527-D29873AC3815}.Release|Mixed Platforms.Build.0 = Release|x86 {5E3B7ED1-B324-4966-8527-D29873AC3815}.Release|Win32.ActiveCfg = Release|x86 diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo index 7697f6c..d05cb0f 100644 Binary files a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo and b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo differ