SDC C-Project CF Review 프로그램
LYW
2021-06-28 cf6a4019e9efbc0503bd3fbcf6f951565d028972
ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp
@@ -48,6 +48,7 @@
#define AOIRAWBIN_PATH      "\\\\126.100.100.1\\d\\DIT_ResultData\\RawBin"
#define AOIRAWBIN_TEST_PATH      "d:\\DIT_ResultData\\RawBin"
#define AOIRAWBIN_NETWORK_DRIVE_PATH   "Y:\\RawBin"
enum CPJT_MeasureMode { CPJT_ModeAuto = 0, CPJT_ModeManual };
// [2017:4:18]-[WEZASW] : WSI Module 장착 설비의 경우 PlanType 번호 변경.
@@ -963,7 +964,7 @@
   //   m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::Loading] Revolver Set GoHome Success!"));
   //}
   //210330 kyh Align Image 초기화
   //#3357 KYH Align Image 초기화 ADD START
   CCameraControlAlign* pAlignCameraControl = m_pSP2P->ISP2P_GetAlignCameraControl();
   if (pAlignCameraControl != NULL)
   {
@@ -971,6 +972,7 @@
      g_pLog->DisplayMessage(_T("[Align] Align Image Clear"));
   }
   //#3357 KYH Align Image 초기화 ADD END
    // get transfer data
    int nResultCode = 0;
@@ -1025,6 +1027,10 @@
            
         }
         // #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;
@@ -1041,8 +1047,9 @@
         m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::GlassLoading] Send Loading Success Signal!"));
         strFileName.Format(_T("%s_%s"), strGlassIDTemp, strGlassStepIdTemp);
         bFileFind = FindRawBinFile(strFileName);
         //bFileFind = TRUE;
         //업데이트시
         //bFileFind = FindRawBinFile(strFileName);
         bFileFind = TRUE;
         pDitRawClient->SetReviewStart();
         Sleep(1000);
@@ -1237,6 +1244,7 @@
         if(pAlignCameraControl->AlignCameraDisconnectCheck() == FALSE)
         {
            SendResultToSignalControl(PCControlSendData_AlignResult_CPJT, SIGNAL_SEND_RESULT_FAIL);
            m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::AlignStart] Send Align Fail! Align Cam Disconnect"));
            m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::AlignStart] Algin Camera Disconnect!!!!"));
         }
      }      
@@ -2635,11 +2643,22 @@
   {
      CTime tmReviewLoading = CTime::GetCurrentTime();
      CString strWild;
      strWild.Format("%s\\%s_*.bin", strFilePath, strFileName);
      //strWild.Format("%s\\%s_*.bin", strFilePath, strFileName);
      CakFileUtil akFileFinder;
      while (nReTryTime--)
      {
         akFileFinder.FindFile(strWild.GetBuffer(0), FALSE);
         //#3359_LYW CF AOI Review REVIEW_LOADING_COMPLETE_TIMEOVER 알람 발생 원인 분석 START
         if (nReTryTime%2 == 0)
         {
            strFilePath = AOIRAWBIN_PATH;
         }
         else strFilePath = AOIRAWBIN_NETWORK_DRIVE_PATH;
         strWild.Format("%s\\%s_*.bin", strFilePath, strFileName);
          akFileFinder.FindFile(strWild.GetBuffer(0), FALSE);
         //LYW LOG추가
         g_pLog->DisplayMessage(_T("[GlassLoading][FindRawBinFile] Find Path = %s, RetryCount = %d, ResultCode = [%d]"), strFilePath, 30-nReTryTime, GetLastError());
         //#3359_LYW CF AOI Review REVIEW_LOADING_COMPLETE_TIMEOVER 알람 발생 원인 분석 END
         VECFINDDATA* pFindData = akFileFinder.getFindData();
         int nFileNamePos = strlen(akFileFinder.getProcessPath());
         std::map<LONGLONG, CString> mapSpanFileName;
@@ -2684,6 +2703,7 @@
               break;
            }
         }
         akFileFinder.clear();
         Sleep(100);
      }
@@ -3108,7 +3128,7 @@
               strReadData = pTransferData->strRerferData;
               break;
            }
            m_pSP2P->ISP2P_DisplayMessage(_T("[ReadTransferData] Name: %s, Addr: %s, Size: %d, Data: %s"), pInfo->strName, strReadAddress, nReadSize, strReadData);
            m_pSP2P->ISP2P_DisplayMessage(_T("[ReadTransferData] Name: %s, Addr: %s, Size: %d, Data: %s"), pInfo->strName, strReadAddress, nReadSize, strReadData); //0517
      }
   }
