From 3ab77fdb5f702156c492c7eb4bd1daf25d6fbc56 Mon Sep 17 00:00:00 2001 From: LYW <leeyeanwoo@diteam.co.kr> Date: 수, 08 9월 2021 17:08:45 +0900 Subject: [PATCH] Ongoing90 #3561 CF AOI Review Align 카메라 끊김 현상 조치 --- ReviewSystem/ReviewSystem/ReviewInterface.h | 4 ++++ ReviewSystem/ReviewSystem/SequenceProcessor.h | 3 +++ ReviewSystem/ReviewSystem/ReviewInterface.cpp | 5 +++++ ReviewSystem/ReviewSystem/ReviewProcessor_CPJT.cpp | 2 +- ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp | 28 ++++++++++++++++++++++++---- ReviewSystem/CHReviewResult/GlassResult.cpp | 4 ++-- ReviewSystem/ReviewSystem/CameraController.cpp | 14 ++++++++++++-- 7 files changed, 51 insertions(+), 9 deletions(-) diff --git a/ReviewSystem/CHReviewResult/GlassResult.cpp b/ReviewSystem/CHReviewResult/GlassResult.cpp index c682744..1bd0ba3 100644 --- a/ReviewSystem/CHReviewResult/GlassResult.cpp +++ b/ReviewSystem/CHReviewResult/GlassResult.cpp @@ -312,8 +312,8 @@ //FDC보고용 Review Contrast //#3524_210723_LYW_CF AOI Review 디포커스 알람 추가 및 FDC 보고 방식 개선 MOD Start - nReview00ImageContrast = 50; - nReview01ImageContrast = 50; + nReview00ImageContrast = 5; + nReview01ImageContrast = 5; //#3524_210723_LYW_CF AOI Review 디포커스 알람 추가 및 FDC 보고 방식 개선 MOD End //// defect result //for (MapDefectResultIt it = m_mapDefectResult.begin(); it != m_mapDefectResult.end(); it++) diff --git a/ReviewSystem/ReviewSystem/CameraController.cpp b/ReviewSystem/ReviewSystem/CameraController.cpp index 85863ca..be17e12 100644 --- a/ReviewSystem/ReviewSystem/CameraController.cpp +++ b/ReviewSystem/ReviewSystem/CameraController.cpp @@ -268,9 +268,19 @@ for (VectorCameraControlIt it=m_vecCameraControl.begin(); it!=m_vecCameraControl.end(); it++) { - (*it)->SetTriggerMode(ModeInternal); - int nSub = (*it)->Grab(); + //#3561 210908 LYW ADD Start + int nSub; + try + { + (*it)->SetTriggerMode(ModeInternal); + nSub = (*it)->Grab(); + } + catch (...) + { + nSub = FALSE; + } + //#3561 210908 LYW ADD End if (nSub==1) g_pLog->DisplayMessage(_T("[CameraController]Camera_Grab Success![ModeInternal]")); diff --git a/ReviewSystem/ReviewSystem/ReviewInterface.cpp b/ReviewSystem/ReviewSystem/ReviewInterface.cpp index 7b39956..7e3e007 100644 --- a/ReviewSystem/ReviewSystem/ReviewInterface.cpp +++ b/ReviewSystem/ReviewSystem/ReviewInterface.cpp @@ -8934,6 +8934,11 @@ SetCurrentWsiMode(nMode); } +void CReviewInterface::ISP2P_InitAlignCamera() +{ + InitAlignCamera(); +} + int CReviewInterface::IWC2P_GetWsiType() { return GetCurrentWsiMode(); diff --git a/ReviewSystem/ReviewSystem/ReviewInterface.h b/ReviewSystem/ReviewSystem/ReviewInterface.h index 1d6e241..fce141e 100644 --- a/ReviewSystem/ReviewSystem/ReviewInterface.h +++ b/ReviewSystem/ReviewSystem/ReviewInterface.h @@ -297,6 +297,10 @@ virtual void ISP2P_SetCurrentWsiMode(int nMode); + //#3561 210908 LYW ADD Start + virtual void ISP2P_InitAlignCamera(); + //#3561 210908 LYW ADD End + virtual CTotalPitchMeasure* ISP2P_GetTotalPitchMeasure(); // recipe info diff --git a/ReviewSystem/ReviewSystem/ReviewProcessor_CPJT.cpp b/ReviewSystem/ReviewSystem/ReviewProcessor_CPJT.cpp index e5c5bcf..7753de9 100644 --- a/ReviewSystem/ReviewSystem/ReviewProcessor_CPJT.cpp +++ b/ReviewSystem/ReviewSystem/ReviewProcessor_CPJT.cpp @@ -3831,7 +3831,7 @@ dXValue = float((pImageBufferByte[nH*nWidth + nW + nStep] - pImageBufferByte[nH*nWidth + nW])*(pImageBufferByte[nH*nWidth + nW + nStep] - pImageBufferByte[nH*nWidth + nW])); dYValue = float((pImageBufferByte[(nH + nStep)*nWidth + nW] - pImageBufferByte[nH*nWidth + nW])*(pImageBufferByte[(nH + nStep)*nWidth + nW] - pImageBufferByte[nH*nWidth + nW])); dCurr = sqrt(dXValue + dYValue); - break; + //break; dSum += dCurr; } diff --git a/ReviewSystem/ReviewSystem/SequenceProcessor.h b/ReviewSystem/ReviewSystem/SequenceProcessor.h index afe2621..b7ca4e8 100644 --- a/ReviewSystem/ReviewSystem/SequenceProcessor.h +++ b/ReviewSystem/ReviewSystem/SequenceProcessor.h @@ -370,6 +370,9 @@ virtual void ISP2P_SetCurrentWsiMode(int nMode) = 0; + //#3561 210908 LYW ADD Start + virtual void ISP2P_InitAlignCamera() = 0; + //#3561 210908 LYW ADD End // system info virtual const CSystemInfo* ISP2P_System_GetSystemInfo() = 0; diff --git a/ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp b/ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp index 8a5933b..1690034 100644 --- a/ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp +++ b/ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp @@ -1258,10 +1258,6 @@ { m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::IN] AlignStart!")); - - AlignCamera_CameraControl(CameraControlLive); // 210805 Align Camera Sequence 占쏙옙占쏙옙 - Sleep(300); - //#3584 210817 LYW CF AOI Review �떆裕щ젅�씠�뀡 湲곕뒫 �젙�긽�솕 MOD START if (GetSimulationMode() == FALSE) { @@ -1269,6 +1265,30 @@ m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::AlignStart] Send Align Start Ack!")); } //#3584 210817 LYW CF AOI Review �떆裕щ젅�씠�뀡 湲곕뒫 �젙�긽�솕 MOD END + + //#3561 210908 LYW ADD Start + int nAlignReconnectRetryMaxCount = 3; + for (int i = 0; i < nAlignReconnectRetryMaxCount; i++) + { + if (AlignCamera_CameraControl(CameraControlLive) == FALSE) + { + m_pSP2P->ISP2P_DisplayMessage(_T("[AlignStart] AlignConnect Fail! Reconect Start! ReconnectRetry count = %d"), nAlignReconnectRetryMaxCount + 1); + system("netsh interface set interface name = \"Align #1\" admin = disable&& netsh interface set interface name = \"Align #1\" admin = enable&& netsh interface set interface name = \"Align #2\" admin = disable&& netsh interface set interface name = \"Align #2\" admin = enable"); + Sleep(10000); + m_pSP2P->ISP2P_InitAlignCamera(); + } + + else + { + m_pSP2P->ISP2P_DisplayMessage(_T("[AlignStart] AlignConnect Success! ")); + break; + } + + } + //#3561 210908 LYW ADD End + + Sleep(300); + //original // if (SendSignalToSignalControl(PCControlSendSignalIndex_Ack, PCControlSend_AlignStartAck_CPJT)) // m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::AlignStart] Send Align Start Ack!")); -- Gitblit v1.9.3