diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_Interface.cpp b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_Interface.cpp index 3273a2c..5f15212 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_Interface.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_Interface.cpp @@ -113,4 +113,17 @@ int CSo7_Interface::Pro_Face_Du(MY3DPoint* pArr, int n, double* Coe, double* Err dis=dis2; return 1; +} +//======================================== +double CSo7_Interface::PointToFace_1(double* _dCoe, MY3DPoint _PointXYZ) +{ + double a,b,c,d; + double r1(0.0); + a = _dCoe[0]; + b = _dCoe[1]; + c = _dCoe[2]; + d = _dCoe[3]; + r1=((a*_PointXYZ.x + b*_PointXYZ.y + c*_PointXYZ.z + d)/sqrt(a*a + b*b + c*c)); + return r1; + } \ No newline at end of file diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_Interface.h b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_Interface.h index 7faf2e2..713e0a9 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_Interface.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_Interface.h @@ -43,6 +43,8 @@ public: void PauseScanAndGetData(); int Pro_Face_Du(MY3DPoint* pArr, int n, double* Coe, double* Error, double& dis); + double PointToFace_1(double* _dCoe, MY3DPoint _PointXYZ); + }; #endif diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log index 1abd3d9..8c07685 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log @@ -2940,3 +2940,13 @@ Init:Open device succeed . _start_machine Exit: Exit_SO7Usb Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. 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 8544b9f..26a9a3b 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 @@ -52,7 +52,7 @@ BEGIN EDITTEXT IDC_EDIT_COAXIAL_LIGHT4,261,83,41,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_COAXIAL_LIGHT,261,97,41,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_COAXIAL_LIGHT2,261,111,41,12,ES_AUTOHSCROLL - PUSHBUTTON "Motion",IDC_BUTTON_LOAD_SO7CONFIG,20,143,44,23,BS_MULTILINE + PUSHBUTTON "Motion Parameter",IDC_BUTTON_LOAD_SO7CONFIG,20,143,44,23,BS_MULTILINE PUSHBUTTON "V+",IDC_BUTTON_SO7_MOVE_ZOOM_IN,77,159,25,12 PUSHBUTTON "V-",IDC_BUTTON_SO7_MOVE_ZOOM_OUT,77,180,25,12 PUSHBUTTON "Z+",IDC_BUTTON_SO7_MOVE_Z_UP,101,140,25,12 @@ -62,7 +62,7 @@ BEGIN PUSHBUTTON "Y-",IDC_BUTTON_SO7_MOVE_Y_BACK,154,182,25,12 PUSHBUTTON "X+",IDC_BUTTON_SO7_MOVE_X_RIGHT,179,169,25,12 PUSHBUTTON "Home XYZ",IDC_BUTTON_SO7_RESET_XYZ,277,154,76,14,BS_MULTILINE - PUSHBUTTON "Hoom Manual",IDC_BUTTON_MANUAL_HOME,277,135,76,14 + PUSHBUTTON "Home Manual",IDC_BUTTON_MANUAL_HOME,277,135,76,14 PUSHBUTTON "Home DCC",IDC_BUTTON_RESET_WORKTABLE,277,192,40,14 PUSHBUTTON "Home Worktable Right",IDC_BUTTON_RESET_WORKTABLE_RIGHT,277,173,76,14 PUSHBUTTON "Move\n To",IDC_BUTTON_MOVE_TO,359,142,32,27,BS_MULTILINE @@ -70,9 +70,9 @@ BEGIN PUSHBUTTON "Set Reset Flag",IDC_BUTTON_SET_RESET_FLAG,133,108,61,14 PUSHBUTTON "Set outport",IDC_BUTTON_GET_LASER,181,240,61,14 PUSHBUTTON "Home V",IDC_BUTTON_RESET_V,100,240,61,14 - EDITTEXT IDC_EDIT_X_SCALE_COEFFICIENT,46,284,54,12,ES_CENTER | ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_Y_SCALE_COEFFICIENT,109,284,54,12,ES_CENTER | ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_Z_SCALE_COEFFICIENT,172,284,54,12,ES_CENTER | ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_X_SCALE_COEFFICIENT,62,284,39,12,ES_CENTER | ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_Y_SCALE_COEFFICIENT,121,284,39,12,ES_CENTER | ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_Z_SCALE_COEFFICIENT,180,284,39,12,ES_CENTER | ES_AUTOHSCROLL EDITTEXT IDC_EDIT_SET_VER_NO,325,313,45,14,ES_AUTOHSCROLL GROUPBOX "USB Control",IDC_STATIC,15,12,89,115 GROUPBOX "Config",IDC_STATIC,13,129,55,83 @@ -123,10 +123,10 @@ BEGIN LTEXT "Z Signal",IDC_STATIC,189,310,26,8 LTEXT "Pos Update Frequency",IDC_STATIC,104,384,74,8 LTEXT "Spare1",IDC_STATIC,232,112,24,8 - CTEXT "X",IDC_STATIC,70,273,8,8 - CTEXT "Y",IDC_STATIC,133,273,8,8 + CTEXT "X",IDC_STATIC,79,273,8,8 + CTEXT "Y",IDC_STATIC,137,273,8,8 CTEXT "Z",IDC_STATIC,195,273,8,8 - LTEXT "比例 系数",IDC_STATIC,23,281,18,18 + CTEXT "Scale Resolution",IDC_STATIC,20,280,35,20 GROUPBOX "Set Gear",IDC_STATIC,208,132,56,81 PUSHBUTTON "so7_config",IDC_BUTTON_SETUP_SO7CONFIG,20,184,44,23 LTEXT "1",IDC_STATIC,337,27,8,8 @@ -398,7 +398,7 @@ BEGIN CONTROL "LJ_G激光",IDC_RADIO_KEYENCE_LASER3,"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,175,111,76,10 CONTROL "Verifcation algorithm",IDC_RADIO_SO7_VERIFICATION_ALGORITHM, "Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,48,138,81,10 - CONTROL "Image.dll",IDC_RADIO_TEST_IMAGE_DLL,"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,48,149,45,10 + CONTROL "Image.dll",IDC_RADIO_TEST_IMAGE_DLL,"Button",BS_AUTORADIOBUTTON,175,124,45,10 DEFPUSHBUTTON "OK",IDOK,181,145,50,14 PUSHBUTTON "Cancel",IDCANCEL,241,145,50,14 GROUPBOX "测试选项",IDC_STATIC,29,15,243,120 diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Move_Location.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Move_Location.cpp index b81015b..7cf53e9 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Move_Location.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Move_Location.cpp @@ -2373,7 +2373,6 @@ void CSO7_Move_Location::OnTimer(UINT_PTR nIDEvent) } break; } - case 2: { if (m_pSO7_Proto) @@ -2490,27 +2489,48 @@ void CSO7_Move_Location::OnTimer(UINT_PTR nIDEvent) } case 5: { - BYTE cdata[4]={0}; - m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(1,12); - cdata[0]=static_cast(m_pSO7_Proto->g_machine.FPGAData); - m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(1,13); - cdata[1]=static_cast(m_pSO7_Proto->g_machine.FPGAData); - m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(1,14); - cdata[2]=static_cast(m_pSO7_Proto->g_machine.FPGAData); - m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(1,15); - cdata[3]=static_cast(m_pSO7_Proto->g_machine.FPGAData); - if (true) - { - m_OutMessage.Format(_T("[Err Pos]%02X %02X %02X %02X.\r\n"),cdata[0],cdata[1],cdata[2],cdata[3]); - } - else - { - m_OutMessage.Format(_T("[Err Pos]%d %d %d.\r\n"),cdata[0]*256+cdata[1],cdata[2]*256+cdata[3],((cdata[0]*256+cdata[1])-(cdata[2]*256+cdata[3]))); - } - CString strOutput; m_edit_RepeTest.GetWindowText(strOutput); - strOutput += m_OutMessage; + BYTE cdata[4]={0}; + if (abs(m_pSO7_Proto->g_machine.x._pos_fixed._long_)>5)//X + { + m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(2,12); + cdata[0]=static_cast(m_pSO7_Proto->g_machine.FPGAData); + m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(2,13); + cdata[1]=static_cast(m_pSO7_Proto->g_machine.FPGAData); + m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(2,14); + cdata[2]=static_cast(m_pSO7_Proto->g_machine.FPGAData); + m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(2,15); + cdata[3]=static_cast(m_pSO7_Proto->g_machine.FPGAData); + m_OutMessage.Format(_T("[Err X](%02X) %02X %02X %02X.\r\n"),cdata[0],cdata[1],cdata[2],cdata[3]); + strOutput += m_OutMessage; + } + if (abs(m_pSO7_Proto->g_machine.y._pos_fixed._long_)>5)//Y + { + m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(1,12); + cdata[0]=static_cast(m_pSO7_Proto->g_machine.FPGAData); + m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(1,13); + cdata[1]=static_cast(m_pSO7_Proto->g_machine.FPGAData); + m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(1,14); + cdata[2]=static_cast(m_pSO7_Proto->g_machine.FPGAData); + m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(1,15); + cdata[3]=static_cast(m_pSO7_Proto->g_machine.FPGAData); + m_OutMessage.Format(_T("[Err Y](%02X) %02X %02X %02X.\r\n"),cdata[0],cdata[1],cdata[2],cdata[3]); + strOutput += m_OutMessage; + } + if (abs(m_pSO7_Proto->g_machine.z._pos_fixed._long_)>5)//Z + { + m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(3,12); + cdata[0]=static_cast(m_pSO7_Proto->g_machine.FPGAData); + m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(3,13); + cdata[1]=static_cast(m_pSO7_Proto->g_machine.FPGAData); + m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(3,14); + cdata[2]=static_cast(m_pSO7_Proto->g_machine.FPGAData); + m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(3,15); + cdata[3]=static_cast(m_pSO7_Proto->g_machine.FPGAData); + m_OutMessage.Format(_T("[Err Z](%02X) %02X %02X %02X.\r\n"),cdata[0],cdata[1],cdata[2],cdata[3]); + strOutput += m_OutMessage; + } OutputWithScroll(strOutput,m_edit_RepeTest); break; } diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.cpp index a02ddf0..ce69cbf 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.cpp @@ -255,7 +255,22 @@ BOOL CSO7_UtilDlg::OnInitDialog() ((CComboBox *)GetDlgItem(IDC_COMBO_RWDATA_ADDR))->ResetContent(); for(int i=0;i<16;i++) { - csTmp.Format(_T("%d"),i); + if (i==9) + { + csTmp=_T("9-Flag"); + } + else if (i==10) + { + csTmp=_T("10-Trigger"); + } + else if (i==11) + { + csTmp=_T("11-AccErr"); + } + else + { + csTmp.Format(_T("%d"),i); + } ((CComboBox *)GetDlgItem(IDC_COMBO_RWDATA_ADDR))->InsertString(i,csTmp); } ((CComboBox *)GetDlgItem(IDC_COMBO_RWDATA_ADDR))->SetCurSel(10); diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_ImageDll.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_ImageDll.cpp index 5b3d2af..03ace09 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_ImageDll.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_ImageDll.cpp @@ -104,6 +104,12 @@ void CSo7_Util_ImageDll::OnBnClickedButtonImagedll2laserCalculate() MY3DPoint Top_Pos[4]; MY3DPoint Bottom_Pos[4]; + for (int i=0;i<4;i++) + { + Bottom_Pos[i].x=0.0; + Bottom_Pos[i].y=0.0; + Bottom_Pos[i].z=0.0; + } double error[MAX_POINT]={0.0}; double dis=0.0; int m_nStep=4; @@ -173,6 +179,13 @@ void CSo7_Util_ImageDll::OnBnClickedButtonImagedll2laserCalculate() cTempValue=T2A(str); m_pSo7_Interface->Pro_Face_Du(Top_Pos,m_nStep,coe,error,dis); + MY3DPoint PntPos; + PntPos.x=Bottom_Pos[0].z; + PntPos.y=Bottom_Pos[1].z; + PntPos.z=Bottom_Pos[2].z; + double dResult=m_pSo7_Interface->PointToFace_1(coe,Bottom_Pos[0]); + str.Format(_T("%.4f"),dResult); + GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_MEASURED_VALUE)->SetWindowTextW(str); m_pSo7_Interface->Pro_Face_Du(Bottom_Pos,m_nStep,coe,error,dis); } 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 b99ec87..a554108 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