SDC C-Project CF Review 프로그램
LYW
2021-08-10 ebfd7a15f5c7fe5d4cf9120a49b21f3cffd050f7
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);