From e8f25d5f3c4e6f51e345c2a85fd706758b3686aa Mon Sep 17 00:00:00 2001 From: bestlqiang Date: Wed, 13 Jan 2021 13:29:11 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=B8=E6=9C=BA=E6=94=B9=E5=9B=9E=E7=94=A8?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E7=9B=B8=E6=9C=BA=E6=8E=A7=E4=BB=B6;=20?= =?UTF-8?q?=E6=8E=A8=E6=96=99=E4=BF=A1=E5=8F=B7=E5=8F=91=E5=87=BA=E5=90=8E?= =?UTF-8?q?,=E5=85=88=E5=BC=BA=E5=88=B6=E7=AD=89=E5=BE=8510S=E5=86=8D?= =?UTF-8?q?=E6=A3=80=E6=B5=8B=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LaiPuLaser/CameraHawkvis.cpp | 16 +- LaiPuLaser/CameraHawkvis.h | 7 +- LaiPuLaser/ClientMgr.cpp | 2 - LaiPuLaser/DlgCutDeviceCtrl.cpp | 2 +- LaiPuLaser/DlgDnCutCamera.cpp | 542 ++++++++------------- LaiPuLaser/DlgDnCutCamera.h | 5 +- LaiPuLaser/KnownFileNameVec | Bin 541 -> 554 bytes LaiPuLaser/LaiPuLaser.rc | Bin 137368 -> 136852 bytes LaiPuLaser/MainFrm.cpp | 8 +- LaiPuLaser/MainFrm.h | 4 +- LaiPuLaser/ProductMgr.cpp | 2 +- LaiPuLaser/ProgramCutMgr.cpp | 2 +- LaiPuLaser/Program_SZ_XL_TrackWorkFlow.cpp | 14 +- LaiPuLaser/WorkCmdInvoker.cpp | 2 +- 14 files changed, 231 insertions(+), 375 deletions(-) diff --git a/LaiPuLaser/CameraHawkvis.cpp b/LaiPuLaser/CameraHawkvis.cpp index 1a4a5ee..d282768 100644 --- a/LaiPuLaser/CameraHawkvis.cpp +++ b/LaiPuLaser/CameraHawkvis.cpp @@ -147,7 +147,7 @@ void CCameraHawkvis::ExportPar(ofstream *pFile) void CCameraHawkvis::Ini() { //绑定霍克视觉的ocx 控件 - m_HawkvisCtrl = (GetFrame()->m_DlgHawkvisCamera.m_pHawkvisCtrl); + m_HawkvisCtrl = &(GetFrame()->m_DlgHawkvisCamera.m_HawkvisCtrl); #if 0//def __HAWKVIS_MINDVISION_CCD__ //相机镜像 m_HawkvisCtrl->MV_SetReversal(0, m_bMirrorH);//水平方向 @@ -173,14 +173,14 @@ bool CCameraHawkvis::CatchPoint(Dbxy &pt) { if (!m_bUse) return false; - auto & m_HawkvisCtrl = (GetFrame()->m_DlgHawkvisCamera.m_pHawkvisCtrl); + auto & m_HawkvisCtrl = (GetFrame()->m_DlgHawkvisCamera.m_HawkvisCtrl); //清除之前绘制的圆 - m_HawkvisCtrl->ClearGraphicObject(); + m_HawkvisCtrl.ClearGraphicObject(); //抓取一帧 #ifdef __HAWKVIS_MINDVISION_CCD__ - if (!m_HawkvisCtrl->MV_GetOneFrame()) + if (!m_HawkvisCtrl.MV_GetOneFrame()) #else - if (!m_HawkvisCtrl->HV_GetOneFrame()) + if (!m_HawkvisCtrl.HV_GetOneFrame()) #endif { CString str = _T("func : Hawkvis Get One Frame----->Error"); @@ -227,7 +227,7 @@ bool CCameraHawkvis::CatchPoint(Dbxy &pt) bool ret = false; try { - ret = m_HawkvisCtrl->FindShapeModel(GetCurShapeModelID(), v_pdbY, v_pdbX, v_pdbAngles, v_pdbScale, v_pdbSore, nCount); + ret = m_HawkvisCtrl.FindShapeModel(GetCurShapeModelID(), v_pdbY, v_pdbX, v_pdbAngles, v_pdbScale, v_pdbSore, nCount); } catch (...) @@ -278,8 +278,8 @@ bool CCameraHawkvis::CatchPoint(Dbxy &pt) if (!IsDbxyZero(pt)) { - m_HawkvisCtrl->SetCrossShow(1, 30, 30, -1, -1, true); - m_HawkvisCtrl->ZoomFitWindow(); + m_HawkvisCtrl.SetCrossShow(1, 30, 30, -1, -1, true); + m_HawkvisCtrl.ZoomFitWindow(); } //m_HawkvisCtrl->MV_GetContinueFrame(); return true; diff --git a/LaiPuLaser/CameraHawkvis.h b/LaiPuLaser/CameraHawkvis.h index f444b88..bf165b4 100644 --- a/LaiPuLaser/CameraHawkvis.h +++ b/LaiPuLaser/CameraHawkvis.h @@ -18,8 +18,11 @@ public: bool SwitchCamera(long CamIndex); //根据相机索引 0、1 切换相机。由相机控件所在对话框Timmer检测当前索引,切换相机;跨线程直接切换会崩溃。 void OpenTemp(); - unsigned char GetCurShapeModelID() { return m_CurShapeModelID; }; - void SetCurShapeModelID(int ID) { m_CurShapeModelID=ID; }; + // unsigned char GetCurShapeModelID() { return m_CurShapeModelID; }; + // void SetCurShapeModelID(int ID) { m_CurShapeModelID=ID; }; + + unsigned char GetCurShapeModelID() { return 0; }; + void SetCurShapeModelID(int ID) { m_CurShapeModelID = 0; }; public: CHawkvisctrlctrl1 *m_HawkvisCtrl;//霍克视觉的ocx 控件 diff --git a/LaiPuLaser/ClientMgr.cpp b/LaiPuLaser/ClientMgr.cpp index f29fa54..80b3668 100644 --- a/LaiPuLaser/ClientMgr.cpp +++ b/LaiPuLaser/ClientMgr.cpp @@ -45,8 +45,6 @@ bool CClientMgr::Connect2Server() m_bOnline = true; } - - return true; } diff --git a/LaiPuLaser/DlgCutDeviceCtrl.cpp b/LaiPuLaser/DlgCutDeviceCtrl.cpp index 828d650..4a4234f 100644 --- a/LaiPuLaser/DlgCutDeviceCtrl.cpp +++ b/LaiPuLaser/DlgCutDeviceCtrl.cpp @@ -479,7 +479,7 @@ void DlgCutDeviceCtrl::SetPar() m_RotatoAdjust = gCommonFlowMgr->GetRotatoAdjust();//旋转调整 m_SizeAdjust = gCommonFlowMgr->GetAdjustSize(); m_MarkAreaCutCount = gCommonFlowMgr->GetAreaCycleCnt();//循环次数 - UpdateData(FALSE); + //UpdateData(FALSE); } //应用参数 void DlgCutDeviceCtrl::OnBnClickedSavePar() diff --git a/LaiPuLaser/DlgDnCutCamera.cpp b/LaiPuLaser/DlgDnCutCamera.cpp index ae62cb0..9ca1052 100644 --- a/LaiPuLaser/DlgDnCutCamera.cpp +++ b/LaiPuLaser/DlgDnCutCamera.cpp @@ -46,13 +46,13 @@ BEGIN_MESSAGE_MAP(DlgHawkvisCamera, CDialogEx) END_MESSAGE_MAP() #define WORK_TIMER1 1 -#define WORK_TIME_DELAY1 200 +#define WORK_TIME_DELAY1 50 DlgHawkvisCamera::DlgHawkvisCamera(CWnd* pParent /*=NULL*/) : m_CurPic_Definition(0) , m_CurTrackThreshold(0) { - m_nExpore = (60000); + m_nExpore = (60000); } DlgHawkvisCamera::~DlgHawkvisCamera() { @@ -61,8 +61,7 @@ void DlgHawkvisCamera::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); DDX_Control(pDX, IDC_ISP3000_LOGO_BTN, m_ISP3000LogoBtn); - DDX_Control(pDX, IDC_HAWKVISCTRLCTRL3, m_HawkvisCtrl1); - DDX_Control(pDX, IDC_HAWKVISCTRLCTRL4, m_HawkvisCtrl2); + DDX_Control(pDX, IDC_HAWKVISCTRLCTRL3, m_HawkvisCtrl); DDX_Control(pDX, IDC_OPEN_CAM, m_OpenCamBtn); DDX_Control(pDX, IDC_CLOSE_CAM, m_CloseCamBtn); @@ -82,276 +81,186 @@ void DlgHawkvisCamera::DoDataExchange(CDataExchange* pDX) DDX_Control(pDX, IDC_TEST_CATCH_TEMP2, m_TestDefinitionBtn); DDX_Control(pDX, IDC_TEST_CATCH_TEMP3, m_SetThresholdBtn); - DDX_Text(pDX, IDC_EDIT_SET_EXP2, m_CurTrackThreshold); + DDX_Text(pDX, IDC_EDIT_SET_EXP2, m_CurTrackThreshold ); DDX_Text(pDX, IDC_STATIC_CurValue, m_CurPic_Definition); - } BOOL DlgHawkvisCamera::OnInitDialog() { gDlgHawkvisCamera = this; - CDialogEx::OnInitDialog(); - m_ISP3000LogoBtn.SetUpColor(RGB_YELLOW); - - m_OpenCamBtn.SetUpColor(RGB_GREEN); - m_CloseCamBtn.SetUpColor(RGB_GREEN); - - m_ReadTempBtn.SetUpColor(RGB_GREEN1); - m_EditTempBtn.SetUpColor(RGB_GREEN1); - m_TestTempBtn.SetUpColor(RGB_GREEN1); - m_SaveTempBtn.SetUpColor(RGB_GREEN1); + CDialogEx::OnInitDialog(); + m_ISP3000LogoBtn.SetUpColor(RGB_YELLOW); - m_OneFrameBtn.SetUpColor(RGB_PINK); - m_ContinueFrameBtn.SetUpColor(RGB_PINK); + m_OpenCamBtn.SetUpColor(RGB_GREEN); + m_CloseCamBtn.SetUpColor(RGB_GREEN); + + m_ReadTempBtn.SetUpColor(RGB_GREEN1); + m_EditTempBtn.SetUpColor(RGB_GREEN1); + m_TestTempBtn.SetUpColor(RGB_GREEN1); + m_SaveTempBtn.SetUpColor(RGB_GREEN1); + m_OneFrameBtn.SetUpColor(RGB_PINK); + m_ContinueFrameBtn.SetUpColor(RGB_PINK); + Update(); - try - { - if (m_HawkvisCtrl2.MV_SelectAdapterByIdx(1)) - { - if (m_HawkvisCtrl2.MV_OpenCamera()) - { - m_pHawkvisCtrl = &m_HawkvisCtrl2; - m_HawkvisCtrl2.MV_SetCameraExpTime(gCameraHawkvis->m_nCam2Expore); - } - else - { - AfxMessageBox("相机2 MV_OpenCamera 失败!"); - } - m_HawkvisCtrl2.SetCrossShow(1, 30, 30, -1, -1, TRUE); - if (m_HawkvisCtrl2.MV_GetOneFrame()) - { - m_HawkvisCtrl2.ZoomFitWindow(); - } - else - { - AfxMessageBox("相机2 MV_GetOneFrame 失败!"); - } - } - - if (m_HawkvisCtrl1.MV_SelectAdapterByIdx(0)) - { - if (m_HawkvisCtrl1.MV_OpenCamera()) - { - m_pHawkvisCtrl = &m_HawkvisCtrl1; - m_HawkvisCtrl1.MV_SetCameraExpTime(gCameraHawkvis->m_nCam1Expore); - m_nExpore = gCameraHawkvis->m_nCam1Expore; - } - else - { - AfxMessageBox("相机1 MV_OpenCamera 失败!"); - } - m_HawkvisCtrl1.SetCrossShow(1, 30, 30, -1, -1, TRUE); - if (m_HawkvisCtrl1.MV_GetOneFrame()) - { - m_HawkvisCtrl1.ZoomFitWindow(); - } - else - { - AfxMessageBox("相机1 MV_GetOneFrame 失败!"); - } - } - - - - } - catch (...) - { - AfxMessageBox("打开相机异常."); - } - UpdateData(FALSE); - return TRUE; + ((CButton*)GetDlgItem(IDC_CROSS_CHECK))->SetCheck(TRUE); + UpdateData(FALSE); + return TRUE; } //观察平台坐标的变化 void DlgHawkvisCamera::UpdateInfo() { - //换文件时,自动换模板 - if ((!gLogMgr->IsDebuging()) && gCameraHawkvis->GetCurShapeModelID() != m_ShapeModelID) + /*//换文件时,自动换模板 + if (gCameraHawkvis->GetCurShapeModelID()!= m_ShapeModelID) { - auto temp = m_pHawkvisCtrl; m_ShapeModelID = gCameraHawkvis->GetCurShapeModelID(); - m_pHawkvisCtrl = &m_HawkvisCtrl1; OnBnClickedLoadCatchTemp(); - Sleep(200); - m_pHawkvisCtrl = &m_HawkvisCtrl2; - OnBnClickedLoadCatchTemp(); - - m_pHawkvisCtrl = temp; - - } + }*/ if (m_DlgCurCamIndex == gCameraHawkvis->GetCamIndex()) return; - - m_DlgCurCamIndex = gCameraHawkvis->GetCamIndex(); //系数立即刷新,避免重复进入 - if (gCameraHawkvis->GetCamIndex() == 0) - { - m_pHawkvisCtrl = &m_HawkvisCtrl1; - ((CButton*)GetDlgItem(IDC_RADIO1))->SetCheck(FALSE); - ((CButton*)GetDlgItem(IDC_RADIO3))->SetCheck(TRUE); - } + OnBnClickedToCam1(); + if (gCameraHawkvis->GetCamIndex() == 1) - { - m_pHawkvisCtrl = &m_HawkvisCtrl2; - ((CButton*)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE); - ((CButton*)GetDlgItem(IDC_RADIO3))->SetCheck(FALSE); - //OnBnClickedToCam2(); - } + OnBnClickedToCam2(); - UpdateData(FALSE); - } + UpdateData(FALSE); +} void DlgHawkvisCamera::Update() { - SetTimer(WORK_TIMER1, WORK_TIME_DELAY1, NULL);//用timer来更新,否则会报错 + SetTimer(WORK_TIMER1,WORK_TIME_DELAY1,NULL);//用timer来更新,否则会报错 } -void DlgHawkvisCamera::OnTimer(UINT nIDEvent) +void DlgHawkvisCamera::OnTimer(UINT nIDEvent) { - if (nIDEvent == WORK_TIMER1) - { - UpdateInfo(); - //KillTimer(WORK_TIMER1); - } - CDialog::OnTimer(nIDEvent); + if(nIDEvent == WORK_TIMER1) + { + UpdateInfo(); + //KillTimer(WORK_TIMER1); + } + CDialog::OnTimer(nIDEvent); } #if 1 void DlgHawkvisCamera::OnBnClickedOpenCam() { -#ifdef __HAWKVIS_MINDVISION_CCD__ - if (m_pHawkvisCtrl->MV_OpenCamera()) -#else - if (m_HawkvisCtrl.HV_OpenCamera()) -#endif - { - gLogMgr->WriteDebugLog("Hawkvis : Open Cam ---->OK"); - } - else - gLogMgr->WriteDebugLog("Hawkvis : Open Cam ---->ERR"); + #ifdef __HAWKVIS_MINDVISION_CCD__ + if(m_HawkvisCtrl.MV_OpenCamera()) + #else + if(m_HawkvisCtrl.HV_OpenCamera()) + #endif + { + gLogMgr->WriteDebugLog("Hawkvis : Open Cam ---->OK"); + } + else + gLogMgr->WriteDebugLog("Hawkvis : Open Cam ---->ERR"); } void DlgHawkvisCamera::OnBnClickedCloseCam() { -#ifdef __HAWKVIS_MINDVISION_CCD__ - if (m_pHawkvisCtrl->MV_CloseCamera()) - { - gLogMgr->WriteDebugLog("Hawkvis : Close Cam OK"); - } - else - { - gLogMgr->WriteDebugLog("Hawkvis : Close Cam Failed!"); - } -#else - m_HawkvisCtrl.HV_CloseCamera(); -#endif - + #ifdef __HAWKVIS_MINDVISION_CCD__ + m_HawkvisCtrl.MV_CloseCamera(); + #else + m_HawkvisCtrl.HV_CloseCamera(); + #endif + gLogMgr->WriteDebugLog("Hawkvis : Close Cam"); } void DlgHawkvisCamera::OnBnClickedFrameOne() { - m_pHawkvisCtrl->SetCrossShow(1, 30, 30, -1, -1, ((CButton*)GetDlgItem(IDC_CROSS_CHECK))->GetCheck()); -#ifdef __HAWKVIS_MINDVISION_CCD__ - /*m_pHawkvisCtrl->MV_GetOneFrame(); -Sleep(100);*/ - if (m_pHawkvisCtrl->MV_GetOneFrame()) -#else - if (m_HawkvisCtrl.HV_GetOneFrame()) -#endif - { - //m_HawkvisCtrl.Rotate180(); - m_pHawkvisCtrl->ZoomFitWindow(); - gLogMgr->WriteDebugLog("Hawkvis : FrameOne --OK"); - } - else - { - gLogMgr->WriteDebugLog("Hawkvis : FrameOne --ERR"); - } + m_HawkvisCtrl.SetCrossShow(1,30,30,-1,-1,FALSE); + #ifdef __HAWKVIS_MINDVISION_CCD__ + if(m_HawkvisCtrl.MV_GetOneFrame()) + #else + if(m_HawkvisCtrl.HV_GetOneFrame()) + #endif + { + //m_HawkvisCtrl.Rotate180(); + m_HawkvisCtrl.ZoomFitWindow(); + gLogMgr->WriteDebugLog("Hawkvis : FrameOne --OK"); + } + else + { + gLogMgr->WriteDebugLog("Hawkvis : FrameOne --ERR"); + } } void DlgHawkvisCamera::OnBnClickedFrameContinue() { - m_pHawkvisCtrl->SetCrossShow(1, 30, 30, -1, -1, ((CButton*)GetDlgItem(IDC_CROSS_CHECK))->GetCheck()); -#ifdef __HAWKVIS_MINDVISION_CCD__ - if (m_pHawkvisCtrl->MV_GetContinueFrame()) -#else - if (m_HawkvisCtrl.HV_GetContinueFrame()) -#endif - { - m_pHawkvisCtrl->ZoomFitWindow(); - gLogMgr->WriteDebugLog("Hawkvis : FrameContinue --OK"); - } - else - { - gLogMgr->WriteDebugLog("Hawkvis : FrameContinue --ERR"); - } + m_HawkvisCtrl.SetCrossShow(1,30,30,-1,-1,((CButton*)GetDlgItem(IDC_CROSS_CHECK))->GetCheck()); + #ifdef __HAWKVIS_MINDVISION_CCD__ + if(m_HawkvisCtrl.MV_GetContinueFrame()) + #else + if(m_HawkvisCtrl.HV_GetContinueFrame()) + #endif + { + m_HawkvisCtrl.ZoomFitWindow(); + gLogMgr->WriteDebugLog("Hawkvis : FrameContinue --OK"); + } + else + { + gLogMgr->WriteDebugLog("Hawkvis : FrameContinue --ERR"); + } } void DlgHawkvisCamera::OnBnClickedReadBmp() { - m_pHawkvisCtrl->ReadImage(); + m_HawkvisCtrl.ReadImage(); } void DlgHawkvisCamera::OnBnClickedSaveBmp() { - CFileMgr FileMgr; - CString path = FileMgr.GetWorkPath(); - m_pHawkvisCtrl->WriteImage((LPCTSTR)path, "OutputImg"); - gLogMgr->WriteDebugLog("Hawkvis : SaveBmp"); + CFileMgr FileMgr; + CString path = FileMgr.GetWorkPath(); + m_HawkvisCtrl.WriteImage((LPCTSTR)path,"OutputImg"); + gLogMgr->WriteDebugLog("Hawkvis : SaveBmp"); } //设置曝光值 void DlgHawkvisCamera::OnBnClickedSetExpore() { - UpdateData(TRUE); -#ifdef __HAWKVIS_MINDVISION_CCD__ - if (m_DlgCurCamIndex == 0) - { - gCameraHawkvis->m_nCam1Expore = m_nExpore; - } - else - { - gCameraHawkvis->m_nCam2Expore = m_nExpore; - } - m_pHawkvisCtrl->MV_SetCameraExpTime(m_nExpore); -#else - m_HawkvisCtrl.HV_SetCameraExpTime(m_nExpore); -#endif - gLogMgr->WriteDebugLog("Hawkvis : SetExpore"); - OnBnClickedFrameOne(); + UpdateData(TRUE); + #ifdef __HAWKVIS_MINDVISION_CCD__ + if (m_DlgCurCamIndex==0) + { + gCameraHawkvis->m_nCam1Expore = m_nExpore; + } + else + { + gCameraHawkvis->m_nCam2Expore = m_nExpore; + } + m_HawkvisCtrl.MV_SetCameraExpTime(m_nExpore); + #else + m_HawkvisCtrl.HV_SetCameraExpTime(m_nExpore); + #endif + gLogMgr->WriteDebugLog("Hawkvis : SetExpore"); + OnBnClickedFrameOne(); } #endif void DlgHawkvisCamera::OnBnClickedZoomFull() { - m_pHawkvisCtrl->ZoomFitWindow(); + m_HawkvisCtrl.ZoomFitWindow(); } void DlgHawkvisCamera::OnBnClickedHkZoomIn() { - m_pHawkvisCtrl->ZoomIn(); + m_HawkvisCtrl.ZoomIn(); } void DlgHawkvisCamera::OnBnClickedHkZoomOut() { - m_pHawkvisCtrl->ZoomOut(); + m_HawkvisCtrl.ZoomOut(); } #if 1 //编辑模板 void DlgHawkvisCamera::OnBnClickedCreatCatchTemp() { - //调用控件接口,创建基于形状的模板,输入参数为模板ID号。控件最多支持创建100个模板,即模板号为0~99 - // m_HawkvisCtrl.CreateShapeModel(0); - try - { - m_pHawkvisCtrl->CreateShapeModel(gCameraHawkvis->GetCurShapeModelID()); - } - catch (...) - { - AfxMessageBox("编辑模板 异常!"); - } - + //调用控件接口,创建基于形状的模板,输入参数为模板ID号。控件最多支持创建100个模板,即模板号为0~99 + m_HawkvisCtrl.CreateShapeModel(0); + //m_HawkvisCtrl.CreateShapeModel(gCameraHawkvis->GetCurShapeModelID()); } void DlgHawkvisCamera::OnBnClickedTestCatchTemp() { //清除之前绘制的圆 - m_pHawkvisCtrl->ClearGraphicObject(); + m_HawkvisCtrl.ClearGraphicObject(); //抓取一帧 #ifdef __HAWKVIS_MINDVISION_CCD__ - if (!m_pHawkvisCtrl->MV_GetOneFrame()) + if (!m_HawkvisCtrl.MV_GetOneFrame()) #else if (!m_HawkvisCtrl->HV_GetOneFrame()) #endif @@ -380,15 +289,8 @@ void DlgHawkvisCamera::OnBnClickedTestCatchTemp() VARIANT *v_pdbAngles = new VARIANT[1]; VARIANT *v_pdbScale = new VARIANT[1]; VARIANT *v_pdbSore = new VARIANT[1]; - bool ret = false; - try - { - ret = m_pHawkvisCtrl->FindShapeModel(gCameraHawkvis->GetCurShapeModelID(), v_pdbY, v_pdbX, v_pdbAngles, v_pdbScale, v_pdbSore, nCount); - } - catch (...) - { - ret = false; - } + + bool ret = m_HawkvisCtrl.FindShapeModel(gCameraHawkvis->GetCurShapeModelID(), v_pdbY, v_pdbX, v_pdbAngles, v_pdbScale, v_pdbSore, nCount); if (!ret)//2018-01-15 增加保护,否则下面可能会报错 { CString str = _T("func : Hawkvis Find Shape Model----->Error"); @@ -429,109 +331,81 @@ void DlgHawkvisCamera::OnBnClickedTestCatchTemp() str.Format("X: %0.3f, Y:%0.3f", pt.x, pt.y); gLogMgr->WriteDebugLog(str); #endif - //gCommonFlowMgr->CameraCatch(); + //gCommonFlowMgr->CameraCatch(); } void DlgHawkvisCamera::OnBnClickedLoadCatchTemp() { - CFileMgr FileMgr; - CString path = FileMgr.GetWorkPath(); - // auto b=m_HawkvisCtrl.LoadShapeModel((LPCTSTR)path); - try - { - auto b = m_pHawkvisCtrl->LoadShapeModelByID(0, (LPCTSTR)path); - CString str; - str.Format("Hawkvis : LoadatchTemp [%d]", gCameraHawkvis->GetCurShapeModelID()); - - if (b) - str += " 成功!"; - else - str += " 失败!"; - gLogMgr->WriteDebugLog(str); - } - catch (...) - { - AfxMessageBox("加载模板 异常!"); - } - - //gLogMgr->WriteDebugLog("Hawkvis : LoadCatchTemp"); + CFileMgr FileMgr; + CString path = FileMgr.GetWorkPath(); + // auto b=m_HawkvisCtrl.LoadShapeModel((LPCTSTR)path); + auto b = m_HawkvisCtrl.LoadShapeModelByID(gCameraHawkvis->GetCurShapeModelID(), (LPCTSTR)path); + CString str; + str.Format("Hawkvis : LoadatchTemp [%d]", gCameraHawkvis->GetCurShapeModelID()); + + if (b) + str += " 成功!"; + else + str += " 失败!"; + + + gLogMgr->WriteDebugLog(str); + //gLogMgr->WriteDebugLog("Hawkvis : LoadCatchTemp"); } void DlgHawkvisCamera::OnBnClickedSaveCatchTemp() { - //SaveShapeMode 保存模板函数 - //第一个参数,模板保存的路径 - //第二个参数,模板保存的路径名长度 + //SaveShapeMode 保存模板函数 + //第一个参数,模板保存的路径 + //第二个参数,模板保存的路径名长度 CFileMgr FileMgr; CString path = FileMgr.GetWorkPath(); //auto b= m_HawkvisCtrl.SaveShapeModel((LPCTSTR)path); - try - { - auto b = m_pHawkvisCtrl->SaveShapeModelByID(gCameraHawkvis->GetCurShapeModelID(), (LPCTSTR)path); - CString str; - str.Format("Hawkvis : SaveCatchTemp [%d]", gCameraHawkvis->GetCurShapeModelID()); - if (b) - str += " 成功!"; - else - str += " 失败!"; - gLogMgr->WriteDebugLog(str); - - if (m_pHawkvisCtrl == &m_HawkvisCtrl1) - { - m_pHawkvisCtrl = &m_HawkvisCtrl2; - Sleep(100); - OnBnClickedLoadCatchTemp(); - m_pHawkvisCtrl = &m_HawkvisCtrl1;//恢复 - } - else - { - m_pHawkvisCtrl = &m_HawkvisCtrl1; - Sleep(100); - OnBnClickedLoadCatchTemp(); - m_pHawkvisCtrl = &m_HawkvisCtrl2;//恢复 - } - - } - catch (...) - { - AfxMessageBox("保存模板 异常!"); - } - + auto b = m_HawkvisCtrl.SaveShapeModelByID(gCameraHawkvis->GetCurShapeModelID(),(LPCTSTR)path); + CString str; + str.Format("Hawkvis : SaveCatchTemp [%d]", gCameraHawkvis->GetCurShapeModelID()); + if (b) + str += " 成功!"; + else + str += " 失败!"; + gLogMgr->WriteDebugLog(str); } #endif + + void DlgHawkvisCamera::OnBnClickedToCam1() { - m_pHawkvisCtrl = &m_HawkvisCtrl1; - return; - /*try - { - m_pHawkvisCtrl->MV_CloseCamera(); - if (m_pHawkvisCtrl->MV_SelectAdapterByIdx(0)) + //提前刷新索引,避免重复进入 + m_DlgCurCamIndex = 0; + gCameraHawkvis->SetCamIndex(0); + + m_HawkvisCtrl.MV_CloseCamera(); + if (m_HawkvisCtrl.MV_SelectAdapterByIdx(0)) { - if (m_pHawkvisCtrl->MV_OpenCamera()) - { - OnBnClickedLoadCatchTemp();//读取模板 - m_pHawkvisCtrl->MV_SetCameraExpTime(gCameraHawkvis->m_nCam1Expore); + if (m_HawkvisCtrl.MV_OpenCamera()) + { + OnBnClickedLoadCatchTemp();//读取模板 + m_HawkvisCtrl.MV_SetCameraExpTime(gCameraHawkvis->m_nCam1Expore); m_nExpore = gCameraHawkvis->m_nCam1Expore; //UpdateData(FALSE); //OnBnClickedSetExpore();//设置曝光 } - - m_pHawkvisCtrl->SetCrossShow(1, 30, 30, -1, -1, ((CButton*)GetDlgItem(IDC_CROSS_CHECK))->GetCheck()); - if (m_pHawkvisCtrl->MV_GetOneFrame()) + + m_HawkvisCtrl.SetCrossShow(1, 30, 30, -1, -1, ((CButton*)GetDlgItem(IDC_CROSS_CHECK))->GetCheck()); + if (m_HawkvisCtrl.MV_GetOneFrame()) { - m_pHawkvisCtrl->ZoomFitWindow(); + m_HawkvisCtrl.ZoomFitWindow(); } - / *else - { - static bool bfirst = true; - if (bfirst) + /*else { - AfxMessageBox("相机1连续采集失败!");//报错一次 - bfirst = false; - } - }* / + static bool bfirst = true; + if (bfirst) + { + AfxMessageBox("相机1连续采集失败!");//报错一次 + bfirst = false; + } + }*/ } else { @@ -539,83 +413,63 @@ void DlgHawkvisCamera::OnBnClickedToCam1() if (bfirst) { bfirst = false; - AfxMessageBox("打开相机1失败!");//报错一次 - + AfxMessageBox("打开相机1失败!");//报错一次 } - } - m_DlgCurCamIndex = 0; - gCameraHawkvis->SetCamIndex(0); + } + ((CButton*)GetDlgItem(IDC_RADIO3))->SetCheck(TRUE); ((CButton*)GetDlgItem(IDC_RADIO1))->SetCheck(FALSE); gLogMgr->WriteDebugLog("Switch To Cam1"); - } - catch (...) - { - AfxMessageBox("打开相机1 异常!");//报错一次 - }*/ - } void DlgHawkvisCamera::OnBnClickedToCam2() -{ +{ //提前刷新索引,避免重复进入 + m_DlgCurCamIndex = 1; + gCameraHawkvis->SetCamIndex(1); - m_pHawkvisCtrl = &m_HawkvisCtrl2; - return; - - /* - try + m_HawkvisCtrl.MV_CloseCamera(); + if (m_HawkvisCtrl.MV_SelectAdapterByIdx(1)) { - m_pHawkvisCtrl->MV_CloseCamera(); - if (m_pHawkvisCtrl->MV_SelectAdapterByIdx(1)) + if (m_HawkvisCtrl.MV_OpenCamera()) { - if (m_pHawkvisCtrl->MV_OpenCamera()) - { - OnBnClickedLoadCatchTemp();//读取模板 - m_pHawkvisCtrl->MV_SetCameraExpTime(gCameraHawkvis->m_nCam2Expore); - m_nExpore = gCameraHawkvis->m_nCam2Expore; - //UpdateData(FALSE); - //OnBnClickedSetExpore();//设置曝光 - } - m_pHawkvisCtrl->SetCrossShow(1, 30, 30, -1, -1, ((CButton*)GetDlgItem(IDC_CROSS_CHECK))->GetCheck()); - if (m_pHawkvisCtrl->MV_GetOneFrame()) - { - m_pHawkvisCtrl->ZoomFitWindow(); - } - } - else + OnBnClickedLoadCatchTemp();//读取模板 + m_HawkvisCtrl.MV_SetCameraExpTime(gCameraHawkvis->m_nCam2Expore); + m_nExpore = gCameraHawkvis->m_nCam2Expore; + //UpdateData(FALSE); + //OnBnClickedSetExpore();//设置曝光 + } + m_HawkvisCtrl.SetCrossShow(1, 30, 30, -1, -1, ((CButton*)GetDlgItem(IDC_CROSS_CHECK))->GetCheck()); + if (m_HawkvisCtrl.MV_GetOneFrame()) { - static bool bfirst = true; - if (bfirst) - { - AfxMessageBox("打开相机2失败!");//报错一次 - bfirst = false; - } + m_HawkvisCtrl.ZoomFitWindow(); } - - m_DlgCurCamIndex = 1; - gCameraHawkvis->SetCamIndex(1); - ((CButton*)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE); - ((CButton*)GetDlgItem(IDC_RADIO3))->SetCheck(FALSE); - gLogMgr->WriteDebugLog("Switch To Cam2"); - } - catch (...) + } + else { - AfxMessageBox("打开相机2 异常!");//报错一次 - }*/ - + static bool bfirst = true; + if (bfirst) + { + AfxMessageBox("打开相机2失败!");//报错一次 + bfirst = false; + } + } + + ((CButton*)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE); + ((CButton*)GetDlgItem(IDC_RADIO3))->SetCheck(FALSE); + gLogMgr->WriteDebugLog("Switch To Cam2"); } void DlgHawkvisCamera::OnBnClickedTestDefinition() { #ifdef __HAWKVIS_MINDVISION_CCD__ - if (m_pHawkvisCtrl->MV_GetOneFrame()) + if (m_HawkvisCtrl.MV_GetOneFrame()) #else if (m_HawkvisCtrl.HV_GetOneFrame()) #endif { - m_pHawkvisCtrl->ZoomFitWindow(); + m_HawkvisCtrl.ZoomFitWindow(); gLogMgr->WriteDebugLog("Hawkvis : FrameOne --OK"); } else @@ -628,7 +482,7 @@ void DlgHawkvisCamera::OnBnClickedTestDefinition() CFileMgr fg; CString path = fg.GetWorkPath(); - m_pHawkvisCtrl->WriteImage((LPCTSTR)path, "PicForDefinition"); + m_HawkvisCtrl.WriteImage((LPCTSTR)path, "PicForDefinition"); Sleep(50); path += "\\PicForDefinition.bmp"; Mat imageSource = imread((LPCTSTR)path); @@ -655,7 +509,7 @@ bool DlgHawkvisCamera::bCurPicDefinitionOK() OnBnClickedTestDefinition(); - if (m_CurTrackThreshold > 0.1) + if (m_CurTrackThreshold>0.1) { if (m_CurPic_Definition < m_CurTrackThreshold) return false; @@ -673,6 +527,6 @@ void DlgHawkvisCamera::OnBnClickedSetThreshold() return; CString nameTail; nameTail.Format("_T%d.def", m_DlgCurCamIndex); - CSmartArchive ar(FileName + nameTail, true); + CSmartArchive ar(FileName+ nameTail,true); ar + m_CurTrackThreshold; } diff --git a/LaiPuLaser/DlgDnCutCamera.h b/LaiPuLaser/DlgDnCutCamera.h index 4d1db8a..6980b40 100644 --- a/LaiPuLaser/DlgDnCutCamera.h +++ b/LaiPuLaser/DlgDnCutCamera.h @@ -22,9 +22,7 @@ private: CMyBttom m_ISP3000LogoBtn;//log 按钮,没什么用处 int m_nExpore;//曝光值0 ~ 2000000 - CHawkvisctrlctrl1* m_pHawkvisCtrl;//霍克视觉的控件指针 - CHawkvisctrlctrl1 m_HawkvisCtrl1;//霍克视觉的控件 - CHawkvisctrlctrl1 m_HawkvisCtrl2;//霍克视觉的控件 + CHawkvisctrlctrl1 m_HawkvisCtrl;//霍克视觉的控件 int m_DlgCurCamIndex=-1; int m_ShapeModelID = -1; @@ -81,7 +79,6 @@ public: float m_CurPic_Definition; float m_CurTrackThreshold; - }; extern DlgHawkvisCamera *gDlgHawkvisCamera; diff --git a/LaiPuLaser/KnownFileNameVec b/LaiPuLaser/KnownFileNameVec index 31e1fe62cae4a912e9100297728aa331dbba2b42..07ac80d2a6de5045498beb0aeb02e4d08a410588 100644 GIT binary patch delta 50 xcmbQsvWkUKd?I7JB8P8cQMOxVPAY3jYH^7X4~T>bu^1Q{8gE=!!#HsRD*%m@5MclS delta 16 YcmZ3*GM9x>cp_u_#*2}R6CckQj)pCa29eusq8Rfkr+ZyzJhDCQDx;Az0H|CGa{vGU delta 58 zcmV-A0LA~5tq7R02!ON!Fjm_DlgCutDeviceCtrl.Update(); + // GetFrame()->m_DlgCutDeviceCtrl.Update(); } void CProductMgr::ResetProductVec(int cnt) { diff --git a/LaiPuLaser/ProgramCutMgr.cpp b/LaiPuLaser/ProgramCutMgr.cpp index 1979ddd..82e3e8f 100644 --- a/LaiPuLaser/ProgramCutMgr.cpp +++ b/LaiPuLaser/ProgramCutMgr.cpp @@ -34,7 +34,7 @@ CProgramCutMgr::~CProgramCutMgr(void) } void CProgramCutMgr::Ini() { - GetFrame()->m_DlgCutDeviceCtrl.SetPar(); + // GetFrame()->m_DlgCutDeviceCtrl.SetPar(); } #if 1 //打开加工文件(bOpenDxf 为false 的时候可以不重新打开dxf) diff --git a/LaiPuLaser/Program_SZ_XL_TrackWorkFlow.cpp b/LaiPuLaser/Program_SZ_XL_TrackWorkFlow.cpp index 762773d..fa448b2 100644 --- a/LaiPuLaser/Program_SZ_XL_TrackWorkFlow.cpp +++ b/LaiPuLaser/Program_SZ_XL_TrackWorkFlow.cpp @@ -54,6 +54,7 @@ UINT ReadPlcMsgThread(LPVOID pParam) //执行一个步骤的线程(执行一次) UINT ExecuteStepThread(LPVOID pParam) { + AfxSocketInit(); CTrackWorkFlow *WorkFlow = (CTrackWorkFlow *)pParam; WorkFlow->ExecuteCurStep(); return 0; @@ -702,17 +703,20 @@ bool CTrackWorkFlow::PushJigOut() }*/ ETrackPlcCmd PlcCmd; PlcCmd = _ETrack_PlcCmd_Push_Jig_Out; - SendMsgToPlc(PlcCmd, false); m_bPushJigOut = false; + SendMsgToPlc(PlcCmd, false); + //强制等待10秒再检测是否推出完成 + Sleep(10000); - int CheckTimes = 450; + int MaxCheckTimes = 300; int cnt = 0; - while (!m_bPushJigOut&&(cnt(k),size); #endif //设置时间 - GetFrame()->m_DlgCutDeviceCtrl.Update(); + //GetFrame()->m_DlgCutDeviceCtrl.Update(); } catch(CExceptionMsg &Msg) {