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/DitGlassRawClient.cpp | 15 +++++++++++---- 1 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ReviewSystem/ReviewSystem/DitGlassRawClient.cpp b/ReviewSystem/ReviewSystem/DitGlassRawClient.cpp index 7a3c5e6..2c98d09 100644 --- a/ReviewSystem/ReviewSystem/DitGlassRawClient.cpp +++ b/ReviewSystem/ReviewSystem/DitGlassRawClient.cpp @@ -105,6 +105,7 @@ m_pCellData = (_grmCellData*)&m_pGlassRawData[m_pGlassRawInfo->m_nCellDataPoint]; m_pDefectData = (_grmDefectData*)&m_pGlassRawData[m_pGlassRawInfo->m_nDefectDataPoint]; m_pStackData = (_grmDefectData*)&m_pGlassRawData[m_pGlassRawInfo->m_nStackDataPoint]; + m_pRawMergeData = (_grmDefectData*)&m_pGlassRawData[m_pGlassRawInfo->m_nRawMergeDataPoint]; return TRUE; } @@ -124,6 +125,11 @@ return SetCommand(grcReadBin); } +BOOL CDitGlassRawClient::WriteReviewRawBinFile() +{ + return SetCommand(grcReviewWriteBIn); +} + BOOL CDitGlassRawClient::SetCommand( emGlassRawCommand nCmd ) { if(m_pGlassRawInfo == NULL) return FALSE; @@ -132,14 +138,14 @@ int nCmdId = (m_pGlassRawInfo->m_nCommandIdxWrite+1) % COMMAND_MAXCOUNT; - if(m_pGlassRawInfo->m_nCommandIdxRead == nCmdId)//둘이 같다는것은 서큘러 버퍼가 한바퀴 돌았다는것!! [김태현 2018/11/12] + if(m_pGlassRawInfo->m_nCommandIdxRead == nCmdId) { - m_pGlassRawInfo->m_nCommandIdxRead++;//가장 오래된 명령 하나를 삭제한다. [김태현 2018/11/12] + m_pGlassRawInfo->m_nCommandIdxRead++; } m_pGlassRawInfo->m_nCommandBuffer[nCmdId].nCommand = (short)nCmd; m_pGlassRawInfo->m_nCommandBuffer[nCmdId].strParam; - m_pGlassRawInfo->m_nCommandBuffer[nCmdId].nResult = -1; //-1수행전, 0실패, 1성공 [김태현 2018/11/13] + m_pGlassRawInfo->m_nCommandBuffer[nCmdId].nResult = -1; m_nLastCommandIdx = m_pGlassRawInfo->m_nCommandIdxWrite = nCmdId; @@ -166,6 +172,7 @@ if(isConnect() == FALSE) return FALSE; m_pGlassRawInfo->m_ClientProcStep = APS_GlassLoading; m_pGlassData->m_bStackRead = FALSE; + m_pGlassData->m_bRawMergeRead = FALSE; return SetCommand(grcSequenceGlassLoading); } @@ -210,7 +217,7 @@ void CDitGlassRawClient::RemoveReviewDefects() { int nDefectNum = m_pGlassData->m_nDefectNum; - int nRightDefectNum = 0;//기준점 오른쪽에 위치한 결함 갯수 + int nRightDefectNum = 0; int nDefectDeleteNum = 0; for(int i=nDefectNum-1; i>=0; i--) { -- Gitblit v1.9.3