diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Keyence/Keyence_Laser_LK_H.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Keyence/Keyence_Laser_LK_H.cpp index ac0d057..6f78bb9 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Keyence/Keyence_Laser_LK_H.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Keyence/Keyence_Laser_LK_H.cpp @@ -15,6 +15,7 @@ CKeyence_Laser_LK_H::CKeyence_Laser_LK_H() m_StoredDataNumber=0; m_NeedStorageDataNumber=0; m_StorageCycle=LKIF_STORAGECYCLE_100; + m_DeviceID=LKG5000DEVICEMAXNO; } CKeyence_Laser_LK_H::~CKeyence_Laser_LK_H() @@ -90,7 +91,7 @@ BOOL CKeyence_Laser_LK_H::OpenDeviceEthernet(IN_ADDR _IPAddr) } else { - m_result = LKIF2_OpenDeviceETHER(¶mEther); + m_result = m_pOpenDeviceETHER(¶mEther); if (m_result==RC_OK) { ReturnStatus=TRUE; @@ -103,6 +104,40 @@ BOOL CKeyence_Laser_LK_H::OpenDeviceEthernet(IN_ADDR _IPAddr) return ReturnStatus; } //============================================== +BOOL CKeyence_Laser_LK_H::SetDeviceIPADDR(int _DeviceID,IN_ADDR _IPAddr) +{ + BOOL ReturnStatus(FALSE); + if (0<=_DeviceID && _DeviceIDKeyenceLaserInit(); return TRUE; // return TRUE unless you set the focus to a control } @@ -60,6 +70,9 @@ BOOL CKeyence_LKG5000_Ethernet::OnInitDialog() //====================================================== void CKeyence_LKG5000_Ethernet::OnBnClickedCancel() { + KillTimer(1); + KillTimer(2); + CDialogEx::OnCancel(); } @@ -67,14 +80,19 @@ void CKeyence_LKG5000_Ethernet::OnBnClickedCancel() //====================================================== void CKeyence_LKG5000_Ethernet::OnBnClickedBtnKeyenceLkg5000EthernetConnect1() { - UCHAR bIPAddr0,bIPAddr1,bIPAddr2,bIPAddr3; - m_IPAddress[0].GetAddress(bIPAddr0,bIPAddr1,bIPAddr2,bIPAddr3); - DWORD DIPAddr1(0); - m_IPAddress[0].GetAddress(DIPAddr1); + UCHAR bIPAddr[4]; + m_IPAddress[0].GetAddress(bIPAddr[0],bIPAddr[1],bIPAddr[2],bIPAddr[3]); IN_ADDR IPAddr; - IPAddr.s_addr=DIPAddr1; - BOOL bStatus=g_Keyence_LKG5000[0].OpenDeviceEthernet(IPAddr); - m_csMsg.Format(_T("[Open Device1]%d"),bStatus); + int index(0); + IPAddr.S_un.S_un_b.s_b1=bIPAddr[index++]; + IPAddr.S_un.S_un_b.s_b2=bIPAddr[index++]; + IPAddr.S_un.S_un_b.s_b3=bIPAddr[index++]; + IPAddr.S_un.S_un_b.s_b4=bIPAddr[index++]; + BOOL bStatus(FALSE); + bStatus=m_pKeyence_Laser_LK_H->SetDeviceIPADDR(0,IPAddr); + bStatus=m_pKeyence_Laser_LK_H->SetDeviceID(0); + + m_csMsg.Format(_T("[Open Device1] %d"),bStatus); OutputWithScroll(m_csMsg,m_edMSG); } @@ -82,9 +100,9 @@ void CKeyence_LKG5000_Ethernet::OnBnClickedBtnKeyenceLkg5000EthernetConnect1() //====================================================== void CKeyence_LKG5000_Ethernet::OnBnClickedBtnKeyenceLkg5000EthernetReadout1() { - float OutValue1(0.0),OutValue2(0.0); - g_Keyence_LKG5000[0].Get_KeyenceLaserData(&OutValue1,&OutValue2); - m_csMsg.Format(_T("[Device1 Redout]Out1:%.4f;Out2:%.4f."),OutValue1,OutValue2); + double dOutVal[2]={0.0}; + GetLKG5000OUTValue(0,dOutVal); + m_csMsg.Format(_T("[Device1 Readout] Out1:%.4f;Out2:%.4f."),dOutVal[0],dOutVal[1]); OutputWithScroll(m_csMsg,m_edMSG); } @@ -92,12 +110,19 @@ void CKeyence_LKG5000_Ethernet::OnBnClickedBtnKeyenceLkg5000EthernetReadout1() //====================================================== void CKeyence_LKG5000_Ethernet::OnBnClickedBtnKeyenceLkg5000EthernetConnect2() { - DWORD DIPAddr1(0); - m_IPAddress[0].GetAddress(DIPAddr1); + UCHAR bIPAddr[4]; + m_IPAddress[1].GetAddress(bIPAddr[0],bIPAddr[1],bIPAddr[2],bIPAddr[3]); IN_ADDR IPAddr; - IPAddr.s_addr=DIPAddr1; - BOOL bStatus=g_Keyence_LKG5000[1].OpenDeviceEthernet(IPAddr); - m_csMsg.Format(_T("[Open Device2]%d"),bStatus); + int index(0); + IPAddr.S_un.S_un_b.s_b1=bIPAddr[index++]; + IPAddr.S_un.S_un_b.s_b2=bIPAddr[index++]; + IPAddr.S_un.S_un_b.s_b3=bIPAddr[index++]; + IPAddr.S_un.S_un_b.s_b4=bIPAddr[index++]; + + BOOL bStatus(FALSE); + bStatus=m_pKeyence_Laser_LK_H->SetDeviceIPADDR(1,IPAddr); + bStatus=m_pKeyence_Laser_LK_H->SetDeviceID(1); + m_csMsg.Format(_T("[Open Device2] %d"),bStatus); OutputWithScroll(m_csMsg,m_edMSG); } @@ -105,12 +130,117 @@ void CKeyence_LKG5000_Ethernet::OnBnClickedBtnKeyenceLkg5000EthernetConnect2() //====================================================== void CKeyence_LKG5000_Ethernet::OnBnClickedBtnKeyenceLkg5000EthernetReadout2() { - float OutValue1(0.0),OutValue2(0.0); - g_Keyence_LKG5000[1].Get_KeyenceLaserData(&OutValue1,&OutValue2); - m_csMsg.Format(_T("[Device1 Redout]Out1:%.4f;Out2:%.4f."),OutValue1,OutValue2); + double dOutVal[2]={0.0}; + GetLKG5000OUTValue(1,dOutVal); + m_csMsg.Format(_T("[Device2 Readout] Out1:%.4f;Out2:%.4f."),dOutVal[0],dOutVal[1]); OutputWithScroll(m_csMsg,m_edMSG); } //===================================================================================== +void CKeyence_LKG5000_Ethernet::GetLKG5000OUTValue(int _DeviceID,double*_dVal) +{ + float OutValue1(0.0),OutValue2(0.0); + m_pKeyence_Laser_LK_H->SetDeviceID(_DeviceID); + m_pKeyence_Laser_LK_H->Get_KeyenceLaserData(&OutValue1,&OutValue2); + _dVal[0]=static_cast(OutValue1); + _dVal[1]=static_cast(OutValue2); +} + +//===================================================================================== +void CKeyence_LKG5000_Ethernet::OnBnClickedCheckLkg5000ContinueRead1() +{ + if (((CButton *)GetDlgItem(IDC_CHECK_LKG5000_CONTINUE_READ1))->GetCheck()) + { + SetTimer(1,200,NULL); + } + else + { + KillTimer(1); + } +} +//===================================================================================== +void CKeyence_LKG5000_Ethernet::OnBnClickedCheckLkg5000ContinueRead2() +{ + if (((CButton *)GetDlgItem(IDC_CHECK_LKG5000_CONTINUE_READ2))->GetCheck()) + { + SetTimer(2,200,NULL); + } + else + { + KillTimer(2); + } +} +//===================================================================================== +void CKeyence_LKG5000_Ethernet::OnBnClickedBtnKeyenceLkg5000EthernetStoragedata1() +{ + GetStorageData(0,GetAppPath()+_T("\\storagedata1.log")); + +} +//===================================================================================== +void CKeyence_LKG5000_Ethernet::OnBnClickedBtnKeyenceLkg5000EthernetStoragedata2() +{ + GetStorageData(1,GetAppPath()+_T("\\storagedata2.log")); +} +//===================================================================================== +void CKeyence_LKG5000_Ethernet::OnBnClickedBtnKeyenceLkg5000EthernetStartScan() +{ + m_pKeyence_Laser_LK_H->SetDeviceID(0); + m_pKeyence_Laser_LK_H->StartStoreData(0,0,0); +} + +//===================================================================================== +void CKeyence_LKG5000_Ethernet::OnBnClickedBtnKeyenceLkg5000EthernetStopScan() +{ + m_pKeyence_Laser_LK_H->SetDeviceID(0); + m_pKeyence_Laser_LK_H->StopStoreData(); +} +//===================================================================================== +void CKeyence_LKG5000_Ethernet::OnBnClickedBtnKeyenceLkg5000EthernetStartScan2() +{ + m_pKeyence_Laser_LK_H->SetDeviceID(1); + m_pKeyence_Laser_LK_H->StartStoreData(0,0,0); +} +//===================================================================================== +void CKeyence_LKG5000_Ethernet::OnBnClickedBtnKeyenceLkg5000EthernetStopScan2() +{ + m_pKeyence_Laser_LK_H->SetDeviceID(1); + m_pKeyence_Laser_LK_H->StopStoreData(); +} + +void CKeyence_LKG5000_Ethernet::GetStorageData(int _DeviceId,CString csFileName) +{ + float GetData[LK_H_MAX_STORAGE_DATA_SIZE]={0.0}; + int GetDataNumber(0); + m_pKeyence_Laser_LK_H->SetDeviceID(_DeviceId); + + FILE* m_pOutFile; + char *outBuff = NULL; + CString cFileName=csFileName; + _wfopen_s(&m_pOutFile, cFileName, _T("wt")); + if (!m_pOutFile) + { + free(outBuff); + } + else + { + for(int i=0;i<1;i++) + { + m_pKeyence_Laser_LK_H->GetStoredData(i,GetData,&GetDataNumber); + m_csMsg.Format(_T("--------OUT%d: TotaL:%d----------"),i,GetDataNumber); + OutputWithScroll(m_csMsg,m_edMSG); + + fprintf(m_pOutFile,"--------OUT%d: TotaL:%d----------\n", i,GetDataNumber); + for (int i=0;iGetCheck()) { + if (!m_pKeyence_Laser_LK_H) + { + m_pKeyence_Laser_LK_H=new CKeyence_Laser_LK_H(); + } + CKeyence_LKG5000_Ethernet* pKeyence_LKG5000_Ethernet=new CKeyence_LKG5000_Ethernet(); pKeyence_LKG5000_Ethernet->DoModal(); delete pKeyence_LKG5000_Ethernet; pKeyence_LKG5000_Ethernet=nullptr; + + delete m_pKeyence_Laser_LK_H; + m_pKeyence_Laser_LK_H=NULL; } else if (((CButton *)GetDlgItem(IDC_RADIO_VIDEOCARD_SDK3000))->GetCheck()) { 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 f68763d..a4f2645 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h @@ -250,6 +250,7 @@ #define IDC_CHECK_SO7_MANUAL_MACHINE_READ_POS_CONTINUE 1204 #define IDC_CHECK_CONTINUOUS_READ_IO_STATUS 1204 #define IDC_CHECK_SO7_RUNING_PROGRAM_RUNING_INFINITE 1204 +#define IDC_CHECK_LKG5000_CONTINUE_READ1 1204 #define IDC_RADIO_MACHINE_SevenOcean 1205 #define IDC_CHECK_CONTINUE_READ_LASER_LK_H_VALUE 1205 #define IDC_BUTTON_INIT_SO7USB 1206 @@ -482,6 +483,7 @@ #define IDC_CHECK_AUTOZOOM_CONTINUE_READ 1394 #define IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM1 1394 #define IDC_CHECK_SO7_OUT_PORT 1394 +#define IDC_CHECK_LKG5000_CONTINUE_READ2 1394 #define IDC_BUTTON_MANUAL_HOME 1395 #define IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM2 1395 #define IDC_CHECK_ 1396 @@ -689,8 +691,10 @@ #define IDC_BUTTON3 1585 #define IDC_BUTTONIDC_BUTTON_TESA_STAR_MOVETO 1585 #define IDC_BUTTON_HOME 1585 +#define IDC_BTN_KEYENCE_LKG5000_ETHERNET_STORAGEDATA2 1585 #define IDC_BUTTON_INIT_SCAN_KEYENCE_LK_GLASER 1586 #define IDC_BUTTON_GO 1586 +#define IDC_BTN_KEYENCE_LKG5000_ETHERNET_STORAGEDATA1 1586 #define IDC_EDIT_MEASURE_VALUE 1587 #define IDC_RADIO_OUT_EXTRACT 1588 #define IDC_RADIO_KEYENCE_LASER 1589 @@ -900,6 +904,10 @@ #define IDC_KEYENCE_LKG5000_IPADDRESS1 1827 #define IDC_KEYENCE_LKG5000_IPADDRESS2 1828 #define IDC_EDIT_KEYENCE_LKG5000_MSG 1830 +#define IDC_BTN_KEYENCE_LKG5000_ETHERNET_START_SCAN 1831 +#define IDC_BTN_KEYENCE_LKG5000_ETHERNET_STOP_SCAN 1832 +#define IDC_BTN_KEYENCE_LKG5000_ETHERNET_START_SCAN2 1833 +#define IDC_BTN_KEYENCE_LKG5000_ETHERNET_STOP_SCAN2 1834 #define IDC_BUTTON_DIY_EXIT_BUTTON 32740 #define ID_EDIT_SO7_CONFIG_MOTION 32741 @@ -909,7 +917,7 @@ #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 191 #define _APS_NEXT_COMMAND_VALUE 32771 -#define _APS_NEXT_CONTROL_VALUE 1831 +#define _APS_NEXT_CONTROL_VALUE 1832 #define _APS_NEXT_SYMED_VALUE 104 #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 6ad171e..ec5c3f2 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