diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Keyence/Keyence_Laser.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Keyence/Keyence_Laser.cpp index e44c877..7482e11 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Keyence/Keyence_Laser.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Keyence/Keyence_Laser.cpp @@ -37,7 +37,7 @@ void CKeyence_Laser::KeyenceLaserInit(void) m_pDataStorageGetData=(pLKIF_DataStorageGetData)GetProcAddress(m_hLkif,"LKIF_DataStorageGetData"); m_pDataStorageGetStatus=(pLKIF_DataStorageGetStatus)GetProcAddress(m_hLkif,"LKIF_DataStorageGetStatus"); m_pSetDataStorage=(pLKIF_SetDataStorage)GetProcAddress(m_hLkif,"LKIF_SetDataStorage"); - + m_pSetProgramNo=(pLKIF_SETPROGRAMNO)GetProcAddress(m_hLkif,"LKIF_SetProgramNo"); } } } @@ -241,3 +241,10 @@ BOOL CKeyence_Laser::GetStoreDataStatus() bStatus=m_pDataStorageGetStatus(m_iSetOutNo,&m_bIsStorage,&m_StoredDataNumber); return bStatus; }; +//============================================== +BOOL CKeyence_Laser::SetProgramNO(int ProNO) +{ + BOOL bStatus(FALSE); + bStatus=m_pSetProgramNo(ProNO); + return bStatus; +}; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Keyence/Keyence_Laser.h b/PcDmis/Base/Interfac/Msi/Hsi/Keyence/Keyence_Laser.h index 089fe86..c237602 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Keyence/Keyence_Laser.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Keyence/Keyence_Laser.h @@ -24,7 +24,8 @@ typedef BOOL (WINAPI* pLKIF_DataStorageGetData)(IN int OutNo,IN int NumOutBuffer typedef BOOL (WINAPI* pLKIF_DataStorageGetStatus)(IN int OutNo,OUT BOOL *IsStorage,OUT int *NumStorageData); // Set Data Storage typedef BOOL (WINAPI* pLKIF_SetDataStorage)(IN LKIF_TARGETOUT TargetOut,IN int NumStorage,IN LKIF_STORAGECYCLE StorageCycle); - +// Program Change +typedef BOOL (WINAPI* pLKIF_SETPROGRAMNO)(IN int ProgramNo); //====================================================================================== class CKeyence_Laser { @@ -46,7 +47,7 @@ public: pLKIF_DataStorageGetData m_pDataStorageGetData; pLKIF_DataStorageGetStatus m_pDataStorageGetStatus; pLKIF_SetDataStorage m_pSetDataStorage; - + pLKIF_SETPROGRAMNO m_pSetProgramNo; int m_StoredDataNumber; BOOL m_bIsStorage; void KeyenceLaserInit(void); @@ -56,6 +57,8 @@ public: BOOL GetStoreDataStatus(); BOOL GetStoredData(float *GetStorageData,int *GetStorageNumber); BOOL PauseScanAndGetData(float *GetStorageData,int *GetStorageNumber); + BOOL SetProgramNO(int ProNO); + }; #endif diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/DLL.h b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/DLL.h index c906bde..d81b04c 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/DLL.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/DLL.h @@ -5,6 +5,7 @@ #include #include "NewDataStruct.h" +#define MAX_POINT 5000 #define PI 3.14159 #define SET_FACE_NUM 100 diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_Interface.cpp b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_Interface.cpp index ad79505..c65e592 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_Interface.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/So7_Interface.cpp @@ -8,7 +8,8 @@ CSo7_Interface::CSo7_Interface() { - + m_hImageDLL=NULL; + m_hFitDLL=NULL; } CSo7_Interface::~CSo7_Interface() @@ -16,10 +17,17 @@ CSo7_Interface::~CSo7_Interface() if(m_hImageDLL) { Pro_cmd(Exit_DLL,(LPARAM)&Image_Info); + Sleep(50); Pro_cmd(VQUIT_DLL,(LPARAM)&Image_Info); + Sleep(50); Pro_cmd(MCLOSE,(LPARAM)&Image_Info); + Sleep(50); FreeLibrary(m_hImageDLL); } + if(m_hFitDLL) + { + FreeLibrary(m_hFitDLL); + } } //======================================== void CSo7_Interface::InitDll(void) @@ -31,11 +39,16 @@ void CSo7_Interface::InitDll(void) m_pGET_LASER_STORED_DATA=(GET_LASER_STORED_DATA)GetProcAddress(m_hImageDLL,"GetLaserStoredData"); m_pPAUSE_SCAN_AND_GET_LASER_DATA=(PAUSE_SCAN_AND_GET_LASER_DATA)GetProcAddress(m_hImageDLL,"PauseScanAndGetLaserData"); m_pGET_SCAN_LASER_STORAGE_STATUS=(GET_SCAN_LASER_STORAGE_STATUS)GetProcAddress(m_hImageDLL,"GetKeyenceStorageStatus"); + g_FitFace=(FITTING_SURFACE)GetProcAddress(m_hImageDLL,"FaceFit"); Pro_cmd(VINIT_DLL,(LPARAM)&Image_Info); Pro_cmd(MINIT_USB,(LPARAM)&Image_Info); - - + } + //===================================== + m_hFitDLL=LoadLibrary(_T("FitDll.dll")); + if(m_hFitDLL) + { + g_FitFace_PCD=(FITTING_SURFACE_PCD)GetProcAddress(m_hFitDLL,"FaceFit"); } } //======================================== @@ -72,3 +85,24 @@ void CSo7_Interface::PauseScanAndGetData(void) int LaserNum(0); m_pPAUSE_SCAN_AND_GET_LASER_DATA(Laserval,&LaserNum); } +//======================================== +int CSo7_Interface::Pro_Face_Du(MY3DPoint* pArr, int n, double* Coe, double* Error, double& dis) +{ + //g_Set_Face_Flag 1--双向最大值差 2--平均值 3--正向最大值 + double dis1(0.0),dis2(0.0),dis3(0.0); + double sum(0.0); + double d1=pArr[0].z; + for(int i=1;iGetTextExtent(strCoord, strCoord.GetLength()); @@ -191,7 +191,7 @@ void CDrawGraph::DrawCoordinate(CDC* pDC, CRect rectCoord) for(i=0; i<=m_nDivisionY; i++) { dbTemp = dbTempStartY+dbRangY*i/m_nDivisionY; - strCoord.Format(_T("%g"), dbTemp); + strCoord.Format(_T("%.2f"), dbTemp); nSection = rectCoord.Height()*i/m_nDivisionY; szText = pDC->GetTextExtent(strCoord, strCoord.GetLength()); diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Keyence_UtilDlg.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Keyence_UtilDlg.cpp index a850fea..98de599 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Keyence_UtilDlg.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Keyence_UtilDlg.cpp @@ -11,7 +11,13 @@ #include "..\..\..\Keyence\\Keyence_Proto.h" #include "..\..\..\SevenOcean\SO7_Proto.h" #include "Keyence_UtilDlg.h" + +#define _TEST_NEED_SO7_MACHINE + +#ifdef _TEST_NEED_SO7_MACHINE extern CSO7_Proto* m_pSO7_Proto; +#endif + extern CKeyence_Laser* m_pKeyence_Laser; extern CKeyence_Laser_LK_H* m_pKeyence_Laser_LK_H; extern CKeyence_Proto* m_pKeyence_Proto; @@ -69,6 +75,18 @@ BEGIN_MESSAGE_MAP(CKeyence_UtilDlg, CDialog) ON_BN_CLICKED(IDC_BUTTON_GET_SCAN_DATA_KEYENCE_LK_HLASER, &CKeyence_UtilDlg::OnBnClickedButtonGetScanDataKeyenceLkHlaser) ON_BN_CLICKED(IDC_RADIO_KEYENCE_LASER_LK_H, &CKeyence_UtilDlg::OnBnClickedRadioKeyenceLaserLkH) ON_BN_CLICKED(IDC_RADIO_KEYENCE_LASER_LK_G, &CKeyence_UtilDlg::OnBnClickedRadioKeyenceLaserLkG) + ON_BN_CLICKED(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM1, &CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram1) + ON_BN_CLICKED(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM2, &CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram2) + ON_BN_CLICKED(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM3, &CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram3) + ON_BN_CLICKED(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM0, &CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram0) + ON_BN_CLICKED(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM4, &CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram4) + ON_BN_CLICKED(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM5, &CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram5) + ON_BN_CLICKED(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM6, &CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram6) + ON_BN_CLICKED(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM7, &CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram7) + ON_BN_CLICKED(IDC_BUTTON_TEST_KEYENCE_SAVE_LOG, &CKeyence_UtilDlg::OnBnClickedButtonTestKeyenceSaveLog) + ON_EN_KILLFOCUS(IDC_EDIT_TEST_LK_G_INTERVAL, &CKeyence_UtilDlg::OnEnKillfocusEditTestLkGInterval) + ON_BN_CLICKED(IDC_BUTTON_TEST_KEYENCE_CLEAR_LOG, &CKeyence_UtilDlg::OnBnClickedButtonTestKeyenceClearLog) + ON_BN_CLICKED(IDC_BUTTON_KEYENCE_LASER_CALIBRATE_VALUE, &CKeyence_UtilDlg::OnBnClickedButtonKeyenceLaserCalibrateValue) END_MESSAGE_MAP() #pragma region GUI @@ -89,9 +107,23 @@ BOOL CKeyence_UtilDlg::OnInitDialog() GetDlgItem(IDC_BUTTON_SCAN_KEYENCE_LK_HLASER)->EnableWindow(false); GetDlgItem(IDC_BUTTON_STOP_SCAN_KEYENCE_LK_HLASER)->EnableWindow(false); GetDlgItem(IDC_BUTTON_GET_SCAN_DATA_KEYENCE_LK_HLASER)->EnableWindow(false); +#ifdef _TEST_NEED_SO7_MACHINE m_pSO7_Proto->Init_SO7Usb(); m_pSO7_Proto->_start_machine(); - +#endif + ((CButton*)(GetDlgItem(IDC_RADIO_KEYENCE_LASER_LK_G)))->SetCheck(TRUE); + OnBnClickedRadioKeyenceLaserLkG(); + m_LK_G_CalibrateVal=0.0; + m_LK_G_TopCalibrateVal=0.0; + m_LK_G_BottomCalibrateVal=0.0; + ((CButton*)(GetDlgItem(IDC_EDIT_KEYENCE_LASER_CALIBRATE_VALUE)))->SetWindowText(_T("0.0")); + m_LK_G_Interval=100; + ((CButton*)(GetDlgItem(IDC_EDIT_TEST_LK_G_INTERVAL)))->SetWindowText(_T("100")); + for (int i=0;i<8;i++) + { + m_LK_G_ProNOState[i]=FALSE; + } + m_LK_G_ProNOChecked=0; return TRUE; // return TRUE unless you set the focus to a control } @@ -139,8 +171,10 @@ void CKeyence_UtilDlg::OnBnClickedCancel() KillTimer(3); KillTimer(4); +#ifdef _TEST_NEED_SO7_MACHINE m_pSO7_Proto->_shutdown_machine(); m_pSO7_Proto->Exit_SO7Usb(); +#endif CDialog::OnCancel(); } @@ -167,6 +201,36 @@ void CKeyence_UtilDlg::OutputWithScroll(const CString &strNewText,CEdit &edtOutp edtOutput.SetRedraw(TRUE); } +//===================================================================================== +void CKeyence_UtilDlg::OnBnClickedButtonTestKeyenceSaveLog() +{ + USES_CONVERSION; + + CString FileName; + CString PathName; + FILE* m_pOutFile; + + FileName=_T("LK_G_Data.txt"); + CString szFilter=_T("TXT Files(*.txt)|*.txt|ALL Files(*.*)|*.*||"); + CFileDialog fdlg(FALSE,_T("INI"),FileName,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter); + + if( fdlg.DoModal()==IDOK) + { + const char* outBuff=NULL; + CString strOutput; + PathName=fdlg.GetPathName(); + _wfopen_s(&m_pOutFile, PathName, _T("wt")); + if (!m_pOutFile) + { + MessageBox( _T("File name Error."), _T("Message"), MB_OK); + }; + m_edMSG.GetWindowText(strOutput); + outBuff=T2A(strOutput); + fprintf(m_pOutFile,"%s", outBuff); + fclose(m_pOutFile); + } + delete fdlg; +} #pragma endregion @@ -175,6 +239,7 @@ void CKeyence_UtilDlg::OutputWithScroll(const CString &strNewText,CEdit &edtOutp void CKeyence_UtilDlg::OnBnClickedButtonInitKeyenceLaser() { +#ifdef _TEST_NEED_SO7_MACHINE m_pSO7_Proto->_send_cmd_SO7_CMD_OPEN_KEYENCE_LASER(); do { @@ -182,12 +247,33 @@ void CKeyence_UtilDlg::OnBnClickedButtonInitKeyenceLaser() m_pSO7_Proto->_send_cmd_SO7_CMD_READ_INTERRUPT_MESSAGE(); } while (m_pSO7_Proto->g_machine.InterruptFlag[0]!=CT_SEND_XYZLASE); m_pSO7_Proto->g_machine.InterruptFlag[0]=0; +#endif + CString csLaserValue; - m_pKeyence_Laser->Get_KeyenceLaserData(&fLaserVaule1,&fLaserVaule2); - csLaserValue.Format(_T("%f"),fLaserVaule1); - GetDlgItem(IDC_EDIT_LASER_VALUE1)->SetWindowText(csLaserValue); - csLaserValue.Format(_T("%f"),fLaserVaule2); - GetDlgItem(IDC_EDIT_LASER_VALUE2)->SetWindowText(csLaserValue); + for(int i=0;i<8;i++) + { + if(m_LK_G_ProNOState[i]) + { + m_pKeyence_Laser->SetProgramNO(i); + Sleep(20); + m_pKeyence_Laser->Get_KeyenceLaserData(&fLaserVaule1,&fLaserVaule2); + csLaserValue.Format(_T("%.4f"),fLaserVaule1); + GetDlgItem(IDC_EDIT_LASER_VALUE1)->SetWindowText(csLaserValue); + csLaserValue.Format(_T("%.4f"),fLaserVaule2); + GetDlgItem(IDC_EDIT_LASER_VALUE2)->SetWindowText(csLaserValue); + if (i==m_LK_G_CalibrateNO) + { + m_OutMessage.Format(_T(" OUT1:%.4f,OUT2:%.4f,Result:%.4f"),i,fLaserVaule1,fLaserVaule2,(fLaserVaule1-m_LK_G_TopCalibrateVal)+m_LK_G_CalibrateVal+(m_LK_G_BottomCalibrateVal-fLaserVaule2)); + } + else + { + m_OutMessage.Format(_T(" OUT1:%.4f,OUT2:%.4f,Average:%.4f"),i,fLaserVaule1,fLaserVaule2,0.5*(fLaserVaule1+fLaserVaule2)); + } + OutputWithScroll(m_OutMessage,m_edMSG); + } + } + + } //================================================================================================ @@ -196,7 +282,7 @@ void CKeyence_UtilDlg::OnBnClickedCheckContinueReadLaserValue() if (((CButton*)(GetDlgItem(IDC_CHECK_CONTINUE_READ_LASER_VALUE)))->GetCheck()) { ((CButton*)(GetDlgItem(IDC_BUTTON_INIT_KEYENCE_LASER)))->EnableWindow(FALSE); - SetTimer(1,20,NULL); + SetTimer(1,m_LK_G_Interval,NULL); } else { @@ -211,13 +297,17 @@ void CKeyence_UtilDlg::OnBnClickedCheckContinueReadLaserValue() void CKeyence_UtilDlg::OnBnClickedButtonScanKeyenceLkGlaser() { m_pKeyence_Laser->StartStoreData(500,20); +#ifdef _TEST_NEED_SO7_MACHINE m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_X(5); +#endif SetTimer(2,100,NULL); } //================================================================================================ void CKeyence_UtilDlg::OnBnClickedButtonStopScanKeyenceLkGlaser() { +#ifdef _TEST_NEED_SO7_MACHINE m_pSO7_Proto->_send_cmd_SO7_CMD_STOP_MOVE_XYZ(); +#endif m_pKeyence_Laser->StopStoreData(); KillTimer(2); } @@ -252,6 +342,67 @@ void CKeyence_UtilDlg::OnBnClickedButtonGetScanDataKeyenceLkGlaser() } ShellExecute(NULL,L"open",L"notepad++.exe",L"C:\\log\\Laser.log",NULL,SW_SHOWNORMAL); } +void CKeyence_UtilDlg::OnEnKillfocusEditTestLkGInterval() +{ + UpdateData(TRUE); + USES_CONVERSION; + CString csTmp; + (GetDlgItem(IDC_EDIT_TEST_LK_G_INTERVAL))->GetWindowText(csTmp); + const char* cTempValue=T2A(csTmp); + m_LK_G_Interval=atoi(cTempValue); +} +void CKeyence_UtilDlg::OnBnClickedButtonTestKeyenceClearLog() +{ + m_edMSG.SetWindowText(_T("")); + UpdateData(FALSE); +} + +void CKeyence_UtilDlg::OnBnClickedButtonKeyenceLaserCalibrateValue() +{ + UpdateData(TRUE); + USES_CONVERSION; + CString csTmp; + (GetDlgItem(IDC_EDIT_KEYENCE_LASER_CALIBRATE_VALUE))->GetWindowText(csTmp); + const char* cTempValue=T2A(csTmp); + m_LK_G_CalibrateVal=static_cast(atof(cTempValue)); + m_LK_G_CalibrateNO=1; + m_pKeyence_Laser->Get_KeyenceLaserData(&fLaserVaule1,&fLaserVaule2); + m_LK_G_TopCalibrateVal=fLaserVaule1; + m_LK_G_BottomCalibrateVal=fLaserVaule2; +} + +void CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram0() +{ + m_LK_G_ProNOState[0]=((CButton *)GetDlgItem(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM0))->GetCheck(); +} +void CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram1() +{ + m_LK_G_ProNOState[1]=((CButton *)GetDlgItem(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM1))->GetCheck(); +} +void CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram2() +{ + m_LK_G_ProNOState[2]=((CButton *)GetDlgItem(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM2))->GetCheck(); +} +void CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram3() +{ + m_LK_G_ProNOState[3]=((CButton *)GetDlgItem(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM3))->GetCheck(); +} +void CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram4() +{ + m_LK_G_ProNOState[4]=((CButton *)GetDlgItem(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM4))->GetCheck(); +} +void CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram5() +{ + m_LK_G_ProNOState[5]=((CButton *)GetDlgItem(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM5))->GetCheck(); +} +void CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram6() +{ + m_LK_G_ProNOState[6]=((CButton *)GetDlgItem(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM6))->GetCheck(); +} +void CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram7() +{ + m_LK_G_ProNOState[7]=((CButton *)GetDlgItem(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM7))->GetCheck(); +} #pragma endregion //================================================================================================ void CKeyence_UtilDlg::OnTimer(UINT_PTR nIDEvent) @@ -304,12 +455,12 @@ void CKeyence_UtilDlg::OnTimer(UINT_PTR nIDEvent) //=============================================== void CKeyence_UtilDlg::OnBnClickedButtonRuncnc() { - SetTimer(2,300,NULL); } //=============================================== void CKeyence_UtilDlg::RunCNC() { +#ifdef _TEST_NEED_SO7_MACHINE if (m_pSO7_Proto) { @@ -353,7 +504,7 @@ void CKeyence_UtilDlg::RunCNC() m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_TO_POS_XYZ(CT_MOVETOXYZ); } } - +#endif } void CKeyence_UtilDlg::OnBnClickedButtonInitKeyenceUsb() @@ -392,6 +543,7 @@ void CKeyence_UtilDlg::OnBnClickedButtonExitKeyenceUsb() //====================================================== void CKeyence_UtilDlg::OnBnClickedButtonLaserLkHGetData() { +#ifdef _TEST_NEED_SO7_MACHINE m_pSO7_Proto->_send_cmd_SO7_CMD_OPEN_KEYENCE_LASER(); do { @@ -399,6 +551,7 @@ void CKeyence_UtilDlg::OnBnClickedButtonLaserLkHGetData() m_pSO7_Proto->_send_cmd_SO7_CMD_READ_INTERRUPT_MESSAGE(); } while (m_pSO7_Proto->g_machine.InterruptFlag[0]!=CT_SEND_XYZLASE); m_pSO7_Proto->g_machine.InterruptFlag[0]=0; +#endif CString csLaserValue; m_pKeyence_Laser_LK_H->Get_KeyenceLaserData(&fLaserVaule1,&fLaserVaule2); csLaserValue.Format(_T("%f"),fLaserVaule1); @@ -427,14 +580,18 @@ void CKeyence_UtilDlg::OnBnClickedButtonScanKeyenceLkHlaser() { m_LK_H_StorageOutNumber=4; m_pKeyence_Laser_LK_H->StartStoreData(m_LK_H_StorageOutNumber,1000,20); +#ifdef _TEST_NEED_SO7_MACHINE m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_X(5); +#endif SetTimer(4,100,NULL); } //====================================================== void CKeyence_UtilDlg::OnBnClickedButtonStopScanKeyenceLkHlaser() { +#ifdef _TEST_NEED_SO7_MACHINE m_pSO7_Proto->_send_cmd_SO7_CMD_STOP_MOVE_XYZ(); +#endif m_pKeyence_Laser_LK_H->StopStoreData(); KillTimer(4); } @@ -473,4 +630,11 @@ void CKeyence_UtilDlg::OnBnClickedButtonGetScanDataKeyenceLkHlaser() } ShellExecute(NULL,L"open",L"notepad++.exe",L"C:\\log\\LK_H_Laser.log",NULL,SW_SHOWNORMAL); } -#pragma endregion \ No newline at end of file +#pragma endregion + + + + + + + diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Keyence_UtilDlg.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Keyence_UtilDlg.h index 2bc2857..74b4ab7 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Keyence_UtilDlg.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Keyence_UtilDlg.h @@ -16,8 +16,17 @@ public: protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 virtual BOOL OnInitDialog(); + DECLARE_MESSAGE_MAP() +protected: CEdit m_edMSG; - DECLARE_MESSAGE_MAP() + BOOL m_LK_G_ProNOState[8]; + char m_LK_G_ProNOChecked; + char m_LK_G_CalibrateNO; + int m_LK_G_Interval; + float m_LK_G_CalibrateVal; + float m_LK_G_TopCalibrateVal; + float m_LK_G_BottomCalibrateVal; + public: int m_LK_H_StorageOutNumber; CString m_OutMessage; @@ -41,4 +50,16 @@ public: afx_msg void OnBnClickedButtonGetScanDataKeyenceLkHlaser(); afx_msg void OnBnClickedRadioKeyenceLaserLkH(); afx_msg void OnBnClickedRadioKeyenceLaserLkG(); + afx_msg void OnBnClickedCheckTestKeyenceLkGProgram1(); + afx_msg void OnBnClickedCheckTestKeyenceLkGProgram2(); + afx_msg void OnBnClickedCheckTestKeyenceLkGProgram3(); + afx_msg void OnBnClickedCheckTestKeyenceLkGProgram0(); + afx_msg void OnBnClickedCheckTestKeyenceLkGProgram4(); + afx_msg void OnBnClickedCheckTestKeyenceLkGProgram5(); + afx_msg void OnBnClickedCheckTestKeyenceLkGProgram6(); + afx_msg void OnBnClickedCheckTestKeyenceLkGProgram7(); + afx_msg void OnBnClickedButtonTestKeyenceSaveLog(); + afx_msg void OnEnKillfocusEditTestLkGInterval(); + afx_msg void OnBnClickedButtonTestKeyenceClearLog(); + afx_msg void OnBnClickedButtonKeyenceLaserCalibrateValue(); }; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.cpp index a56f5b5..a5c778a 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.cpp @@ -22,7 +22,7 @@ #include "So7_Option.h" -//#define _ONLY_USE_FOR_SO7 +#define _ONLY_USE_FOR_SO7 #ifdef _DEBUG #define new DEBUG_NEW 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 d84739a..28ec6a9 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 @@ -143,11 +143,11 @@ STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSM CAPTION "Send Parameter" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN - CONTROL "X",IDC_RADIO_SAMPLE_X,"Button",BS_AUTORADIOBUTTON | WS_GROUP,397,403,20,10 - CONTROL "Y",IDC_RADIO_SAMPLE_Y,"Button",BS_AUTORADIOBUTTON,397,414,20,10 - CONTROL "Z",IDC_RADIO_SAMPLE_Z,"Button",BS_AUTORADIOBUTTON,397,425,20,10 - CONTROL "速度-时间",IDC_RADIO_CANVAS_SPEED_TIME,"Button",BS_AUTORADIOBUTTON | WS_GROUP,322,406,51,10 - CONTROL "位移-时间",IDC_RADIO_CANVAS_POSTION_TIME,"Button",BS_AUTORADIOBUTTON,322,420,51,10 + CONTROL "X",IDC_RADIO_SAMPLE_X,"Button",BS_AUTORADIOBUTTON | WS_GROUP,390,415,20,10 + CONTROL "Y",IDC_RADIO_SAMPLE_Y,"Button",BS_AUTORADIOBUTTON,390,426,20,10 + CONTROL "Z",IDC_RADIO_SAMPLE_Z,"Button",BS_AUTORADIOBUTTON,390,437,20,10 + CONTROL "速度-时间",IDC_RADIO_CANVAS_SPEED_TIME,"Button",BS_AUTORADIOBUTTON | WS_GROUP,315,418,51,10 + CONTROL "位移-时间",IDC_RADIO_CANVAS_POSTION_TIME,"Button",BS_AUTORADIOBUTTON,315,432,51,10 EDITTEXT IDC_EDIT_BASESPEED_X1,43,55,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_MAXSPEED_X1,93,55,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_STARTSPEED_X1,143,55,40,12,ES_AUTOHSCROLL @@ -289,9 +289,9 @@ BEGIN LTEXT "采样时间",IDC_STATIC,529,410,33,8 PUSHBUTTON "Stop",IDC_BUTTON_STOP_SAMPLE_SCURVE,627,425,50,14 CONTROL "运动曲线图",IDC_CUSTOM_CANVAS,"CDrawGraph",WS_TABSTOP,309,34,423,349 - GROUPBOX "曲线类型",IDC_STATIC,315,392,66,48 + GROUPBOX "曲线类型",IDC_STATIC,308,404,66,48 EDITTEXT IDC_EDIT_SET_PARAMETER_MSGOUTPUT,443,431,165,25,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL - GROUPBOX "坐标轴",IDC_STATIC,386,392,50,48 + GROUPBOX "坐标轴",IDC_STATIC,379,404,50,48 END IDD_SO7_UTIL_AUTO_ZOOM DIALOGEX 0, 0, 426, 460 @@ -356,15 +356,16 @@ CAPTION "Option Dialog" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN CONTROL "控制器",IDC_RADIO_CONTROLLER,"Button",BS_AUTORADIOBUTTON,175,39,40,10 - CONTROL "Keyence激光",IDC_RADIO_KEYENCE_LASER,"Button",BS_AUTORADIOBUTTON,175,64,76,10 + CONTROL "Keyence激光",IDC_RADIO_KEYENCE_LASER,"Button",BS_AUTORADIOBUTTON,175,89,76,10 CONTROL "SDK3000视频卡",IDC_RADIO_VIDEOCARD_SDK3000,"Button",BS_AUTORADIOBUTTON,48,39,69,10 CONTROL "SV2000E视频卡",IDC_RADIO_VIDEOCARD_SV2000E,"Button",BS_AUTORADIOBUTTON,48,64,69,10 CONTROL "TC4000视频卡",IDC_RADIO_VIDEOCARD_TC4000,"Button",BS_AUTORADIOBUTTON,48,89,69,10 DEFPUSHBUTTON "OK",IDOK,181,145,50,14 PUSHBUTTON "Cancel",IDCANCEL,241,145,50,14 GROUPBOX "测试选项",IDC_STATIC,29,15,243,120 - CONTROL "Image.dll",IDC_RADIO_TEST_IMAGE_DLL,"Button",BS_AUTORADIOBUTTON,175,89,45,10 + CONTROL "Image.dll",IDC_RADIO_TEST_IMAGE_DLL,"Button",BS_AUTORADIOBUTTON,175,114,45,10 CONTROL "IP Camera",IDC_RADIO_SO7_IP_CAMERA,"Button",BS_AUTORADIOBUTTON,48,114,62,10 + CONTROL "Manual Machine",IDC_RADIO__SO7_RS232,"Button",BS_AUTORADIOBUTTON,175,64,67,10 END IDD_SO7_VIDEOCARD_SDK3000 DIALOGEX 0, 0, 488, 316 @@ -386,17 +387,19 @@ STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSM CAPTION "SV2000视频卡" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN - CONTROL "彩色图像",IDC_RADIO_SV2000E_RGB,"Button",BS_AUTORADIOBUTTON | WS_GROUP,861,38,48,10 - CONTROL "黑白图像",IDC_RADIO_SV2000E_GRAY,"Button",BS_AUTORADIOBUTTON,861,59,48,10 - CONTROL "垂直镜像",IDC_CHECK_SV2000E_MIRROR_VERTICALLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,861,86,48,10 - PUSHBUTTON "保存图片",IDC_BUTTON_SV2000E_SAVEFILE,859,116,50,14 + CONTROL "彩色图像",IDC_RADIO_SV2000E_RGB,"Button",BS_AUTORADIOBUTTON | WS_GROUP,861,152,48,10 + CONTROL "黑白图像",IDC_RADIO_SV2000E_GRAY,"Button",BS_AUTORADIOBUTTON,861,173,48,10 + CONTROL "垂直镜像",IDC_CHECK_SV2000E_MIRROR_VERTICALLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,861,200,48,10 + PUSHBUTTON "保存图片",IDC_BUTTON_SV2000E_SAVEFILE,859,267,50,14 DEFPUSHBUTTON "开始",IDOK,793,300,50,14 PUSHBUTTON "退出",IDCANCEL,854,300,50,14 - GROUPBOX "通道选择",IDC_STATIC,864,142,42,61 - CONTROL "1",IDC_RADIO_SV2000E_CHANNEL1,"Button",BS_AUTORADIOBUTTON | WS_GROUP,876,161,23,10 - CONTROL "2",IDC_RADIO_SV2000E_CHANNEL2,"Button",BS_AUTORADIOBUTTON,876,183,26,10 - GROUPBOX "设备选择",IDC_STATIC,863,208,42,61 - COMBOBOX IDC_COMBO_SV2000E_SELECT_DEV_NUMBER,868,223,31,35,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP + GROUPBOX "通道选择",IDC_STATIC,859,85,42,61 + CONTROL "1",IDC_RADIO_SV2000E_CHANNEL1,"Button",BS_AUTORADIOBUTTON | WS_GROUP,871,104,23,10 + CONTROL "2",IDC_RADIO_SV2000E_CHANNEL2,"Button",BS_AUTORADIOBUTTON,871,125,26,10 + GROUPBOX "设备选择",IDC_STATIC,858,13,42,61 + COMBOBOX IDC_COMBO_SV2000E_SELECT_DEV_NUMBER,863,29,31,35,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP + GROUPBOX "去隔行",IDC_STATIC,858,217,48,40 + EDITTEXT IDC_EDITTC4000_SET_DEINTERLACE,868,234,33,14,ES_AUTOHSCROLL END IDD_SO7_UTIL_SETUP_CONFIGURE DIALOGEX 0, 0, 476, 451 @@ -514,16 +517,48 @@ BEGIN CONTROL "V",IDC_CHECK_REPETESTV,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,37,267,20,10 END -IDD_SO7_UTIL_IMAGE_DLL DIALOGEX 0, 0, 316, 183 +IDD_SO7_UTIL_IMAGE_DLL DIALOGEX 0, 0, 377, 184 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Test Imae.dll" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN - PUSHBUTTON "Exit",IDCANCEL,259,162,50,14 - PUSHBUTTON "Start",IDC_BUTTON_IMAGEDLL_START_SCAN_LASER,55,41,50,14 - PUSHBUTTON "Get Data",IDC_BUTTON_IMAGEDLL_GET_SCAN_LASER_DATA,127,41,50,14 - PUSHBUTTON "Pause &Get",IDC_BUTTON_IMAGEDLL_PAUSE_AND_GET_SCAN_LASER_DATA,129,70,50,14 - PUSHBUTTON "Stop",IDC_BUTTON_IMAGEDLL_STOP_SCAN_LASER,55,71,50,14 + PUSHBUTTON "Exit",IDCANCEL,327,170,50,14 + PUSHBUTTON "Start Storage",IDC_BUTTON_IMAGEDLL_START_SCAN_LASER,21,30,50,14 + PUSHBUTTON "Get Data",IDC_BUTTON_IMAGEDLL_GET_SCAN_LASER_DATA,21,70,50,14 + PUSHBUTTON "Pause &Get",IDC_BUTTON_IMAGEDLL_PAUSE_AND_GET_SCAN_LASER_DATA,21,90,50,14 + PUSHBUTTON "Stop Storage",IDC_BUTTON_IMAGEDLL_STOP_SCAN_LASER,21,50,50,14 + GROUPBOX "Test Laser",IDC_STATIC,11,6,66,146 + GROUPBOX "Double Laser",IDC_STATIC,88,5,258,157 + LTEXT "X",IDC_STATIC,155,24,8,8 + LTEXT "Y",IDC_STATIC,196,24,8,8 + LTEXT "Z-TOP",IDC_STATIC,236,24,21,8 + LTEXT "Z-BOTTOM",IDC_STATIC,281,24,36,8 + LTEXT "Pos1",IDC_STATIC,110,42,16,8 + LTEXT "Pos2",IDC_STATIC,110,59,16,8 + LTEXT "Pos3",IDC_STATIC,110,76,16,8 + LTEXT "Standard",IDC_STATIC,101,93,30,8 + EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_X1,137,40,40,14,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_Y1,183,40,40,14,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_TOPZ1,229,40,40,14,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_BOTTOMZ1,275,40,40,14,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_STANDARD_VALUE,137,91,40,14,ES_AUTOHSCROLL + LTEXT "ΔX",IDC_STATIC,220,122,10,8 + EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_MEASURED_VALUE,137,134,40,14,ES_AUTOHSCROLL + GROUPBOX "Known Number",IDC_STATIC,99,14,228,103 + LTEXT "ΔY",IDC_STATIC,289,122,10,8 + EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_X2,137,57,40,14,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_Y2,183,57,40,14,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_TOPZ2,229,57,40,14,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_BOTTOMZ2,275,57,40,14,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_X3,137,74,40,14,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_Y3,183,74,40,14,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_TOPZ3,229,74,40,14,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_BOTTOMZ3,275,74,40,14,ES_AUTOHSCROLL + PUSHBUTTON "Calculate",IDC_BUTTON_IMAGEDLL_2LASER_CALCULATE,275,98,40,14 + LTEXT "Result",IDC_STATIC,101,138,21,8 + EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_XSHIFT,206,134,40,14,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_YSHIFT,275,134,40,14,ES_AUTOHSCROLL + LTEXT "Measured Value",IDC_STATIC,133,122,52,8 END IDD_SO7_VIDEOCARD_TC4000 DIALOGEX 0, 0, 488, 316 @@ -545,6 +580,46 @@ BEGIN CONTROL "4",IDC_RADIO_TC4000_CHANNEL4,"Button",BS_AUTORADIOBUTTON,451,213,20,10 END +IDD_SO7_UTIL_MANUAL_MACHINE DIALOGEX 0, 0, 333, 330 +STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Manual Machine" +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + PUSHBUTTON "Exit",IDCANCEL,276,292,50,14 + PUSHBUTTON "Start Machine",IDC_BUTTON_SO7_MANUAL_MACHINE_START_MACHINE,24,39,50,14 + PUSHBUTTON "Stop Machine",IDC_BUTTON_SO7_MANUAL_MACHINE_STOP_MACHINE,24,65,50,14 + EDITTEXT IDC_EDIT1,20,217,252,58,ES_AUTOHSCROLL + GROUPBOX "Position",IDC_STATIC,19,99,297,107 + GROUPBOX "Send Data",IDC_STATIC,86,18,237,76 + PUSHBUTTON "Send",IDC_BUTTON_SO7_MANUAL_MACHINE_SEND_DATA,267,74,50,14 + EDITTEXT IDC_EDIT_SO7_MANUAL_MACHINE_DATA,87,44,173,48,ES_AUTOHSCROLL + CONTROL "HEX",IDC_RADIO_SO7_MANUAL_MACHINE_SEND_DATA_TYPE_HEX, + "Button",BS_AUTORADIOBUTTON | WS_GROUP,271,45,29,10 + CONTROL "ANSCII",IDC_RADIO_SO7_MANUAL_MACHINE_SEND_DATA_TYPE_ANSCII, + "Button",BS_AUTORADIOBUTTON,271,57,39,10 + CONTROL "CMD1",IDC_RADIO_SO7_MANUAL_MACHINE_COMMON_CMD1,"Button",BS_AUTORADIOBUTTON | WS_GROUP,95,30,35,10 + CONTROL "CMD2",IDC_RADIO_SO7_MANUAL_MACHINE_COMMON_CMD2,"Button",BS_AUTORADIOBUTTON,140,30,35,10 + CONTROL "CMD3",IDC_RADIO_SO7_MANUAL_MACHINE_COMMON_CMD3,"Button",BS_AUTORADIOBUTTON,185,30,35,10 + GROUPBOX "Machine Control",IDC_STATIC,17,18,62,75 + EDITTEXT IDC_EDIT_X_SCALE_COEFFICIENT,205,137,54,12,ES_CENTER | ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_Y_SCALE_COEFFICIENT,205,155,54,12,ES_CENTER | ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_Z_SCALE_COEFFICIENT,205,173,54,12,ES_CENTER | ES_AUTOHSCROLL + LTEXT "x",IDC_STATIC,36,138,8,11 + LTEXT "y",IDC_STATIC,36,155,8,11 + LTEXT "z",IDC_STATIC,36,174,8,11 + EDITTEXT IDC_EDIT_X_AXIS,47,137,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP + EDITTEXT IDC_EDIT_Y_AXIS,47,155,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP + EDITTEXT IDC_EDIT_Z_AXIS,47,173,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP + EDITTEXT IDC_EDIT_X_POSITION_58,126,137,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP + EDITTEXT IDC_EDIT_Y_POSITION_58,126,155,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP + EDITTEXT IDC_EDIT_Z_POSITION_58,126,173,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP + LTEXT "Scale Pulse",IDC_STATIC,56,119,36,8 + LTEXT "mm",IDC_STATIC,147,119,12,8 + LTEXT "Scale resolution",IDC_STATIC,209,119,51,11 + PUSHBUTTON "Clear All",IDC_BUTTON_SO7_MANUAL_MACHINE_CLEAR_MSG,280,224,40,17 + PUSHBUTTON "Save as...",IDC_BUTTON_SO7_MANUAL_MACHINE_SAVE_MSG,280,249,40,17 +END + ///////////////////////////////////////////////////////////////////////////// // @@ -622,9 +697,9 @@ BEGIN IDD_SO7_UTIL_IMAGE_DLL, DIALOG BEGIN LEFTMARGIN, 7 - RIGHTMARGIN, 309 + RIGHTMARGIN, 370 TOPMARGIN, 7 - BOTTOMMARGIN, 176 + BOTTOMMARGIN, 177 END IDD_SO7_VIDEOCARD_TC4000, DIALOG @@ -635,6 +710,14 @@ BEGIN TOPMARGIN, 7 BOTTOMMARGIN, 312 END + + IDD_SO7_UTIL_MANUAL_MACHINE, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 326 + TOPMARGIN, 7 + BOTTOMMARGIN, 306 + END END #endif // APSTUDIO_INVOKED @@ -1281,33 +1364,119 @@ BEGIN PUSHBUTTON "Browse",IDC_BUTTON_BROWSE,250,17,33,14 END -IDD_DIALOG_TEST_KEYENCE DIALOGEX 0, 0, 338, 344 +IDD_DIALOG_TEST_KEYENCE DIALOGEX 0, 0, 759, 478 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Test Keyence" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN - PUSHBUTTON "Exit",IDCANCEL,281,323,50,14 - CONTROL "LK_G",IDC_RADIO_KEYENCE_LASER_LK_G,"Button",BS_AUTORADIOBUTTON,73,27,32,10 - CONTROL "LK_H",IDC_RADIO_KEYENCE_LASER_LK_H,"Button",BS_AUTORADIOBUTTON,200,27,32,10 - EDITTEXT IDC_EDIT_LASER_VALUE1,33,71,69,14,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_LASER_VALUE2,33,94,69,14,ES_AUTOHSCROLL - CONTROL "Continue",IDC_CHECK_CONTINUE_READ_LASER_VALUE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,136,73,45,10 - PUSHBUTTON "Get_Data",IDC_BUTTON_INIT_KEYENCE_LASER,128,87,50,14 - PUSHBUTTON "Begin Scan",IDC_BUTTON_SCAN_KEYENCE_LK_GLASER,203,73,50,14 - PUSHBUTTON "Stop Scan",IDC_BUTTON_STOP_SCAN_KEYENCE_LK_GLASER,203,92,50,14 - PUSHBUTTON "Get Data",IDC_BUTTON_GET_SCAN_DATA_KEYENCE_LK_GLASER,203,110,50,14 - EDITTEXT IDC_EDIT_LASER_LK_H_VALUE1,32,163,69,14,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_LASER_LK_H_VALUE2,32,186,69,14,ES_AUTOHSCROLL + PUSHBUTTON "Exit",IDCANCEL,702,457,50,14 + CONTROL "LK_G",IDC_RADIO_KEYENCE_LASER_LK_G,"Button",BS_AUTORADIOBUTTON,251,27,32,10 + CONTROL "LK_H",IDC_RADIO_KEYENCE_LASER_LK_H,"Button",BS_AUTORADIOBUTTON,418,27,32,10 + EDITTEXT IDC_EDIT_LASER_VALUE1,65,301,52,14,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_LASER_VALUE2,65,324,52,14,ES_AUTOHSCROLL + CONTROL "Continuous",IDC_CHECK_CONTINUE_READ_LASER_VALUE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,64,250,52,10 + PUSHBUTTON "Get Once Data",IDC_BUTTON_INIT_KEYENCE_LASER,52,205,60,14 + PUSHBUTTON "Begin Scan",IDC_BUTTON_SCAN_KEYENCE_LK_GLASER,666,322,50,14,NOT WS_VISIBLE + PUSHBUTTON "Stop Scan",IDC_BUTTON_STOP_SCAN_KEYENCE_LK_GLASER,666,322,50,14,NOT WS_VISIBLE + PUSHBUTTON "Get Data",IDC_BUTTON_GET_SCAN_DATA_KEYENCE_LK_GLASER,666,322,50,14,NOT WS_VISIBLE + EDITTEXT IDC_EDIT_LASER_LK_H_VALUE1,32,389,69,14,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_LASER_LK_H_VALUE2,32,412,69,14,ES_AUTOHSCROLL CONTROL "Continue",IDC_CHECK_CONTINUE_READ_LASER_LK_H_VALUE, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,135,165,45,10 - PUSHBUTTON "Get_Data",IDC_BUTTON_LASER_LK_H_GET_DATA,127,179,50,14 - PUSHBUTTON "Begin Scan",IDC_BUTTON_SCAN_KEYENCE_LK_HLASER,202,165,50,14 - PUSHBUTTON "Stop Scan",IDC_BUTTON_STOP_SCAN_KEYENCE_LK_HLASER,202,184,50,14 - PUSHBUTTON "Get Data",IDC_BUTTON_GET_SCAN_DATA_KEYENCE_LK_HLASER,202,202,50,14 - GROUPBOX "LKIF.DLL",IDC_STATIC,22,53,288,83 - GROUPBOX "LKIF2.DLL",IDC_STATIC,22,141,296,89 - GROUPBOX "Laser Type",IDC_STATIC,22,14,287,32 - EDITTEXT IDC_EDIT_TEST_KEYENCE_MESSAGE,22,239,302,73,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,135,391,45,10 + PUSHBUTTON "Get_Data",IDC_BUTTON_LASER_LK_H_GET_DATA,127,405,50,14 + PUSHBUTTON "Begin Scan",IDC_BUTTON_SCAN_KEYENCE_LK_HLASER,202,391,50,14 + PUSHBUTTON "Stop Scan",IDC_BUTTON_STOP_SCAN_KEYENCE_LK_HLASER,202,410,50,14 + PUSHBUTTON "Get Data",IDC_BUTTON_GET_SCAN_DATA_KEYENCE_LK_HLASER,202,428,50,14 + GROUPBOX "LKIF.DLL",IDC_STATIC,22,50,712,314 + GROUPBOX "LKIF2.DLL",IDC_STATIC,22,367,713,89 + GROUPBOX "Laser Type",IDC_STATIC,22,14,708,32 + EDITTEXT IDC_EDIT_TEST_KEYENCE_MESSAGE,142,190,507,166,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL + PUSHBUTTON "Save as...",IDC_BUTTON_TEST_KEYENCE_SAVE_LOG,666,270,50,14 + GROUPBOX "Program No. Setting",IDC_STATIC,33,60,690,118 + CONTROL "En",IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,56,133,24,10 + CONTROL "En",IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,223,89,24,10 + CONTROL "En",IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,224,133,24,10 + CONTROL "En",IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,391,89,24,10 + CONTROL "En",IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM5,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,391,133,24,10 + CONTROL "En",IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM6,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,559,89,24,10 + CONTROL "En",IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM7,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,561,133,24,10 + CONTROL "En",IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM0,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,54,89,24,10 + EDITTEXT IDC_EDIT_TEST_LK_G_INTERVAL,65,229,40,14,ES_AUTOHSCROLL + LTEXT "Interval",IDC_STATIC,37,229,26,8 + LTEXT "ms",IDC_STATIC,111,229,10,8 + PUSHBUTTON "Clear All",IDC_BUTTON_TEST_KEYENCE_CLEAR_LOG,666,232,50,14 + EDITTEXT IDC_EDIT_KEYENCE_LASER_CALIBRATE_VALUE,668,303,40,14,ES_AUTOHSCROLL | NOT WS_VISIBLE + PUSHBUTTON "Calibrate",IDC_BUTTON_KEYENCE_LASER_CALIBRATE_VALUE,666,322,50,14,NOT WS_VISIBLE + GROUPBOX "Get Data",IDC_STATIC,33,189,91,82 + GROUPBOX "Calibrate",IDC_STATIC,658,288,64,76,NOT WS_VISIBLE + CONTROL "Relative",IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE0,"Button",BS_AUTORADIOBUTTON,117,96,37,10 + GROUPBOX "Readout",IDC_STATIC,32,278,93,77 + LTEXT "OUT1",IDC_STATIC,38,303,19,8 + LTEXT "OUT2",IDC_STATIC,38,325,19,8 + GROUPBOX "NO.0",IDC_STATIC,50,70,159,41 + CONTROL "Average",IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE0,"Button",BS_AUTORADIOBUTTON | WS_GROUP,117,82,39,10 + CONTROL "OUT1",IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT0,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,77,82,34,10 + CONTROL "OUT2",IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT0,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,77,95,34,10 + EDITTEXT IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE0,165,94,40,14,ES_AUTOHSCROLL + LTEXT "Calibrate",IDC_STATIC,170,82,30,8 + GROUPBOX "",IDC_STATIC,161,71,48,40 + CONTROL "Relative",IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE1,"Button",BS_AUTORADIOBUTTON,118,140,37,10 + GROUPBOX "NO.1",IDC_STATIC,50,114,159,41 + CONTROL "Average",IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE1,"Button",BS_AUTORADIOBUTTON | WS_GROUP,118,125,39,10 + CONTROL "OUT1",IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,78,125,34,10 + CONTROL "OUT2",IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,78,138,34,10 + EDITTEXT IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE1,166,138,40,14,ES_AUTOHSCROLL + LTEXT "Calibrate",IDC_STATIC,170,125,30,8 + CONTROL "Relative",IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE2,"Button",BS_AUTORADIOBUTTON,286,97,37,10 + GROUPBOX "NO.2",IDC_STATIC,219,71,159,41 + CONTROL "Average",IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE2,"Button",BS_AUTORADIOBUTTON | WS_GROUP,286,83,39,10 + CONTROL "OUT1",IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,246,83,34,10 + CONTROL "OUT2",IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,246,96,34,10 + EDITTEXT IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE2,334,95,40,14,ES_AUTOHSCROLL + LTEXT "Calibrate",IDC_STATIC,339,83,30,8 + CONTROL "Relative",IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE3,"Button",BS_AUTORADIOBUTTON,285,140,37,10 + GROUPBOX "NO.3",IDC_STATIC,218,114,159,41 + CONTROL "Average",IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE3,"Button",BS_AUTORADIOBUTTON | WS_GROUP,285,126,39,10 + CONTROL "OUT1",IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,245,126,34,10 + CONTROL "OUT2",IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,245,139,34,10 + EDITTEXT IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE3,333,138,40,14,ES_AUTOHSCROLL + LTEXT "Calibrate",IDC_STATIC,338,126,30,8 + CONTROL "Relative",IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE4,"Button",BS_AUTORADIOBUTTON,455,96,37,10 + GROUPBOX "NO.4",IDC_STATIC,387,71,159,41 + CONTROL "Average",IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE4,"Button",BS_AUTORADIOBUTTON | WS_GROUP,455,82,39,10 + CONTROL "OUT1",IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,415,82,34,10 + CONTROL "OUT2",IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,415,95,34,10 + EDITTEXT IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE4,503,95,40,14,ES_AUTOHSCROLL + LTEXT "Calibrate",IDC_STATIC,507,82,30,8 + CONTROL "Relative",IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE5,"Button",BS_AUTORADIOBUTTON,454,140,37,10 + GROUPBOX "NO.5",IDC_STATIC,387,114,159,41 + CONTROL "Average",IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE5,"Button",BS_AUTORADIOBUTTON | WS_GROUP,454,126,39,10 + CONTROL "OUT1",IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT5,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,414,126,34,10 + CONTROL "OUT2",IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT5,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,414,139,34,10 + EDITTEXT IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE5,502,138,40,14,ES_AUTOHSCROLL + LTEXT "Calibrate",IDC_STATIC,507,126,30,8 + CONTROL "Relative",IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE6,"Button",BS_AUTORADIOBUTTON,623,97,37,10 + GROUPBOX "NO.6",IDC_STATIC,555,71,159,41 + CONTROL "Average",IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE6,"Button",BS_AUTORADIOBUTTON | WS_GROUP,623,83,39,10 + CONTROL "OUT1",IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT6,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,583,83,34,10 + CONTROL "OUT2",IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT6,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,583,95,34,10 + EDITTEXT IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE6,671,95,40,14,ES_AUTOHSCROLL + LTEXT "Calibrate",IDC_STATIC,675,83,30,8 + CONTROL "Relative",IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE7,"Button",BS_AUTORADIOBUTTON,624,140,37,10 + GROUPBOX "NO.7",IDC_STATIC,556,114,159,41 + CONTROL "Average",IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE7,"Button",BS_AUTORADIOBUTTON | WS_GROUP,624,126,39,10 + CONTROL "OUT1",IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT7,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,584,126,34,10 + CONTROL "OUT2",IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT7,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,584,139,34,10 + EDITTEXT IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE7,672,138,40,14,ES_AUTOHSCROLL + LTEXT "Calibrate",IDC_STATIC,676,126,30,8 + PUSHBUTTON "SET",IDC_BUTTON_TEST_KEYENCE_SET_OUTPUT,666,159,50,14 + GROUPBOX "",IDC_STATIC,161,114,48,40 + GROUPBOX "",IDC_STATIC,330,71,48,40 + GROUPBOX "",IDC_STATIC,329,114,48,40 + GROUPBOX "",IDC_STATIC,498,71,48,40 + GROUPBOX "",IDC_STATIC,498,114,48,40 + GROUPBOX "",IDC_STATIC,666,71,48,40 + GROUPBOX "",IDC_STATIC,667,114,48,40 END @@ -1418,9 +1587,9 @@ BEGIN IDD_DIALOG_TEST_KEYENCE, DIALOG BEGIN LEFTMARGIN, 7 - RIGHTMARGIN, 331 + RIGHTMARGIN, 752 TOPMARGIN, 7 - BOTTOMMARGIN, 337 + BOTTOMMARGIN, 471 END END #endif // APSTUDIO_INVOKED diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Send_Parameter.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Send_Parameter.cpp index 1714480..0706306 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Send_Parameter.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Send_Parameter.cpp @@ -38,6 +38,7 @@ IMPLEMENT_DYNAMIC(CSO7_Send_Parameter, CDialog) m_StartTime=0; m_FinishTime=0; m_duration=0.0; + m_TimerCnt=0; } //================================================================ CSO7_Send_Parameter::~CSO7_Send_Parameter() @@ -208,8 +209,8 @@ BOOL CSO7_Send_Parameter::OnInitDialog() ((CButton *)GetDlgItem(IDC_RADIO_SAMPLE_Y))->SetCheck(false); ((CButton *)GetDlgItem(IDC_RADIO_SAMPLE_Z))->SetCheck(false); - ((CButton *)GetDlgItem(IDC_RADIO_CANVAS_POSTION_TIME))->SetCheck(true); - ((CButton *)GetDlgItem(IDC_RADIO_CANVAS_SPEED_TIME))->SetCheck(false); + ((CButton *)GetDlgItem(IDC_RADIO_CANVAS_POSTION_TIME))->SetCheck(false); + ((CButton *)GetDlgItem(IDC_RADIO_CANVAS_SPEED_TIME))->SetCheck(true); return TRUE; // return TRUE unless you set the focus to a control } @@ -583,11 +584,26 @@ void CSO7_Send_Parameter::OnTimer(UINT_PTR nIDEvent) m_dPos=m_pSO7_Proto->g_machine.z._d_cur_pos_; } - if (m_dataGraph.ElementAt(nCount)>=-0.005 && m_dataGraph.ElementAt(nCount)<=0.005) - { - m_DrawGraph.LoadGraphyData(m_dataGraph); - KillTimer(1); - } + if (m_TimerCnt<=nCount) + { + KillTimer(1); + INT_PTR nTmpCount = m_dataGraph.GetCount(); + double dbData(0.0); + m_dbEndY=dbData; + m_dbStartY=dbData; + for(int i=0; im_dbEndY) + m_dbEndY=dbData; + if(dbData(1/(m_dbEndY-m_dbStartY)); + m_DrawGraph.SetGraphyView(m_dbStartX,m_dbEndX,m_dbStartY,m_dbEndY,m_nDivisionX,m_nDivisionY); + m_DrawGraph.SetResolution(m_dbResolutionX,m_dbResolutionY); + m_DrawGraph.LoadGraphyData(m_dataGraph); + } } @@ -627,6 +643,11 @@ void CSO7_Send_Parameter::OnEnKillfocusEditSampleTimeScurve() const char* cTempValue=T2A(str); m_SampleTime = atof(cTempValue); + m_dbStartX=0; + m_dbEndX=m_SampleTime; + m_dbResolutionX=static_cast(m_TimerInterval/(m_dbEndX*1000.0));//每一次采样所需时间对应X坐标的长度 + m_DrawGraph.SetResolution(m_dbResolutionX,m_dbResolutionY); + m_DrawGraph.SetGraphyView(m_dbStartX,m_dbEndX,m_dbStartY,m_dbEndY,m_nDivisionX,m_nDivisionY,TRUE); } //================================================================================================ @@ -655,19 +676,19 @@ void CSO7_Send_Parameter::OnBnClickedButtonStartSampleScurve() m_dbEndX=m_SampleTime; if(((CButton *)GetDlgItem(IDC_RADIO_CANVAS_POSTION_TIME))->GetCheck()) { - m_dbStartY=0; - m_dbEndY=50; + // m_dbStartY=0; + // m_dbEndY=50; m_dbResolutionX=static_cast(m_TimerInterval/(m_dbEndX*1000.0));//每一次采样所需时间对应X坐标的长度 - m_dbResolutionY=static_cast(1/m_dbEndY); + // m_dbResolutionY=static_cast(1/m_dbEndY); m_nDivisionX=10; m_nDivisionY=10; } else { - m_dbStartY=0; - m_dbEndY=50; + //m_dbStartY=0; + //m_dbEndY=50; m_dbResolutionX=static_cast(m_TimerInterval/(m_dbEndX*1000.0));//每一次采样所需时间对应X坐标的长度 - m_dbResolutionY=static_cast(1/m_dbEndY); + //m_dbResolutionY=static_cast(1/m_dbEndY); m_nDivisionX=10; m_nDivisionY=10; } @@ -677,6 +698,7 @@ void CSO7_Send_Parameter::OnBnClickedButtonStartSampleScurve() m_dataGraph.RemoveAll(); m_DrawGraph.SetGraphyView(m_dbStartX,m_dbEndX,m_dbStartY,m_dbEndY,m_nDivisionX,m_nDivisionY); m_DrawGraph.SetResolution(m_dbResolutionX,m_dbResolutionY); + m_TimerCnt=static_cast((m_SampleTime*1000)/m_TimerInterval); m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_TO_POS_XYZ(CT_MOVETOXYZ); SetTimer(1,m_TimerInterval,NULL); m_StartTime=clock(); @@ -685,7 +707,7 @@ void CSO7_Send_Parameter::OnBnClickedButtonStartSampleScurve() //================================================================================================ void CSO7_Send_Parameter::OnBnClickedButtonStopSampleScurve() { - KillTimer(1); + m_TimerCnt=0; } //================================================================================================ diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Send_Parameter.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Send_Parameter.h index 746a51c..59c5498 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Send_Parameter.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Send_Parameter.h @@ -40,6 +40,7 @@ public: int m_TimerInterval; double m_dbResolutionX,m_dbResolutionY; CRect CanvasRect; + int m_TimerCnt; public: CString m_csBaseSpeedX[5]; CString m_csMaxSpeedX[5]; 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 0067c64..9242675 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 @@ -13,8 +13,9 @@ #include "SO7_VolComp.h" #include "SO7_UtilDlg.h" // CSO7_UtilDlg 对话框 + +extern CSerial* m_pSO7_Serial; extern CSO7_Proto* m_pSO7_Proto; -CSerial* m_pSO7_Serial=NULL; CLogger* g_pLoggerDebug=NULL; CSO7_VolComp* g_pVolComp=NULL; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Manual_Machine.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Manual_Machine.cpp new file mode 100644 index 0000000..4fca2b2 --- /dev/null +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Manual_Machine.cpp @@ -0,0 +1,207 @@ +// So7_Manual_Machine.cpp : implementation file +// + +#include "stdafx.h" +#include "resource.h" +#include "..\..\..\SevenOcean\CMMIO_SERIAL.H" +#include "So7_Manual_Machine.h" +#include "afxdialogex.h" + +extern CSerial* m_pSO7_Serial; +// CSo7_Manual_Machine dialog + +IMPLEMENT_DYNAMIC(CSo7_Manual_Machine, CDialog) + +CSo7_Manual_Machine::CSo7_Manual_Machine(CWnd* pParent /*=NULL*/) + : CDialog(CSo7_Manual_Machine::IDD, pParent) +{ + +} + +CSo7_Manual_Machine::~CSo7_Manual_Machine() +{ +} + +void CSo7_Manual_Machine::DoDataExchange(CDataExchange* pDX) +{ + CDialog::DoDataExchange(pDX); +} + + +BEGIN_MESSAGE_MAP(CSo7_Manual_Machine, CDialog) + ON_BN_CLICKED(IDC_BUTTON_SO7_MANUAL_MACHINE_START_MACHINE, &CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineStartMachine) + ON_BN_CLICKED(IDC_BUTTON_SO7_MANUAL_MACHINE_STOP_MACHINE, &CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineStopMachine) + ON_BN_CLICKED(IDC_RADIO_SO7_MANUAL_MACHINE_COMMON_CMD1, &CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineCommonCmd1) + ON_BN_CLICKED(IDC_RADIO_SO7_MANUAL_MACHINE_COMMON_CMD2, &CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineCommonCmd2) + ON_BN_CLICKED(IDC_RADIO_SO7_MANUAL_MACHINE_COMMON_CMD3, &CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineCommonCmd3) + ON_BN_CLICKED(IDC_RADIO_SO7_MANUAL_MACHINE_SEND_DATA_TYPE_HEX, &CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineSendDataTypeHex) + ON_BN_CLICKED(IDC_RADIO_SO7_MANUAL_MACHINE_SEND_DATA_TYPE_ANSCII, &CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineSendDataTypeAnscii) + ON_BN_CLICKED(IDC_BUTTON_SO7_MANUAL_MACHINE_SEND_DATA, &CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineSendData) + ON_EN_KILLFOCUS(IDC_EDIT_X_SCALE_COEFFICIENT, &CSo7_Manual_Machine::OnEnKillfocusEditXScaleCoefficient) + ON_EN_KILLFOCUS(IDC_EDIT_Y_SCALE_COEFFICIENT, &CSo7_Manual_Machine::OnEnKillfocusEditYScaleCoefficient) + ON_EN_KILLFOCUS(IDC_EDIT_Z_SCALE_COEFFICIENT, &CSo7_Manual_Machine::OnEnKillfocusEditZScaleCoefficient) + ON_BN_CLICKED(IDC_BUTTON_SO7_MANUAL_MACHINE_CLEAR_MSG, &CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineClearMsg) + ON_BN_CLICKED(IDC_BUTTON_SO7_MANUAL_MACHINE_SAVE_MSG, &CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineSaveMsg) + ON_BN_CLICKED(IDCANCEL, &CSo7_Manual_Machine::OnBnClickedCancel) +END_MESSAGE_MAP() + + +// CSo7_Manual_Machine message handlers + +//=================================================== +BOOL CSo7_Manual_Machine::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); + } + } + ((CButton *)GetDlgItem(IDC_RADIO_SO7_MANUAL_MACHINE_SEND_DATA_TYPE_HEX))->SetCheck(TRUE); + ((CButton *)GetDlgItem(IDC_RADIO_SO7_MANUAL_MACHINE_SEND_DATA_TYPE_ANSCII))->SetCheck(FALSE); + + //=============================================================================== + // 创建状态栏 + m_StatusBar.Create(WS_CHILD|WS_VISIBLE|SBS_SIZEGRIP, CRect(0, 0, 0, 0), this, 101); + m_StatusBar.SetBkColor(RGB(0xff, 0xff, 0x00)); + int arWidth[] = {330,450, -1 }; + m_StatusBar.SetParts(3, arWidth); + m_StatusBar.SetText(_T("System ready."), 0, 0); + + GetDlgItem(IDC_BUTTON_SO7_MANUAL_MACHINE_SEND_DATA)->EnableWindow(FALSE); + + UpdateData(FALSE); + return TRUE; // return TRUE unless you set the focus to a control +} + + +//=================================================== +void CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineStartMachine() +{ + if (m_pSO7_Serial) + { + CString Param,Params; + int Port; + int Baud; + char Parity; + int Bits; + int StopBits; + int HandShake; + m_pSO7_Serial->GetPortData(&Port,&Baud,&Parity,&Bits,&StopBits,&HandShake); + Params.Format( TEXT("[COM%d]"), Port ); + Param.Format( TEXT(" Baud=%d"), Baud ); + Params += Param; + Param.Format( TEXT(" Parity=%c"), Parity ); + Params += Param; + Param.Format( TEXT(" Data=%d"), Bits ); + Params += Param; + Param.Format( TEXT(" Stop=%d"), StopBits ); + Params += Param; + m_StatusBar.SetText(Params, 0, 0); + + if(m_pSO7_Serial->Open()) + { + m_StatusBar.SetText(_T("成功打开串口"), 1, 0); + GetDlgItem(IDC_BUTTON_SO7_MANUAL_MACHINE_SEND_DATA)->EnableWindow(TRUE); + } + else + { + m_StatusBar.SetText(_T("串口被占用"), 1, 0); + GetDlgItem(IDC_BUTTON_SO7_MANUAL_MACHINE_SEND_DATA)->EnableWindow(FALSE); + } + } +} + +//=================================================== +void CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineStopMachine() +{ + GetDlgItem(IDC_BUTTON_SO7_MANUAL_MACHINE_SEND_DATA)->EnableWindow(TRUE); +} + +//=================================================== +void CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineCommonCmd1() +{ + // TODO: Add your control notification handler code here +} + +//=================================================== +void CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineCommonCmd2() +{ + // TODO: Add your control notification handler code here +} + +//=================================================== +void CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineCommonCmd3() +{ + // TODO: Add your control notification handler code here +} + +//=================================================== +void CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineSendDataTypeHex() +{ + // TODO: Add your control notification handler code here +} + +//=================================================== +void CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineSendDataTypeAnscii() +{ + // TODO: Add your control notification handler code here +} + +//=================================================== +void CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineSendData() +{ + // TODO: Add your control notification handler code here +} + +//=================================================== +void CSo7_Manual_Machine::OnEnKillfocusEditXScaleCoefficient() +{ + // TODO: Add your control notification handler code here +} + +//=================================================== +void CSo7_Manual_Machine::OnEnKillfocusEditYScaleCoefficient() +{ + // TODO: Add your control notification handler code here +} + +//=================================================== +void CSo7_Manual_Machine::OnEnKillfocusEditZScaleCoefficient() +{ + // TODO: Add your control notification handler code here +} + +//=================================================== +void CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineClearMsg() +{ + // TODO: Add your control notification handler code here +} + +//=================================================== +void CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineSaveMsg() +{ + // TODO: Add your control notification handler code here +} + +//=================================================== +void CSo7_Manual_Machine::OnBnClickedCancel() +{ + OnBnClickedButtonSo7ManualMachineStopMachine(); + CDialog::OnCancel(); +} 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 new file mode 100644 index 0000000..f56bd1e --- /dev/null +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Manual_Machine.h @@ -0,0 +1,39 @@ +#pragma once + + +// CSo7_Manual_Machine dialog + +class CSo7_Manual_Machine : public CDialog +{ + DECLARE_DYNAMIC(CSo7_Manual_Machine) + +public: + CSo7_Manual_Machine(CWnd* pParent = NULL); // standard constructor + virtual ~CSo7_Manual_Machine(); + +// Dialog Data + enum { IDD = IDD_SO7_UTIL_MANUAL_MACHINE }; + +protected: + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support + virtual BOOL OnInitDialog(); + DECLARE_MESSAGE_MAP() +protected: + CStatusBarCtrl m_StatusBar; + CEdit m_edit_Log; +public: + afx_msg void OnBnClickedButtonSo7ManualMachineStartMachine(); + afx_msg void OnBnClickedButtonSo7ManualMachineStopMachine(); + afx_msg void OnBnClickedRadioSo7ManualMachineCommonCmd1(); + afx_msg void OnBnClickedRadioSo7ManualMachineCommonCmd2(); + afx_msg void OnBnClickedRadioSo7ManualMachineCommonCmd3(); + afx_msg void OnBnClickedRadioSo7ManualMachineSendDataTypeHex(); + afx_msg void OnBnClickedRadioSo7ManualMachineSendDataTypeAnscii(); + afx_msg void OnBnClickedButtonSo7ManualMachineSendData(); + afx_msg void OnEnKillfocusEditXScaleCoefficient(); + afx_msg void OnEnKillfocusEditYScaleCoefficient(); + afx_msg void OnEnKillfocusEditZScaleCoefficient(); + afx_msg void OnBnClickedButtonSo7ManualMachineClearMsg(); + afx_msg void OnBnClickedButtonSo7ManualMachineSaveMsg(); + afx_msg void OnBnClickedCancel(); +}; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Option.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Option.cpp index 29ca41a..cbe9646 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Option.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Option.cpp @@ -3,6 +3,9 @@ #include "stdafx.h" #include "resource.h" + +#include "..\..\..\SevenOcean\CMMIO_SERIAL.H" + #include "..\..\..\SevenOcean\SO7_Proto.h" #include "ProcessButton.h" @@ -29,6 +32,8 @@ #include "afxdialogex.h" #include "So7_Option.h" + +CSerial* m_pSO7_Serial=NULL; CSO7_Proto* m_pSO7_Proto=NULL; CKeyence_Laser* m_pKeyence_Laser=NULL; CKeyence_Laser_LK_H* m_pKeyence_Laser_LK_H=NULL; @@ -92,6 +97,8 @@ BOOL CSo7_Option::OnInitDialog() ((CButton *)GetDlgItem(IDC_RADIO_VIDEOCARD_SV2000E))->SetCheck(FALSE); ((CButton *)GetDlgItem(IDC_RADIO_VIDEOCARD_TC4000))->SetCheck(FALSE); ((CButton *)GetDlgItem(IDC_RADIO_KEYENCE_LASER))->SetCheck(TRUE); + ((CButton *)GetDlgItem(IDC_RADIO_SO7_IP_CAMERA))->SetCheck(FALSE); + ((CButton *)GetDlgItem(IDC_RADIO__SO7_RS232))->SetCheck(FALSE); return TRUE; // return TRUE unless you set the focus to a control } 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 3821f3c..5b3d2af 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 @@ -34,6 +34,7 @@ BEGIN_MESSAGE_MAP(CSo7_Util_ImageDll, CDialog) ON_BN_CLICKED(IDC_BUTTON_IMAGEDLL_STOP_SCAN_LASER, &CSo7_Util_ImageDll::OnBnClickedButtonImagedllStopScanLaser) ON_BN_CLICKED(IDC_BUTTON_IMAGEDLL_GET_SCAN_LASER_DATA, &CSo7_Util_ImageDll::OnBnClickedButtonImagedllGetScanLaserData) ON_BN_CLICKED(IDC_BUTTON_IMAGEDLL_PAUSE_AND_GET_SCAN_LASER_DATA, &CSo7_Util_ImageDll::OnBnClickedButtonImagedllPauseAndGetScanLaserData) + ON_BN_CLICKED(IDC_BUTTON_IMAGEDLL_2LASER_CALCULATE, &CSo7_Util_ImageDll::OnBnClickedButtonImagedll2laserCalculate) END_MESSAGE_MAP() @@ -93,3 +94,85 @@ void CSo7_Util_ImageDll::OnBnClickedButtonImagedllPauseAndGetScanLaserData() { m_pSo7_Interface->PauseScanAndGetData(); } + +//====================================================== +void CSo7_Util_ImageDll::OnBnClickedButtonImagedll2laserCalculate() +{ + CString str; + UpdateData(TRUE); + USES_CONVERSION; + + MY3DPoint Top_Pos[4]; + MY3DPoint Bottom_Pos[4]; + double error[MAX_POINT]={0.0}; + double dis=0.0; + int m_nStep=4; + double coe[4]={0.0}; + + GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_X1)->GetWindowText(str); + const char* cTempValue=T2A(str); + Top_Pos[0].x=atof(cTempValue); + Bottom_Pos[0].x=atof(cTempValue); + + GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_Y1)->GetWindowText(str); + cTempValue=T2A(str); + Top_Pos[0].y=atof(cTempValue); + Bottom_Pos[0].y=atof(cTempValue); + + GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_TOPZ1)->GetWindowText(str); + cTempValue=T2A(str); + Top_Pos[0].z=atof(cTempValue); + + GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_BOTTOMZ1)->GetWindowText(str); + cTempValue=T2A(str); + Bottom_Pos[0].z=atof(cTempValue); + + GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_X2)->GetWindowText(str); + cTempValue=T2A(str); + Top_Pos[1].x=atof(cTempValue); + Bottom_Pos[1].x=atof(cTempValue); + + GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_Y2)->GetWindowText(str); + cTempValue=T2A(str); + Top_Pos[1].y=atof(cTempValue); + Bottom_Pos[1].y=atof(cTempValue); + + GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_TOPZ2)->GetWindowText(str); + cTempValue=T2A(str); + Top_Pos[1].z=atof(cTempValue); + + GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_BOTTOMZ2)->GetWindowText(str); + cTempValue=T2A(str); + Bottom_Pos[1].x=atof(cTempValue); + + GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_X3)->GetWindowText(str); + cTempValue=T2A(str); + Top_Pos[2].x=atof(cTempValue); + Bottom_Pos[2].x=atof(cTempValue); + Top_Pos[3].x=atof(cTempValue); + Bottom_Pos[3].x=atof(cTempValue); + + GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_Y3)->GetWindowText(str); + cTempValue=T2A(str); + Top_Pos[2].y=atof(cTempValue); + Bottom_Pos[2].y=atof(cTempValue); + Top_Pos[3].y=atof(cTempValue); + Bottom_Pos[3].y=atof(cTempValue); + + GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_TOPZ3)->GetWindowText(str); + cTempValue=T2A(str); + Top_Pos[2].z=atof(cTempValue); + Top_Pos[3].z=atof(cTempValue); + + GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_BOTTOMZ3)->GetWindowText(str); + cTempValue=T2A(str); + Bottom_Pos[2].z=atof(cTempValue); + Bottom_Pos[3].z=atof(cTempValue); + + GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_STANDARD_VALUE)->GetWindowText(str); + cTempValue=T2A(str); + + m_pSo7_Interface->Pro_Face_Du(Top_Pos,m_nStep,coe,error,dis); + m_pSo7_Interface->Pro_Face_Du(Bottom_Pos,m_nStep,coe,error,dis); + +} diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_ImageDll.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_ImageDll.h index 2825f47..b0fb253 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_ImageDll.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_ImageDll.h @@ -23,4 +23,5 @@ public: afx_msg void OnBnClickedButtonImagedllStopScanLaser(); afx_msg void OnBnClickedButtonImagedllGetScanLaserData(); afx_msg void OnBnClickedButtonImagedllPauseAndGetScanLaserData(); + afx_msg void OnBnClickedButtonImagedll2laserCalculate(); }; 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 8d330be..ba384c7 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 @@ -235,6 +235,7 @@ + @@ -288,6 +289,7 @@ + diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj.filters b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj.filters index 7e2f783..51e7039 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj.filters +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj.filters @@ -118,6 +118,9 @@ Sources Files + + Sources Files + @@ -267,6 +270,9 @@ Header Files + + Header Files + diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Videocard_SV2000E.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Videocard_SV2000E.cpp index 4eb6ddf..e9c1e7c 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Videocard_SV2000E.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Videocard_SV2000E.cpp @@ -19,6 +19,8 @@ static const long SharpnessDefault = 4; static BYTE g_DataBuffer[640*480*2]; static BYTE g_DataBuffer_NAV[640*480*2]; +device_handle CVideocard_SV2000E::m_device=NULL; +device_handle CVideocard_SV2000E::m_device_Nav=NULL; // CVideocard_SV2000E dialog IMPLEMENT_DYNAMIC(CVideocard_SV2000E, CDialog) @@ -26,7 +28,6 @@ IMPLEMENT_DYNAMIC(CVideocard_SV2000E, CDialog) CVideocard_SV2000E::CVideocard_SV2000E(CWnd* pParent /*=NULL*/) : CDialog(CVideocard_SV2000E::IDD, pParent) { - m_device=NULL; m_dwCard=0; m_nDevNum=0; m_bMirror=FALSE; @@ -55,6 +56,7 @@ BEGIN_MESSAGE_MAP(CVideocard_SV2000E, CDialog) ON_BN_CLICKED(IDC_RADIO_SV2000E_CHANNEL1, &CVideocard_SV2000E::OnBnClickedRadioSv2000eChannel1) ON_BN_CLICKED(IDC_RADIO_SV2000E_CHANNEL2, &CVideocard_SV2000E::OnBnClickedRadioSv2000eChannel2) ON_CBN_SELCHANGE(IDC_COMBO_SV2000E_SELECT_DEV_NUMBER, &CVideocard_SV2000E::OnCbnSelchangeComboSv2000eSelectDevNumber) + ON_EN_KILLFOCUS(IDC_EDITTC4000_SET_DEINTERLACE, &CVideocard_SV2000E::OnEnKillfocusEdittc4000SetDeinterlace) END_MESSAGE_MAP() @@ -267,7 +269,7 @@ void CVideocard_SV2000E::OpenDevice(unsigned int _DevNo,device_handle &_OpenedDe m_status=DXSetVideoSource(_OpenedDevice, m_Channel); //==============================消除隔行========================================= - m_status=DXSetVideoPara(_OpenedDevice,standard,colorspace,width,height,framerate); + //m_status=DXSetVideoPara(_OpenedDevice,standard,colorspace,width,height,framerate); //================================================================================ m_status=DXSetDisplayPara( _OpenedDevice, BRIGHTNESS, 5000,2); m_status=DXSetDisplayPara( _OpenedDevice, SATURATION, 5000,2); @@ -304,6 +306,30 @@ BOOL CVideocard_SV2000E::UnloadVideocard(device_handle _Device) return TRUE; } //================================================================ +void CVideocard_SV2000E::OnEnKillfocusEdittc4000SetDeinterlace() +{ + CString StrTmp; + ((CEdit*)GetDlgItem(IDC_EDITTC4000_SET_DEINTERLACE))->GetWindowText(StrTmp); + USES_CONVERSION; + const char* cTemp; + cTemp=T2A(StrTmp); + unsigned int iDein=atoi(cTemp); + + if (m_OpenDevNo==0) + { + m_status=DXEnableDeinterlace(m_device,iDein); + } + else if (m_OpenDevNo==1) + { + m_status=DXEnableDeinterlace(m_device_Nav,iDein); + } + else if(m_OpenDevNo==2) + { + m_status=DXEnableDeinterlace(m_device,iDein); + m_status=DXEnableDeinterlace(m_device_Nav,iDein); + } +} +//================================================================ void CVideocard_SV2000E::ConvertVideoSubType(const Image_Buffer& _ImageBuffer, BYTE *_pSrcData,ConvertColorType _type,BOOL _bMirror) { int x=0; @@ -593,5 +619,3 @@ unsigned CALLBACK SVAPrcVidCapCallBackNav(unsigned char* buffer, unsigned colorS }; - - diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Videocard_SV2000E.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Videocard_SV2000E.h index 28edb8a..e3ba4da 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Videocard_SV2000E.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Videocard_SV2000E.h @@ -31,8 +31,8 @@ public: afx_msg void OnBnClickedOk(); protected: unsigned int m_status; - device_handle m_device; - device_handle m_device_Nav; + static device_handle m_device; + static device_handle m_device_Nav; int m_nDevNum; DWORD m_dwCard; @@ -56,4 +56,5 @@ public: afx_msg void OnBnClickedRadioSv2000eChannel1(); afx_msg void OnBnClickedRadioSv2000eChannel2(); afx_msg void OnCbnSelchangeComboSv2000eSelectDevNumber(); + afx_msg void OnEnKillfocusEdittc4000SetDeinterlace(); }; 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 332fda5..b85428f 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h @@ -42,6 +42,7 @@ #define IDD_SO7_UTIL_SETUP_CONFIGURE 164 #define IDD_SO7_UTIL_IMAGE_DLL 165 #define IDD_SO7_VIDEOCARD_TC4000 166 +#define IDD_SO7_UTIL_MANUAL_MACHINE 167 #define IDC_BUTTON_INIT_MVUSB 1001 #define IDC_BUTTON_START_MACHINE 1002 #define IDC_BUTTON_START_POLL_58 1004 @@ -340,8 +341,11 @@ #define IDC_EDIT_REPRETEST 1274 #define IDC_EDIT_FRESHSPEED_X1 1274 #define IDC_EDIT_SO7CONFIG_ZOOM_FASTSPEED 1274 +#define IDC_EDIT_IMAGEDLL_2LASER_TOPZ1 1274 #define IDC_EDIT_FRESHSPEED_X2 1275 +#define IDC_EDIT_IMAGEDLL_2LASER_TOPZ2 1275 #define IDC_EDIT_FRESHSPEED_X3 1276 +#define IDC_EDIT_IMAGEDLL_2LASER_TOPZ3 1276 #define IDC_BUTTON_ZERO_SET 1277 #define IDC_EDIT_FRESHSPEED_X4 1277 #define IDC_EDIT_SAVE_INI_FILE 1278 @@ -472,16 +476,24 @@ #define IDC_CHECK2 1394 #define IDC_CHECK_REVERSE 1394 #define IDC_CHECK_AUTOZOOM_CONTINUE_READ 1394 +#define IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM1 1394 #define IDC_BUTTON_MANUAL_HOME 1395 +#define IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM2 1395 #define IDC_CHECK_ 1396 #define IDC_CHECK_REPETEST_VOLCOMP 1396 +#define IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM3 1396 #define IDC_BUTTON_CALIBRATE_ENCODER 1397 +#define IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM4 1397 #define IDC_COMBOREPETEST_FROM 1398 #define IDC_COMBO_REPETEST_FROM 1398 +#define IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM5 1398 #define IDC_COMBO_REPETEST_TO 1399 +#define IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM6 1399 #define IDC_BUTTON_REPETEST_BEGIN 1400 +#define IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM7 1400 #define IDC_EDIT_ZOOM_REPE_TIME 1401 #define IDC_CHECK_REPETESTV 1402 +#define IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM0 1402 #define IDC_RADIO_MACHINE_ANIMATICS 1403 #define IDC_BUTTON_POS_SET_ZERO 1406 #define IDC_EDIT_ANIMATICS_CMD 1408 @@ -606,6 +618,7 @@ #define IDC_BUTTON_SETUP_SO7CONFIG 1518 #define IDC_BUTTON_SCAN_KEYENCE_LK_GLASER 1518 #define IDC_BUTTON_IMAGEDLL_START_SCAN_LASER 1518 +#define IDC_BUTTON_SO7_MANUAL_MACHINE_START_MACHINE 1518 #define IDC_STATIC_CANVAS 1519 #define IDC_BUTTON_SCAN_KEYENCE_LK_HLASER 1519 #define IDC_BUTTON_STATUS_OVERHEAT_X 1520 @@ -620,6 +633,7 @@ #define IDC_BTN_CONFIGURE_MOVEVOUT 1524 #define IDC_BUTTON_STOP_SCAN_KEYENCE_LK_GLASER 1524 #define IDC_BUTTON_IMAGEDLL_GET_SCAN_LASER_DATA 1524 +#define IDC_BUTTON_SO7_MANUAL_MACHINE_STOP_MACHINE 1524 #define IDC_CUSTOM1 1525 #define IDC_CUSTOM_CANVAS 1525 #define IDC_BUTTON_STOP_SCAN_KEYENCE_LK_HLASER 1525 @@ -658,6 +672,8 @@ #define IDC_RADIO_TEST_IMAGE_DLL 1560 #define IDC_BUTTON3 1562 #define IDC_BUTTON_IMAGEDLL_PAUSE_AND_GET_SCAN_LASER_DATA 1562 +#define IDC_BUTTON_TEST_KEYENCE_SAVE_LOG 1562 +#define IDC_BUTTON_SO7_MANUAL_MACHINE_SEND_DATA 1562 #define IDC_BUTTON_IMAGEDLL_STOP_SCAN_LASER 1563 #define IDC_STATIC_TC4000_PICTURE 1564 #define IDC_RADIO_SO7_IP_CAMERA 1565 @@ -669,14 +685,84 @@ #define IDC_RADIO_SV2000E_CHANNEL2 1571 #define IDC_COMBO_SV200E 1573 #define IDC_COMBO_SV2000E_SELECT_DEV_NUMBER 1573 +#define IDC_EDITTC4000_SET_DEINTERLACE 1574 +#define IDC_EDIT_IMAGEDLL_2LASER_Y1 1575 +#define IDC_EDIT_IMAGEDLL_2LASER_BOTTOMZ1 1576 +#define IDC_EDIT_IMAGEDLL_2LASER_STANDARD_VALUE 1577 +#define IDC_EDIT_IMAGEDLL_2LASER_MEASURED_VALUE 1578 +#define IDC_EDIT_IMAGEDLL_2LASER_X1 1579 +#define IDC_EDIT_IMAGEDLL_2LASER_X2 1580 +#define IDC_EDIT_IMAGEDLL_2LASER_Y2 1581 +#define IDC_EDIT_IMAGEDLL_2LASER_BOTTOMZ2 1582 +#define IDC_EDIT_IMAGEDLL_2LASER_X3 1583 +#define IDC_EDIT_IMAGEDLL_2LASER_Y3 1584 +#define IDC_EDIT_IMAGEDLL_2LASER_BOTTOMZ3 1585 +#define IDC_BUTTON_IMAGEDLL_2LASER_CALCULATE 1586 +#define IDC_EDIT_IMAGEDLL_2LASER_XSHIFT 1587 +#define IDC_EDIT_IMAGEDLL_2LASER_YSHIFT 1588 +#define IDC_EDIT_TEST_LK_G_INTERVAL 1591 +#define IDC_RADIO__SO7_RS232 1592 +#define IDC_EDIT_SO7_MANUAL_MACHINE_DATA 1598 +#define IDC_RADIO_SO7_MANUAL_MACHINE_SEND_DATA_TYPE_HEX 1599 +#define IDC_RADIO_SO7_MANUAL_MACHINE_SEND_DATA_TYPE_ANSCII 1600 +#define IDC_RADIO_SO7_MANUAL_MACHINE_COMMON_CMD1 1601 +#define IDC_RADIO_SO7_MANUAL_MACHINE_COMMON_CMD2 1602 +#define IDC_RADIO_SO7_MANUAL_MACHINE_COMMON_CMD3 1603 +#define IDC_BUTTON_SO7_MANUAL_MACHINE_CLEAR_MSG 1604 +#define IDC_BUTTON_SO7_MANUAL_MACHINE_SAVE_MSG 1605 +#define IDC_BUTTON_TEST_KEYENCE_CLEAR_LOG 1606 +#define IDC_BUTTON_KEYENCE_LASER_CALIBRATE_VALUE 1607 +#define IDC_EDIT_KEYENCE_LASER_CALIBRATE_VALUE 1608 +#define IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE0 1609 +#define IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE1 1610 +#define IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE2 1611 +#define IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE0 1612 +#define IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT0 1613 +#define IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT0 1614 +#define IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE0 1615 +#define IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE1 1616 +#define IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT1 1617 +#define IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT1 1618 +#define IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE1 1619 +#define IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE2 1620 +#define IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT2 1621 +#define IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT2 1622 +#define IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE2 1623 +#define IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE3 1624 +#define IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE3 1625 +#define IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT3 1626 +#define IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT3 1627 +#define IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE3 1628 +#define IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE4 1629 +#define IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE4 1630 +#define IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT4 1631 +#define IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT4 1632 +#define IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE4 1633 +#define IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE5 1634 +#define IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE5 1635 +#define IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT5 1636 +#define IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT5 1637 +#define IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE5 1638 +#define IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE6 1639 +#define IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE6 1640 +#define IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT6 1641 +#define IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT6 1642 +#define IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE6 1643 +#define IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE7 1644 +#define IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE7 1645 +#define IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT7 1646 +#define IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT7 1647 +#define IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE7 1648 +#define IDC_BUTTONIDC_BUTTON_TEST_KEYENCE_CLEAR_LOG 1649 +#define IDC_BUTTON_TEST_KEYENCE_SET_OUTPUT 1649 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 166 +#define _APS_NEXT_RESOURCE_VALUE 168 #define _APS_NEXT_COMMAND_VALUE 32771 -#define _APS_NEXT_CONTROL_VALUE 1574 +#define _APS_NEXT_CONTROL_VALUE 1650 #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 bf47e02..8713f1a 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