| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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) |
| | | { |
| | |
| | | |
| | | strcpy(pSharedDefectReview->m_strRevImageName, ""); |
| | | } |
| | | //LYW DCOLL 임시조치 |
| | | //LYW DCOLL �ӽ���ġ |
| | | ::Sleep(nWaitTime); |
| | | m_pSP2P->ISP2P_GetReviewProcessor()->ResetGantryDone(); |
| | | bExcute = ReviewStartProcessing(pGlassResult, nPlanIdx); |
| | |
| | | |
| | | strFileName.Format(_T("%s_%s"), strGlassIDTemp, strGlassStepIdTemp); |
| | | |
| | | //업데이트시 |
| | | //������Ʈ�� |
| | | |
| | | //bFileFind = FindRawBinFile(strFileName); |
| | | bFileFind = TRUE; |
| | |
| | | |
| | | // review camera stop |
| | | ReviewCamera_CameraControl(CameraControlStop); |
| | | //AlignCamera_CameraControl(CameraControlLive); |
| | | AlignCamera_CameraControl(CameraControlStop); // 210805 Align Camera Sequence ���� |
| | | |
| | | // send signal to plc |
| | | if (nResultCode==0) |
| | |
| | | { |
| | | 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(); |
| | | |
| | |
| | | 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 |
| | | { |
| | |
| | | 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()) |
| | | { |
| | |
| | | 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!")); |
| | |
| | | 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) { |
| | |
| | | |
| | | 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); |
| | | |