From 3ce48f6dbeb537e252edb0d62c88a28796e36674 Mon Sep 17 00:00:00 2001
From: SWK <sungwk82@diteam.co.kr>
Date: 월, 26 12월 2022 15:04:42 +0900
Subject: [PATCH] ongoing60 #4403 CF AOI Review TACT 지연 개선 1. 신호 출력 방식 재개선  - 유지 시간이 없는 신호는 바로 출력 진행하도록 변경 2. 불필요 Delay 제거 및 시퀀스 변경  - 얼라인 측정 종료 처리 간 제어 신호 먼저 출력 후 카메라 Stop으로 변경  - 물류 정보 읽기 처리 후 1000ms Delay 삭제  - 얼라인 측정 시작(카메라 Live Start) 후 Delay 300ms -> 100ms(이미지 들어오는 시간 확보 필요)  - ReadRawFile 처리 시작 전 500ms Delay 삭제  - Path Scheduling 완료 후 Review Ready 신호 출력 전 1000ms Delay 삭제 3. 버그 수정  - 이미지 저장 경로 생성 간 예외 처리 부분 버그 수정 4. 로그 시간 출력 불합리 개선  - 로그 시간이 파일 출력 시점으로 작성되어 로그 스래드 지연 시 시간이 맞지 않는 불합리 있음  - 로그 시간은 로그 발생 시점에 시간 저장, 해당 시간 이용하여 파일에 기록하도록 변경

---
 ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp |   47 ++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 36 insertions(+), 11 deletions(-)

diff --git a/ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp b/ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp
index 602b2fc..4885de2 100644
--- a/ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp
+++ b/ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp
@@ -168,6 +168,7 @@
 	m_nGlassCount = 0;
 	m_nStackZeroReviewCondition = 0;
 	m_nUploadResultFailCount = 0;
+	m_nStackUploadFailGlassCount = 0;
 	CDitGlassRawClient* pDitGlassRaw = CDitGlassRawClient::GetInstance();
 	if(pDitGlassRaw->ConnectServer() == FALSE)
 	{
@@ -549,10 +550,16 @@
 		m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::AlignStart] Send Align Fail Data!"));
 	}
 
-	AlignCamera_CameraControl(CameraControlStop);  // 210805 Align Camera Sequence 蹂�寃�
-
+	/*< SWK 20221226 - #4403 MOD Start >*/
+// 	AlignCamera_CameraControl(CameraControlStop);  // 210805 Align Camera Sequence 蹂�寃�
+// 
+// 	SendSignalToSignalControl(PCControlSendSignalIndex_Seq, PCControlSend_AlignComplete_CPJT);
+// 	m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::AlignStart] Send Align Complete Signal!"));
 	SendSignalToSignalControl(PCControlSendSignalIndex_Seq, PCControlSend_AlignComplete_CPJT);
 	m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::AlignStart] Send Align Complete Signal!"));
+
+	AlignCamera_CameraControl(CameraControlStop);
+	/*< SWK 20221226 - #4403 MOD End >*/
 
 	// LJY-20180905
 	m_pSP2P->ISP2P_UpdateAlignResultStatus(0, pGlassResult);
@@ -1069,7 +1076,6 @@
 			// #3381 LYW CF AOI Review FDC TackTime ADD START
 			pDitRawClient->GetGlassData()->m_tmReviewLoading = CTime::GetCurrentTime();
 			// #3381 LYW CF AOI Review FDC TackTime ADD END
-			
 
 			CString strGlassIDTemp = NULL;
 			CString strGlassStepIdTemp = NULL;
@@ -1077,7 +1083,6 @@
 
 			strGlassIDTemp = pTransferData->strGlassID;
 			strGlassStepIdTemp = pTransferData->strStepID;
-			
 
 			strGlassIDTemp = pTransferData->strGlassID;
 			strcpy(pDitRawClient->GetGlassData()->m_strGlassID, strGlassIDTemp);
@@ -1102,7 +1107,8 @@
 			/*bFileFind = FindRawBinFile(strFileName);*/
 
 			pDitRawClient->SetReviewStart();
-			Sleep(1000);
+			//< SWK 20221226 - #4403 DEL >
+//			Sleep(1000);
 
  			m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::Loading] Transfer Data Read Success!"));
  
@@ -1319,7 +1325,8 @@
 	}
 	//#3561 210908 LYW ADD End
 
-	Sleep(300);
+	//< SWK 20221226 - #4403 MOD >
+	Sleep(100);
 
 	//original
 // 	if (SendSignalToSignalControl(PCControlSendSignalIndex_Ack, PCControlSend_AlignStartAck_CPJT))
@@ -1441,7 +1448,9 @@
 	
 	//pDitRawClient->SetReviewStart();
 
