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/ReviewInterface.cpp        |    2 +-
 ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp |   47 +++++++++++++++++++++++++++++++++++++----------
 2 files changed, 38 insertions(+), 11 deletions(-)

diff --git a/ReviewSystem/ReviewSystem/ReviewInterface.cpp b/ReviewSystem/ReviewSystem/ReviewInterface.cpp
index a933e74..9c61cf6 100644
--- a/ReviewSystem/ReviewSystem/ReviewInterface.cpp
+++ b/ReviewSystem/ReviewSystem/ReviewInterface.cpp
@@ -1272,7 +1272,7 @@
 		// process status observer
 		AddObserverUpdateProcessStatus(static_cast<IUpdateProcessStatus*>(m_pAlignCameraControl));
 
-		m_pAlignCameraControl->Camera_Control(CameraControlLive);		
+		/*m_pAlignCameraControl->Camera_Control(CameraControlLive);*/	  // 210805 Align Camera Sequence 蹂�寃�
 	}
 	else
 	{
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