@@ -4481,7 +4501,7 @@
   SetWsiType(0);
   WSIAllReadySignal(1);
   Sleep(500);
   Sleep(1000);
   if(!WSIAllStartSignal())
   {
      g_pLog->DisplayMessage(_T("[WSI] WSI Start Fail!!"));
@@ -4517,7 +4537,8 @@
   strPath  = strPath + _T("\\WSI");
   if(CreateDirectory(strPath,NULL)==FALSE)
   {
      g_pLog->DisplayMessage(_T("[MakeWSIUpLoadDirectory]Directory Create Fail %s "),strPath);
      //LYW LOG추가
      g_pLog->DisplayMessage(_T("[MakeWSIUpLoadDirectory]Directory Create Fail %s, ERROR CODE = %d "),strPath, GetLastError());
   }
   
}
@@ -4556,6 +4577,9 @@
   VectorDouble vectorCollisionPosX;
   vectorCollisionPosX.clear();
   //WSI 좌우 겐트리 동시이동
   pMotorControl->GantrySetTwoGantrySyncModeSend(1);
   
   // WSI result count
@@ -4603,8 +4627,7 @@
            return 0;
         }
      }
      //WSI 좌우 겐트리 동시이동
      pMotorControl->GantrySetTwoGantrySyncModeSend(1);
      // get result index
      int nStartIdx = pWsiResult->GetStartSReviewResultIndex();
@@ -4673,9 +4696,11 @@
      //보낼 포인트가 있는지 없는지 체크
      if (vectorPosX.empty() == TRUE)
      {
         g_pLog->DisplayMessage(_T("[GantryAutoGo] No Exist Send Point "), vectorPosX.size());
         //3360 LYW_ CF AOI QD Review WSI XY MotorMoving Error 알람 발생 원인 분석 및 조치 START
         g_pLog->DisplayMessage(_T("[GantryAutoGo] No Exist Send Point,TwoGantrySyncMode OFF!"), vectorPosX.size());
         g_pLog->DisplayMessage(_T("[GantryAutoGo] (%d)Gantry Path Send Fail"), pModuleStatus->GetGantryIndex()); //taek 210128
         pMotorControl->GantrySetTwoGantrySyncModeSend(0);
         //3360 LYW_ CF AOI QD Review WSI XY MotorMoving Error 알람 발생 원인 분석 및 조치 END
      }
      else
      {
@@ -6060,6 +6085,7 @@
   pReviewScheduler->GetPathSchedulerParam()->SetSelectModuleType(type);
   
   nSchedulingCount = pReviewScheduler->PathScheduling(vecPathData, vecStartPathData);
   if (nSchedulingCount>0)
   {
@@ -7711,7 +7737,8 @@
   pSignalControl->WritePacketData(_T("15100"), sizeof(DVDataPack_CPJT), (short*)&DVData);*/
}
void CSequenceProcessor_CPJT::MakeDVData2() //210325 kyh FDC
//#3358 KYH FDC 데이터 전송 시점 개선 ADD START
void CSequenceProcessor_CPJT::MakeDVData2()
{
   const CRsRcpReviewInfo* pRsRcpReviewInfo = m_pSP2P->ISP2P_Recipe_GetRsRcpReviewInfo();
@@ -7965,8 +7992,6 @@
   pSignalControl->WritePacketData(_T("16128"), sizeof(nWSI1_PC_HDD_CHECK), (short*)&nWSI1_PC_HDD_CHECK);
   pSignalControl->WritePacketData(_T("16132"), sizeof(nWSI2_PC_HDD_CHECK), (short*)&nWSI2_PC_HDD_CHECK);
   pSignalControl->WritePacketData(_T("16136"), sizeof(nReviewVersion), (short*)&nReviewVersion);
   pSignalControl->WritePacketData(_T("16140"), sizeof(nWSI00Version), (short*)&nWSI00Version);
   pSignalControl->WritePacketData(_T("16144"), sizeof(nWSI01Version), (short*)&nWSI01Version);
@@ -7974,6 +7999,7 @@
   return;
}
//#3358 KYH FDC 데이터 전송 시점 개선 ADD END
DWORD CSequenceProcessor_CPJT::GetDiskUsage()
{