-	Sleep(500);
+	//< SWK 20221226 - #4403 DEL >
+//	Sleep(500);
+
 	//CString strJudgeData;
 	m_pSP2P->ISP2P_GetSignalControl()->WriteData(_T("17110"), sizeof(pDitRawClient->GetGlassData()->m_strGlassJudge), pDitRawClient->GetGlassData()->m_strGlassJudge);
 	m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::IN] ReadRawFile!"));
@@ -1502,7 +1511,8 @@
 		int nTotalPlanCount = CalculatePlanData(pGlassResult);
 		m_pSP2P->ISP2P_DisplayMessage(_T("[Read Raw File] Review All Plan Total Count : %d"), nTotalPlanCount);
 
-		Sleep(1000);
+		//< SWK 20221226 - #4403 DEL >
+//		Sleep(1000);
 		// send review ready
 		//#3584 210817 LYW CF AOI Review �떆裕щ젅�씠�뀡 湲곕뒫 �젙�긽�솕 MOD START
 		if (GetSimulationMode() == FALSE)
@@ -3675,7 +3685,9 @@
 			tmServerLoadingTime = CTime::GetCurrentTime();
 			m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::GlassLoading] access Shared Memory Fail"));
 			strPath.Format(_T("%s\\%s_%04d%02d%02d%02d%02d%02d"), pNetworkInfo->m_strUploadImagePath, strGlassID, tmServerLoadingTime.GetYear(), tmServerLoadingTime.GetMonth(), tmServerLoadingTime.GetDay(), tmServerLoadingTime.GetHour(), tmServerLoadingTime.GetMinute(), tmServerLoadingTime.GetSecond());
-			strImagePath.Format(_T("%s\\%s_%04d%02d%02d%02d%02d%02d"), strGlassID, tmServerLoadingTime.GetYear(), tmServerLoadingTime.GetMonth(), tmServerLoadingTime.GetDay(), tmServerLoadingTime.GetHour(), tmServerLoadingTime.GetMinute(), tmServerLoadingTime.GetSecond());
+			//< SWK 20221226 - #4403 MOD >
+//			strImagePath.Format(_T("%s\\%s_%04d%02d%02d%02d%02d%02d"), strGlassID, tmServerLoadingTime.GetYear(), tmServerLoadingTime.GetMonth(), tmServerLoadingTime.GetDay(), tmServerLoadingTime.GetHour(), tmServerLoadingTime.GetMinute(), tmServerLoadingTime.GetSecond());
+			strImagePath.Format(_T("%s_%04d%02d%02d%02d%02d%02d"), strGlassID, tmServerLoadingTime.GetYear(), tmServerLoadingTime.GetMonth(), tmServerLoadingTime.GetDay(), tmServerLoadingTime.GetHour(), tmServerLoadingTime.GetMinute(), tmServerLoadingTime.GetSecond());
 			CreateDirectory(strPath, NULL);
 			pReviewProcessor->SetUploadImagePath(strPath);
 			pReviewProcessor->SetReviewImagePath(strImagePath);
@@ -8395,10 +8407,18 @@
 	if (UploadResult == FALSE)
 	{
 		UploadResultFailCount++;
+		m_pSP2P->ISP2P_DisplayMessage(_T("Upload Ack is False"));
 		if (UploadResultFailCount >= 3)
 		{
-			m_pSP2P->ISP2P_DisplayMessage(_T("ResultFile Upload Fail!"));
-			SendSignalToSignalControl(PCControlSendSignalIndex_State, PCControlSend_ResultData_Upload_Fail, 1000);
+			//SendSignalToSignalControl(PCControlSendSignalIndex_State, PCControlSend_ResultData_Upload_Fail, 1000);
+			m_nStackUploadFailGlassCount++;
+			m_pSP2P->ISP2P_DisplayMessage(_T("ResultFile Upload Fail Glass Count = %d"),m_nStackUploadFailGlassCount);
+			if (m_nStackUploadFailGlassCount >= m_pSP2P->ISP2P_System_GetNetworkInfo()->m_nResultFileUploadFailAlarmCondition)
+			{
+				SendSignalToSignalControl(PCControlSendSignalIndex_State, PCControlSend_ResultData_Upload_Fail, 1000);
+				m_nStackUploadFailGlassCount = 0;
+				m_pSP2P->ISP2P_DisplayMessage(_T("ResultFile Upload Fail Alarm!"));
+			}
 			SetUploadResultFailCount(-1);
 		}
 		else
@@ -8406,6 +8426,11 @@
 			SetUploadResultFailCount(UploadResultFailCount);
 		}
 	}
+	else
+	{
+		m_pSP2P->ISP2P_DisplayMessage(_T("Upload Ack is True"));
+		m_nStackUploadFailGlassCount = 0;
+	}
 }
 
 //#3358 KYH FDC  ADD END

--
Gitblit v1.9.3