From b354c153b0074e5d54371bc05b12edbe8e613a19 Mon Sep 17 00:00:00 2001 From: LYW <leeyeanwoo@diteam.co.kr> Date: 월, 09 8월 2021 10:50:06 +0900 Subject: [PATCH] Ongoing50 #3561 CF AOI Review Align 카메라 끊김 현상 조치 --- ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp | 47 +++++++++++++++++++++++++++++++++++++---------- 1 files changed, 37 insertions(+), 10 deletions(-) diff --git a/ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp b/ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp index 46db670..b740fb8 100644 --- a/ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp +++ b/ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp @@ -428,6 +428,8 @@ g_pLog->DisplayMessage(_T("[AlignResult] Glass Result is NULL!")); SendResultToSignalControl(PCControlSendData_AlignResult_CPJT, SIGNAL_SEND_RESULT_FAIL); m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::AlignStart] Send Align Fail Signal!")); + + AlignCamera_CameraControl(CameraControlStop); // 210805 Align Camera Sequence 占쏙옙占쏙옙 return; } @@ -759,7 +761,7 @@ if (( nTotalCount += pGlassResult->GetTotalSReviewResultCount()) > 0) { m_pSP2P->ISP2P_DisplayMessage(_T("[Sequence Processor] Review Plan Start!")); - //LYW DCOLL 임시조치 + //LYW DCOLL 占쌈쏙옙占쏙옙치 CDitGlassRawClient *pDitRawClient = CDitGlassRawClient::GetInstance(); if (pDitRawClient->isConnect() == TRUE) { @@ -772,7 +774,7 @@ strcpy(pSharedDefectReview->m_strRevImageName, ""); } - //LYW DCOLL 임시조치 + //LYW DCOLL 占쌈쏙옙占쏙옙치 ::Sleep(nWaitTime); m_pSP2P->ISP2P_GetReviewProcessor()->ResetGantryDone(); bExcute = ReviewStartProcessing(pGlassResult, nPlanIdx); @@ -1036,7 +1038,7 @@ strFileName.Format(_T("%s_%s"), strGlassIDTemp, strGlassStepIdTemp); - //업데이트시 + //占쏙옙占쏙옙占쏙옙트占쏙옙 //bFileFind = FindRawBinFile(strFileName); bFileFind = TRUE; @@ -1145,7 +1147,7 @@ // review camera stop ReviewCamera_CameraControl(CameraControlStop); - //AlignCamera_CameraControl(CameraControlLive); + AlignCamera_CameraControl(CameraControlStop); // 210805 Align Camera Sequence 占쏙옙占쏙옙 // send signal to plc if (nResultCode==0) @@ -1202,16 +1204,29 @@ { m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::IN] AlignStart!")); + + AlignCamera_CameraControl(CameraControlLive); // 210805 Align Camera Sequence 占쏙옙占쏙옙 + Sleep(300); + if (SendSignalToSignalControl(PCControlSendSignalIndex_Ack, PCControlSend_AlignStartAck_CPJT)) m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::AlignStart] Send Align Start Ack!")); // 1. get current glass result CGlassResult* pGlassResult = m_pSP2P->ISP2P_GetCurrentGlassResult(); - if (pGlassResult==NULL) { return; } + if (pGlassResult==NULL) + { + Sleep(350); + AlignCamera_CameraControl(CameraControlStop); // 210805 Align Camera Sequence 占쏙옙占쏙옙 + return; + } const CRsRcpAlignInfo* pRsRcpAlignInfo = m_pSP2P->ISP2P_Recipe_GetRsRcpAlignInfo(); - if(pRsRcpAlignInfo == NULL) return; - + if (pRsRcpAlignInfo == NULL) + { + Sleep(350); + AlignCamera_CameraControl(CameraControlStop); // 210805 Align Camera Sequence 占쏙옙占쏙옙 + return; + } // 2. get align camera control CCameraControlAlign* pAlignCameraControl = m_pSP2P->ISP2P_GetAlignCameraControl(); @@ -1224,6 +1239,9 @@ m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::AlignStart] Send Align SUCCESS Data!")); SendSignalToSignalControl(PCControlSendSignalIndex_Seq, PCControlSend_AlignComplete_CPJT); m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::AlignStart] Send Align Complete Signal!")); + + Sleep(350); + AlignCamera_CameraControl(CameraControlStop); // 210805 Align Camera Sequence 占쏙옙占쏙옙 } else { @@ -1236,6 +1254,11 @@ m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::AlignStart] Algin Camera Disconnect!!!!")); } } + else + { + Sleep(350); + AlignCamera_CameraControl(CameraControlStop); // 210805 Align Camera Sequence 占쏙옙占쏙옙 + } if (pGlassResult && pAlignCameraControl && pAlignCameraControl->AlignProcess()) { @@ -1251,6 +1274,10 @@ m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::AlignStart] Send Align Complete Signal!")); } + Sleep(350); + AlignCamera_CameraControl(CameraControlStop); // 210805 Align Camera Sequence 占쏙옙占쏙옙 + + //占쌍쇽옙 풀占쏙옙 // 4. send align fail signal to plc //SendResultToSignalControl(PCControlSendData_AlignResult_CPJT, SIGNAL_SEND_RESULT_FAIL); //m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::AlignStart] Send Align Fail Data!")); @@ -8605,12 +8632,12 @@ break; case PCControlRecv_Autodiagnosis: { - //#3514_LYW_CF AOI Review 자가진단 기능 개선_START + //#3514_LYW_CF AOI Review 占쌘곤옙占쏙옙占쏙옙 占쏙옙占� 占쏙옙占쏙옙_START CSignalControl* pSignalControl = m_pSP2P->ISP2P_GetSignalControl(); CString strDiagnosisMode; pSignalControl->ReadData(_T("11160"), 2, strDiagnosisMode); int nDiagnosisMode = atoi(strDiagnosisMode); - //#3514_LYW_CF AOI Review 자가진단 기능 개선_END + //#3514_LYW_CF AOI Review 占쌘곤옙占쏙옙占쏙옙 占쏙옙占� 占쏙옙占쏙옙_END m_pSP2P->ISP2P_DisplayMessage(_T("[PCControl_Signal] Diagno start => %d, DiagnosisMode => %d"), bSignalOn, nDiagnosisMode); if (bSignalOn) { @@ -8620,7 +8647,7 @@ m_pSP2P->ISP2P_GetDiagnosisManager()->RecvSignalToSignalControl(0, nDiagnosisMode); } - //#3514_LYW_CF AOI Review 자가진단 기능 개선_END + //#3514_LYW_CF AOI Review 占쌘곤옙占쏙옙占쏙옙 占쏙옙占� 占쏙옙占쏙옙_END else bResult = SendSignalOffToSignalControl(PCControlSendSignalIndex_DiagnoAck, 0); -- Gitblit v1.9.3