From ce02b9364fdd546d60882f72a32aae26f43c792d Mon Sep 17 00:00:00 2001 From: TAO Cheng Date: Fri, 14 Jun 2013 16:29:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=89=8B=E5=8A=A8=E6=9C=BA?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=EF=BC=8C=E5=8F=AF=E6=AD=A3=E5=B8=B8=E8=AF=BB?= =?UTF-8?q?=E5=8F=96=E6=95=B0=E6=8D=AE=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Msi/Hsi/SevenOcean/CMMIO_SERIAL.CPP | 3 +- .../Msi/Hsi/SevenOcean/CMMIO_SERIAL.H | 1 + .../Tools/UsbUtility/Debug/UtilityDebug.Log | 45 ++ .../Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc | 41 +- .../UsbUtility/UsbUtil/So7_Manual_Machine.cpp | 468 +++++++++++++++++- .../UsbUtility/UsbUtil/So7_Manual_Machine.h | 14 + .../Hsi/Tools/UsbUtility/UsbUtil/resource.h | 5 +- .../Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo | Bin 1202176 -> 1202176 bytes 8 files changed, 542 insertions(+), 35 deletions(-) diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_SERIAL.CPP b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_SERIAL.CPP index 34e0b1e..9d72f5a 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_SERIAL.CPP +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMMIO_SERIAL.CPP @@ -57,6 +57,7 @@ CPSerial::CPSerial() m_iRecvState=FALSE; m_csRecv=_T(""); m_iRecvByte=0; + m_iReadDataNum=255; // Everything else set to NULL m_ThreadHandle = NULL; //m_TXHead = NULL; @@ -488,7 +489,7 @@ void CPSerial::OnReceive() CurrentPointer = 0; int num=0; - num = ReadPort(s, 255); + num = ReadPort(s, m_iReadDataNum); //for (int i=0;iSetCheck(TRUE); ((CButton *)GetDlgItem(IDC_RADIO_SO7_MANUAL_MACHINE_SEND_DATA_TYPE_ANSCII))->SetCheck(FALSE); m_SendType=HEXADECIMAL; - + GetDlgItem(IDC_EDIT_X_SCALE_COEFFICIENT)->SetWindowText(_T("0.5")); + GetDlgItem(IDC_EDIT_Y_SCALE_COEFFICIENT)->SetWindowText(_T("0.5")); + GetDlgItem(IDC_EDIT_Z_SCALE_COEFFICIENT)->SetWindowText(_T("0.5")); //=============================================================================== // 创建状态栏 m_StatusBar.Create(WS_CHILD|WS_VISIBLE|SBS_SIZEGRIP, CRect(0, 0, 0, 0), this, 101); @@ -127,7 +133,7 @@ void CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineStartMachine() GetDlgItem(IDC_BUTTON_SO7_MANUAL_MACHINE_SEND_DATA)->EnableWindow(TRUE); GetDlgItem(IDC_BUTTON_SO7_MANUAL_MACHINE_STOP_MACHINE)->EnableWindow(TRUE); GetDlgItem(IDC_BUTTON_SO7_MANUAL_MACHINE_START_MACHINE)->EnableWindow(FALSE); - + _Send_CMD_InitController(); } else { @@ -146,26 +152,32 @@ void CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineStopMachine() } GetDlgItem(IDC_BUTTON_SO7_MANUAL_MACHINE_SEND_DATA)->EnableWindow(FALSE); GetDlgItem(IDC_BUTTON_SO7_MANUAL_MACHINE_START_MACHINE)->EnableWindow(TRUE); + GetDlgItem(IDC_BUTTON_SO7_MANUAL_MACHINE_STOP_MACHINE)->EnableWindow(FALSE); } //=================================================== void CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineCommonCmd1() { - GetDlgItem(IDC_EDIT_SO7_MANUAL_MACHINE_DATA)->SetWindowTextW(_T("F4 0D")); + GetDlgItem(IDC_EDIT_SO7_MANUAL_MACHINE_DATA)->SetWindowTextW(_T("A6 30 30 31 47 0D")); } //=================================================== void CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineCommonCmd2() { - GetDlgItem(IDC_EDIT_SO7_MANUAL_MACHINE_DATA)->SetWindowTextW(_T("F5 0D")); + GetDlgItem(IDC_EDIT_SO7_MANUAL_MACHINE_DATA)->SetWindowTextW(_T("A4 30 30 31 45 0D")); } //=================================================== void CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineCommonCmd3() { - GetDlgItem(IDC_EDIT_SO7_MANUAL_MACHINE_DATA)->SetWindowTextW(_T("F6 0D")); + GetDlgItem(IDC_EDIT_SO7_MANUAL_MACHINE_DATA)->SetWindowTextW(_T("A5 30 30 31 46 0D")); } +//=================================================== +void CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineCommonCmd4() +{ + GetDlgItem(IDC_EDIT_SO7_MANUAL_MACHINE_DATA)->SetWindowTextW(_T("A6 30 30 31 47 0D")); +} //=================================================== void CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineSendDataTypeHex() { @@ -190,8 +202,9 @@ void CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineSendData() DWORD iSendDataLength(0); DWORD iWriteByte(0); + m_pSO7_PCDSerial->m_iReadDataNum=255; m_pSO7_PCDSerial->m_csRecv=_T(""); - if (true)//m_SendType==HEXADECIMAL) + if (m_SendType==HEXADECIMAL) { char* stop; BYTE bSendData[MAX_OUTPUT_BUFFER_SIZE]={0}; @@ -238,7 +251,7 @@ void CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineSendData() m_OutMessage=_T("[Recv]"); for (INT i=0;im_iRecvByte;i++) { - csTemp.Format(_T("%X "),m_pSO7_PCDSerial->m_RecvData[i]); + csTemp.Format(_T("%X "),(BYTE)m_pSO7_PCDSerial->m_RecvData[i]); m_OutMessage+=csTemp; } OutputWithScroll(m_OutMessage,m_edMSG); @@ -265,14 +278,430 @@ void CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineSendData() m_StatusBar.SetText(_T("Time Out!"), 2, 0); } } +//=================================================== +void CSo7_Manual_Machine::OnBnClickedCheckSo7ManualMachineReadPosContinue() +{ + if (!((CButton*)(GetDlgItem(IDC_CHECK_SO7_MANUAL_MACHINE_READ_POS_CONTINUE)))->GetCheck()) + { + m_pSO7_PCDSerial->m_iReadDataNum=255; + KillTimer(1); + } +} +//=================================================== +void CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachinereadPos() +{ + _Send_CMD_ReadPositionX(); + _Send_CMD_ReadPositionY(); + _Send_CMD_ReadPositionZ(); + UpdatePosDisplay(); + if (((CButton*)(GetDlgItem(IDC_CHECK_SO7_MANUAL_MACHINE_READ_POS_CONTINUE)))->GetCheck()) + { + m_pSO7_PCDSerial->m_iReadDataNum=255; + SetTimer(1,200,NULL); + } + else + { + KillTimer(1); + } +} +//=================================================== +BOOL CSo7_Manual_Machine::_Send_Common_CMD(const char* _SendData,DWORD _SendDataLength) +{ + BOOL rStatus(FALSE); + DWORD iWriteByte(0); + m_pSO7_PCDSerial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_iReadDataNum=255; + iWriteByte=m_pSO7_PCDSerial->Send(_SendData,_SendDataLength); + m_OutMessage.Format(_T("Send(%dByte)"),iWriteByte); + m_StatusBar.SetText(m_OutMessage, 1, 0); + //接受数据 + INT iRetrys(0); + CString csTemp; + while(!m_pSO7_PCDSerial->m_iRecvState && iRetrys<20) + { + iRetrys++; + Sleep(100); + } + if (m_pSO7_PCDSerial->m_iRecvState) + { + if(m_pSO7_PCDSerial->m_csRecv==_T("")) + { + m_pSO7_PCDSerial->m_iRecvState=FALSE; + INT iRetrys2(0); + while(!m_pSO7_PCDSerial->m_iRecvState && iRetrys2<60) + { + iRetrys2++; + Sleep(100); + } + } + m_OutMessage.Format(_T("Recv(%dByte)"),m_pSO7_PCDSerial->m_iRecvByte); + m_StatusBar.SetText(m_OutMessage, 2, 0); + m_pSO7_PCDSerial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_iRecvState=FALSE; + rStatus=TRUE; + } + else + { + m_StatusBar.SetText(_T("Time Out!"), 2, 0); + } + return rStatus; +}; +//=================================================== +void CSo7_Manual_Machine::_Send_CMD_InitController() +{ + BYTE bSendData1[6]={0xA6,0x30,0x30,0x31,0x47,0x0D}; + _Send_Common_CMD((const char*)bSendData1,6); + BYTE bSendData2[6]={0xA4,0x30,0x30,0x31,0x45,0x0D}; + _Send_Common_CMD((const char*)bSendData2,6); + BYTE bSendData3[6]={0xA5,0x30,0x30,0x31,0x46,0x0D}; + _Send_Common_CMD((const char*)bSendData3,6); + BYTE bSendData4[6]={0xA6,0x30,0x30,0x31,0x47,0x0D}; + _Send_Common_CMD((const char*)bSendData4,6); + +}; +//=================================================== +void CSo7_Manual_Machine::_Send_CMD_ReadPositionX() +{ + BYTE bSendData[2]={0xF4,0x0D}; + DWORD iSendDataLength(2); + DWORD iWriteByte(0); + m_pSO7_PCDSerial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_iReadDataNum=255; + iWriteByte=m_pSO7_PCDSerial->Send((const char*)bSendData,iSendDataLength); + m_OutMessage.Format(_T("Send(%dByte)"),iWriteByte); + m_StatusBar.SetText(m_OutMessage, 1, 0); + //接受数据 + INT iRetrys(0); + CString csTemp; + while(!m_pSO7_PCDSerial->m_iRecvState && iRetrys<20) + { + iRetrys++; + Sleep(100); + } + if (m_pSO7_PCDSerial->m_iRecvState) + { + if(m_pSO7_PCDSerial->m_csRecv==_T("")) + { + m_pSO7_PCDSerial->m_iRecvState=FALSE; + INT iRetrys2(0); + while(!m_pSO7_PCDSerial->m_iRecvState && iRetrys2<60) + { + iRetrys2++; + Sleep(100); + } + } + m_pSO7_Proto->g_machine.x._d_cur_pos_=HEXDataToIntScalePosX(&m_pSO7_PCDSerial->m_RecvData[2]); + m_pSO7_Proto->g_machine.x._d_cur_pos_ *= m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution; + m_OutMessage.Format(_T("Recv(%dByte)"),m_pSO7_PCDSerial->m_iRecvByte); + m_StatusBar.SetText(m_OutMessage, 2, 0); + + m_pSO7_PCDSerial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_iRecvState=FALSE; + } + else + { + m_StatusBar.SetText(_T("Time Out!"), 2, 0); + } +}; +//=================================================== +void CSo7_Manual_Machine::_Send_CMD_ReadPositionY() +{ + BYTE bSendData[2]={0xF5,0x0D}; + DWORD iSendDataLength(2); + DWORD iWriteByte(0); + m_pSO7_PCDSerial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_iReadDataNum=255; + iWriteByte=m_pSO7_PCDSerial->Send((const char*)bSendData,iSendDataLength); + m_OutMessage.Format(_T("Send(%dByte)"),iWriteByte); + m_StatusBar.SetText(m_OutMessage, 1, 0); + //接受数据 + INT iRetrys(0); + CString csTemp; + while(!m_pSO7_PCDSerial->m_iRecvState && iRetrys<20) + { + iRetrys++; + Sleep(100); + } + if (m_pSO7_PCDSerial->m_iRecvState) + { + if(m_pSO7_PCDSerial->m_csRecv==_T("")) + { + m_pSO7_PCDSerial->m_iRecvState=FALSE; + INT iRetrys2(0); + while(!m_pSO7_PCDSerial->m_iRecvState && iRetrys2<60) + { + iRetrys2++; + Sleep(100); + } + } + m_pSO7_Proto->g_machine.y._d_cur_pos_=HEXDataToIntScalePosY(&m_pSO7_PCDSerial->m_RecvData[2]); + m_pSO7_Proto->g_machine.y._d_cur_pos_ *= m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution; + m_OutMessage.Format(_T("Recv(%dByte)"),m_pSO7_PCDSerial->m_iRecvByte); + m_StatusBar.SetText(m_OutMessage, 2, 0); + + m_pSO7_PCDSerial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_iRecvState=FALSE; + } + else + { + m_StatusBar.SetText(_T("Time Out!"), 2, 0); + } +}; +//=================================================== +void CSo7_Manual_Machine::_Send_CMD_ReadPositionZ() +{ + BYTE bSendData[2]={0xF6,0x0D}; + DWORD iSendDataLength(2); + DWORD iWriteByte(0); + m_pSO7_PCDSerial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_iReadDataNum=255; + iWriteByte=m_pSO7_PCDSerial->Send((const char*)bSendData,iSendDataLength); + m_OutMessage.Format(_T("Send(%dByte)"),iWriteByte); + m_StatusBar.SetText(m_OutMessage, 1, 0); + //接受数据 + INT iRetrys(0); + CString csTemp; + while(!m_pSO7_PCDSerial->m_iRecvState && iRetrys<20) + { + iRetrys++; + Sleep(100); + } + if (m_pSO7_PCDSerial->m_iRecvState) + { + if(m_pSO7_PCDSerial->m_csRecv==_T("")) + { + m_pSO7_PCDSerial->m_iRecvState=FALSE; + INT iRetrys2(0); + while(!m_pSO7_PCDSerial->m_iRecvState && iRetrys2<60) + { + iRetrys2++; + Sleep(100); + } + } + m_pSO7_Proto->g_machine.z._d_cur_pos_=HEXDataToIntScalePosZ(&m_pSO7_PCDSerial->m_RecvData[2]); + m_pSO7_Proto->g_machine.z._d_cur_pos_ *= m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution; + m_OutMessage.Format(_T("Recv(%dByte)"),m_pSO7_PCDSerial->m_iRecvByte); + m_StatusBar.SetText(m_OutMessage, 2, 0); + + m_pSO7_PCDSerial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_iRecvState=FALSE; + } + else + { + m_StatusBar.SetText(_T("Time Out!"), 2, 0); + } +}; +void CSo7_Manual_Machine::_Process_RecvData() +{ + //接受数据 + CString csTemp; + if (m_pSO7_PCDSerial->m_iRecvState) + { + if(m_pSO7_PCDSerial->m_csRecv==_T("")) + { + m_pSO7_PCDSerial->m_iRecvState=FALSE; + INT iRetrys2(0); + while(!m_pSO7_PCDSerial->m_iRecvState && iRetrys2<60) + { + iRetrys2++; + Sleep(50); + } + } + //m_OutMessage=_T("[Recv]"); + //for (INT i=0;im_iRecvByte;i++) + //{ + // csTemp.Format(_T("%X "),(BYTE)m_pSO7_PCDSerial->m_RecvData[i]); + // m_OutMessage+=csTemp; + //} + //OutputWithScroll(m_OutMessage,m_edMSG); + int i=0; + while(im_iRecvByte) + { + if ((BYTE)m_pSO7_PCDSerial->m_RecvData[i]==0xF4)//x + { + if ((m_pSO7_PCDSerial->m_iRecvByte-i)>=12) + { + m_pSO7_Proto->g_machine.x._d_cur_pos_=HEXDataToIntScalePosX(&m_pSO7_PCDSerial->m_RecvData[i+1]); + m_pSO7_Proto->g_machine.x._d_cur_pos_ *= m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution; + } + + i+=12; + } + else if ((BYTE)m_pSO7_PCDSerial->m_RecvData[i]==0xF5)//y + { + if ((m_pSO7_PCDSerial->m_iRecvByte-i)>=12) + { + m_pSO7_Proto->g_machine.y._d_cur_pos_=HEXDataToIntScalePosY(&m_pSO7_PCDSerial->m_RecvData[i+1]); + m_pSO7_Proto->g_machine.y._d_cur_pos_ *= m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution; + } + i+=12; + } + else if ((BYTE)m_pSO7_PCDSerial->m_RecvData[i]==0xF6)//z + { + if ((m_pSO7_PCDSerial->m_iRecvByte-i)>=12) + { + m_pSO7_Proto->g_machine.z._d_cur_pos_=HEXDataToIntScalePosZ(&m_pSO7_PCDSerial->m_RecvData[i+1]); + m_pSO7_Proto->g_machine.z._d_cur_pos_ *= m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution; + } + i+=12; + } + else + { + i++; + } + }; + + m_OutMessage.Format(_T("Recv(%dByte)"),m_pSO7_PCDSerial->m_iRecvByte); + m_StatusBar.SetText(m_OutMessage, 2, 0); + + m_pSO7_PCDSerial->m_csRecv=_T(""); + m_pSO7_PCDSerial->m_iRecvState=FALSE; + } + else + { + m_StatusBar.SetText(_T("Time Out!"), 2, 0); + } +} +//=================================================== +double CSo7_Manual_Machine::HEXDataToIntScalePosX(char* _RecvData) +{ + char i=0,pc=0; + char tc=0; + float ine(0.0); + float dResult(0.0); + tc=0; + for(i=0;i<10;i++) + tc+=_RecvData[i]; + tc=tc&0x7f; + pc=_RecvData[10]&0x7f; + + if(tc==pc) + { + unsigned char tbak; + + for(i=1;i<10;i++) + _RecvData[i]=_RecvData[i]-0x30; + tbak=_RecvData[2]; + _RecvData[2]=_RecvData[4]; + _RecvData[4]=tbak; + tbak=_RecvData[3]; + _RecvData[3]=_RecvData[5]; + _RecvData[5]=tbak; + + for(i=2;i<6;i++) + _RecvData[i]=_RecvData[i]^0x03; + + ine=float(0.1),dResult=0.0; + for(i=9;i>0;i--) + { + ine=ine*10; + dResult+=ine*_RecvData[i]; + } + dResult=dResult/10000; + if(_RecvData[0]==16) + dResult=-dResult; + } + return static_cast(dResult); +}; +//=================================================== +double CSo7_Manual_Machine::HEXDataToIntScalePosY(char* _RecvData) +{ + char i=0,pc=0; + char tc=0; + float ine(0.0); + float dResult(0.0); + tc=0; + for(i=0;i<10;i++) + tc+=_RecvData[i]; + tc=tc&0x7f; + pc=_RecvData[10]&0x7f; + + if(tc==pc) + { + unsigned char tbak; + + for(i=1;i<10;i++) + _RecvData[i]=_RecvData[i]-0x30; + tbak=_RecvData[3]; + _RecvData[3]=_RecvData[5]; + _RecvData[5]=tbak; + tbak=_RecvData[4]; + _RecvData[4]=_RecvData[6]; + _RecvData[6]=tbak; + for(i=3;i<7;i++) + _RecvData[i]=_RecvData[i]^0x05; + ine=float(0.1),dResult=0; + for(i=9;i>0;i--) + { + ine=ine*10; + dResult+=ine*_RecvData[i]; + } + dResult = dResult/10000; + if(_RecvData[0]==16) + dResult=-dResult; + } + return static_cast(dResult); +}; +//=================================================== +double CSo7_Manual_Machine::HEXDataToIntScalePosZ(char* _RecvData) +{ + char i=0,pc=0; + char tc=0; + float ine(0.0); + float dResult(0.0); + tc=0; + for(i=0;i<10;i++) + tc+=_RecvData[i]; + tc=tc&0x7f; + pc=_RecvData[10]&0x7f; + + if(tc==pc) + { + unsigned char tbak; + + for(i=1;i<10;i++) + _RecvData[i]=_RecvData[i]-0x30; + tbak=_RecvData[4]; + _RecvData[4]=_RecvData[6]; + _RecvData[6]=tbak; + tbak=_RecvData[5]; + _RecvData[5]=_RecvData[7]; + _RecvData[7]=tbak; + + for(i=4;i<8;i++) + _RecvData[i]=_RecvData[i]^0x07; + + ine=float(0.1),dResult=0; + for(i=9;i>0;i--) + { + ine=ine*10; + dResult+=ine*_RecvData[i]; + } + dResult=dResult/10000; + if(_RecvData[0]==16) + dResult=-dResult; + } + return static_cast(dResult); +}; +void CSo7_Manual_Machine::UpdatePosDisplay() +{ + CString cStr; + cStr.Format(_T("%8.4lf"), m_pSO7_Proto->g_machine.x._d_cur_pos_); + GetDlgItem(IDC_EDIT_X_POSITION_58)->SetWindowText(cStr); + cStr.Format(_T("%8.4lf"), m_pSO7_Proto->g_machine.y._d_cur_pos_); + GetDlgItem(IDC_EDIT_Y_POSITION_58)->SetWindowText(cStr); + cStr.Format(_T("%8.4lf"), m_pSO7_Proto->g_machine.z._d_cur_pos_); + GetDlgItem(IDC_EDIT_Z_POSITION_58)->SetWindowText(cStr); + +} //=================================================== void CSo7_Manual_Machine::OnEnKillfocusEditXScaleCoefficient() { UpdateData(TRUE); USES_CONVERSION; CString str; - GetDlgItem(IDC_EDIT_X_AXIS)->GetWindowText(str); + GetDlgItem(IDC_EDIT_X_SCALE_COEFFICIENT)->GetWindowText(str); const char* cTempValue=T2A(str); m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution=atof(cTempValue); } @@ -283,7 +712,7 @@ void CSo7_Manual_Machine::OnEnKillfocusEditYScaleCoefficient() UpdateData(TRUE); USES_CONVERSION; CString str; - GetDlgItem(IDC_EDIT_Y_AXIS)->GetWindowText(str); + GetDlgItem(IDC_EDIT_Y_SCALE_COEFFICIENT)->GetWindowText(str); const char* cTempValue=T2A(str); m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution=atof(cTempValue); } @@ -294,7 +723,7 @@ void CSo7_Manual_Machine::OnEnKillfocusEditZScaleCoefficient() UpdateData(TRUE); USES_CONVERSION; CString str; - GetDlgItem(IDC_EDIT_Z_AXIS)->GetWindowText(str); + GetDlgItem(IDC_EDIT_Z_SCALE_COEFFICIENT)->GetWindowText(str); const char* cTempValue=T2A(str); m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution=atof(cTempValue); } @@ -317,6 +746,20 @@ void CSo7_Manual_Machine::OnBnClickedCancel() OnBnClickedButtonSo7ManualMachineStopMachine(); CDialog::OnCancel(); } +//=================================== +void CSo7_Manual_Machine::OnTimer(UINT_PTR nIDEvent) +{ + switch(nIDEvent) + { + case 1: + { + _Process_RecvData(); + UpdatePosDisplay(); + } + break; + } + CDialog::OnTimer(nIDEvent); +} //===================================================================================== //Print message on edit control @@ -339,3 +782,8 @@ void CSo7_Manual_Machine::OutputWithScroll(const CString &strNewText,CEdit &edtO edtOutput.SetSel(iCount, iCount); edtOutput.SetRedraw(TRUE); } + + + + + diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Manual_Machine.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Manual_Machine.h index 9faf7c3..9c0d85d 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Manual_Machine.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Manual_Machine.h @@ -28,7 +28,18 @@ protected: CEdit m_edMSG; public: + void _Send_CMD_InitController(); + BOOL _Send_Common_CMD(const char* _SendData,DWORD _SendDataLength); + void _Send_CMD_ReadPositionX(); + void _Send_CMD_ReadPositionY(); + void _Send_CMD_ReadPositionZ(); + void _Process_RecvData(); + double HEXDataToIntScalePosX(char* _RecvData); + double HEXDataToIntScalePosY(char* _RecvData); + double HEXDataToIntScalePosZ(char* _RecvData); + void UpdatePosDisplay(); void OutputWithScroll(const CString &strNewText,CEdit &edtOutput); + afx_msg void OnTimer(UINT_PTR nIDEvent); afx_msg void OnBnClickedButtonSo7ManualMachineStartMachine(); afx_msg void OnBnClickedButtonSo7ManualMachineStopMachine(); afx_msg void OnBnClickedRadioSo7ManualMachineCommonCmd1(); @@ -43,4 +54,7 @@ public: afx_msg void OnBnClickedButtonSo7ManualMachineClearMsg(); afx_msg void OnBnClickedButtonSo7ManualMachineSaveMsg(); afx_msg void OnBnClickedCancel(); + afx_msg void OnBnClickedButtonSo7ManualMachinereadPos(); + afx_msg void OnBnClickedCheckSo7ManualMachineReadPosContinue(); + afx_msg void OnBnClickedRadioSo7ManualMachineCommonCmd4(); }; 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 e893a3d..2142cb7 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h @@ -743,8 +743,9 @@ #define IDC_EDIT_IMAGEDLL_2LASER_MEASURED_VALUE9 1610 #define IDC_EDIT_TEST_KEYENCE_SETFOCUS 1650 #define IDC_RADIO_SO7_VERIFICATION_ALGORITHM 1651 -#define IDC_BUTTON4 1652 #define IDC_BUTTON_SO7_MANUAL_MACHINEREAD_POS 1652 +#define IDC_RADIO1 1653 +#define IDC_RADIO_SO7_MANUAL_MACHINE_COMMON_CMD4 1653 // Next default values for new objects // @@ -752,7 +753,7 @@ #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 168 #define _APS_NEXT_COMMAND_VALUE 32771 -#define _APS_NEXT_CONTROL_VALUE 1653 +#define _APS_NEXT_CONTROL_VALUE 1654 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif 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 bf06d31c9ef7d6b8880d0825044fb206861737a0..7d30dc7e806ab778b17f6294983533fe0f4a3bd7 100644 GIT binary patch delta 7853 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 delta 6323 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