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/include/CHReviewResult/DefectResult.h | 71 ++++++++++++++++++----------------- 1 files changed, 36 insertions(+), 35 deletions(-) diff --git a/ReviewSystem/include/CHReviewResult/DefectResult.h b/ReviewSystem/include/CHReviewResult/DefectResult.h index 83ec84b..f6306de 100644 --- a/ReviewSystem/include/CHReviewResult/DefectResult.h +++ b/ReviewSystem/include/CHReviewResult/DefectResult.h @@ -3,7 +3,7 @@ namespace CHReviewResult { enum ResultFileType { RESULT_FILE_TD = 0, RESULT_FILE_CD, RESULT_FILE_SD, RESULT_FILE_TYPE_COUNT }; - enum DefectType { DEFECT_TYPE_NONE = 0, DEFECT_TYPE_D, DEFECT_TYPE_B, DEFECT_TYPE_BD, DEFECT_TYPE_PD, DEFECT_TYPE_PB, DEFECT_TYPE_PBD, DEFECT_TYPE_MNT, DEFECT_TYPE_EC, DEFECT_TYPE_MURA, DEFECT_TYPE_VLINE, DEFECT_TYPE_HLINE, DEFECT_TYPE_SPOT, DEFECT_TYPE_DENT, DEFECT_TYPE_PROTRUDE };// 20171003 smok. MURA 세부 결과 + enum DefectType { DEFECT_TYPE_NONE = 0, DEFECT_TYPE_D, DEFECT_TYPE_B, DEFECT_TYPE_BD, DEFECT_TYPE_PD, DEFECT_TYPE_PB, DEFECT_TYPE_PBD, DEFECT_TYPE_MNT, DEFECT_TYPE_EC, DEFECT_TYPE_MURA, DEFECT_TYPE_VLINE, DEFECT_TYPE_HLINE, DEFECT_TYPE_SPOT, DEFECT_TYPE_DENT, DEFECT_TYPE_PROTRUDE };// 20171003 smok. MURA 占쏙옙占쏙옙 占쏙옙占� // [2018/01/29 15:16:23 by jylee] related PANDA enum PANDADefectType { DEFECT_TYPE_NORMAL = 0, DEFECT_TYPE_COMMON, DEFECT_TYPE_MASK }; enum DefectGrayType { DEFECT_GRAY_NONE = 0, DEFECT_GRAY_BLACK, DEFECT_GRAY_WHITE }; @@ -17,16 +17,16 @@ enum DefectSizeType { DEFECT_SIZE_NONE = 0, DEFECT_SIZE_SMALL, DEFECT_SIZE_MEDIUM, DEFECT_SIZE_LARGE, DEFECT_SIZE_HUGE }; enum DefectJudgeType { DEFECT_JUDGE_NONE = 0, DEFECT_JUDGE_OK, DEFECT_JUDGE_TR, DEFECT_JUDGE_PR}; enum DefectJudgeType_CPJT { - DEFECT_JUDGE_CPJT_OK = 0, DEFECT_JUDGE_CPJT_RP, DEFECT_JUDGE_CPJT_NG, DEFECT_JUDGE_CPJT_TR, DEFECT_JUDGE_CPJT_PR, DEFECT_JUDGE_CPJT_PT, DEFECT_JUDGE_CPJT_Review, DEFECT_JUDGE_CPJT_RC, DEFECT_JUDGE_CPJT_Size, DEFECT_JUDGE_CPJT_VI, DEFECT_JUDGE_CPJT_Rework, DEFECT_JUDGE_CPJT_Unknown, DEFECT_JUDGE_CPJT_GRADE_COUNT + DEFECT_JUDGE_CPJT_OK = 0, DEFECT_JUDGE_CPJT_RP, DEFECT_JUDGE_CPJT_NG, DEFECT_JUDGE_CPJT_TR, DEFECT_JUDGE_CPJT_PR, DEFECT_JUDGE_CPJT_ND, DEFECT_JUDGE_CPJT_PT, DEFECT_JUDGE_CPJT_Review, DEFECT_JUDGE_CPJT_RC, DEFECT_JUDGE_CPJT_Size, DEFECT_JUDGE_CPJT_VI, DEFECT_JUDGE_CPJT_Rework, DEFECT_JUDGE_CPJT_Unknown, DEFECT_JUDGE_CPJT_GRADE_COUNT }; enum DefectSubType { DEFECT_SUBTYPE_NONE = 0, DEFECT_SUBTYPE_NR, DEFECT_SUBTYPE_MD, DEFECT_SUBTYPE_CD, DEFECT_SUBTYPE_MC }; enum DefectProcessType { DEFECT_PROCESS_NONE = 0, DEFECT_PROCESS_NORMAL, DEFECT_PROCESS_MASK, DEFECT_PROCESS_COMMON, DEFECT_PROCESS_CRACK }; enum DefectPositionType { DEFECT_POSITION_NONE = -1, DEFECT_POSITION_FRONT, DEFECT_POSITION_BACK }; enum DefectZoneType { DEFECT_ZONE_NONE = 0, DEFECT_ZONE_DA, DEFECT_ZONE_GA, DEFECT_ZONE_GH, DEFECT_ZONE_AA }; - enum SERVER_DefectType { DefectType_TBlack = 0, DefectType_TWhite, DefectType_RBlack, DefectType_RWhite, DefectType_Unknown }; //검사기 - enum SERVER_DefectLocation { DefectLoc_Pattern = 0, DefectLoc_Crack, DefectLoc_BM, DefectLoc_ASG, DefectLoc_PAD, DefectLoc_C2C, DefectLoc_Align }; //검사기 - enum SERVER_DefectSubType { DefectSubType_Normal = 0, DefectSubType_Edge, DefectSubType_MC, DefectSubType_Mask, DefectSubType_Common, DefectSubType_NoDefect, DefectSubType_Align }; //검사기 + enum SERVER_DefectType { DefectType_TBlack = 0, DefectType_TWhite, DefectType_RBlack, DefectType_RWhite, DefectType_Unknown }; //占싯삼옙占� + enum SERVER_DefectLocation { DefectLoc_Pattern = 0, DefectLoc_Crack, DefectLoc_BM, DefectLoc_ASG, DefectLoc_PAD, DefectLoc_C2C, DefectLoc_Align }; //占싯삼옙占� + enum SERVER_DefectSubType { DefectSubType_Normal = 0, DefectSubType_Edge, DefectSubType_MC, DefectSubType_Mask, DefectSubType_Common, DefectSubType_NoDefect, DefectSubType_Align }; //占싯삼옙占� enum SERVER_DefectPosition { DefectPos_Front = 0, DefectPos_Back }; @@ -158,15 +158,15 @@ void Reset(); public: - //02.14 CHM RTMS용도 + //02.14 CHM RTMS占쎈도 CString strLotID; CString strGlassID; CString strOperID; // - CString ProcessID; // operID 동일 + CString ProcessID; // operID 占쏙옙占쏙옙 int nPanelID; // test - int nDefectidx1; //검사 디펙 인덱스 - int nDefectidx2; //Raw 메신저 인덱스 + int nDefectidx1; //占싯삼옙 占쏙옙占쏙옙 占싸듸옙占쏙옙 + int nDefectidx2; //Raw 占쌨쏙옙占쏙옙 占싸듸옙占쏙옙 int nUpdateTime; @@ -179,37 +179,38 @@ BOOL bRework; BOOL bReworkSelected; - // [2017:5:12]-[WEZASW] : DFS Result File Format 변경 + // [2017:5:12]-[WEZASW] : DFS Result File Format 占쏙옙占쏙옙 // defect raw data - int nTotalDefectCount; // Mura Defect Filter용 Total Defect(Vector) Index + int nTotalDefectCount; // Mura Defect Filter占쏙옙 Total Defect(Vector) Index int nDefectIdx; // Defect No. CString strDefectCode; // Defect Code int nDefectCode; // Defect Code Number - CString strDefectCode2; + int nDefectJudgeCode; // TRDF 占쏙옙占쏙옙 占싯삼옙 Defect Code CPJT 占쏙옙 占쏙옙...占쏠갈몌옙占쏙옙 DefectJudge占쏙옙 占쌕몌옙 Defect Code 占쏙옙占쌕몌옙 tlqkf + CString strDefectJudgeCode; // TRDF 占쏙옙占쏙옙 占싯삼옙 Defect Code CPJT 占쏙옙 //20210608 CString strDefectName; // Defect Name CString strCPResult; CString strDefectType; // PARTICLE/CRACK/DENT / PROTRUSION/TFE_ABNORMAL int nDefectType; - int nUMOriginX; // LTPS글라스 센터 기준 좌표 X - int nUMOriginY; // LTPS글라스 센터 기준 좌표 Y + int nUMOriginX; // LTPS占쌜띰옙 占쏙옙占쏙옙 占쏙옙占쏙옙 占쏙옙표 X + int nUMOriginY; // LTPS占쌜띰옙 占쏙옙占쏙옙 占쏙옙占쏙옙 占쏙옙표 Y - double nUMTransX; // Stage 상의 글라스 Left Bottom 컷팅면 기준 상대좌표 X - double nUMTransY; // Stage 상의 글라스 Left Bottom 컷팅면 기준 상대좌표 Y + double nUMTransX; // Stage 占쏙옙占쏙옙 占쌜띰옙 Left Bottom 占쏙옙占시몌옙 占쏙옙占쏙옙 占쏙옙占쏙옙占실� X + double nUMTransY; // Stage 占쏙옙占쏙옙 占쌜띰옙 Left Bottom 占쏙옙占시몌옙 占쏙옙占쏙옙 占쏙옙占쏙옙占실� Y - int nUMCellX;//셀 중심 x좌표 - int nUMCellY;//셀 중심 Y좌표 + int nUMCellX;//占쏙옙 占쌩쏙옙 x占쏙옙표 + int nUMCellY;//占쏙옙 占쌩쏙옙 Y占쏙옙표 CString strMarkType; // POINT/LINE/RECT/CIRCLE/TRIANGLE/ARC int nMarkType; - double dUMCenterOriginX; // Glass Center 기준 좌표 X - double dUMCenterOriginY; // Glass Center 기준 좌표 X + double dUMCenterOriginX; // Glass Center 占쏙옙占쏙옙 占쏙옙표 X + double dUMCenterOriginY; // Glass Center 占쏙옙占쏙옙 占쏙옙표 X int nSrcMax;//Gray max - int nRefMax;//비교대상 Gray max + int nRefMax;//占쏟교댐옙占� Gray max CString strCellID; // Defected Panel ID CString strEquipID; @@ -217,32 +218,32 @@ CString strSizeType; // S/M/L/EX_L/UL_L int nSizeType; - double nAOISizeW; // Defect’s X axis size (um) - double nAOISizeH; // Defect’s Y axis size (um) - double nAOISizeLength; // Defect’s Diagonal Length (um) + double nAOISizeW; // Defect占쏙옙s X axis size (um) + double nAOISizeH; // Defect占쏙옙s Y axis size (um) + double nAOISizeLength; // Defect占쏙옙s Diagonal Length (um) double nAOIArea; // CString strAOIArea; int nAOIPeak; // - int nDefectWBType; // 백결함 흑결함 분류 (1,3,5가 백결함) + int nDefectWBType; // 占쏙옙占쏙옙占� 占쏙옙占쏙옙占� 占싻뤄옙 (1,3,5占쏙옙 占쏙옙占쏙옙占�) CString strDefectType1; int nDefectType1; - CString strDefectType2; // Back(B) / TOP(T)???? => Lami AOI 상/하 Camera에 대한 분류 목적 + CString strDefectType2; // Back(B) / TOP(T)???? => Lami AOI 占쏙옙/占쏙옙 Camera占쏙옙 占쏙옙占쏙옙 占싻뤄옙 占쏙옙占쏙옙 int nDefectType2; CString strUploadImgFileName; // Review Image File Name CString strUploadImgFileName2; // image name 2 - int nDefectGroup; // [2018/06/04 11:13:54 by jylee] related Group Defect 분류 + int nDefectGroup; // [2018/06/04 11:13:54 by jylee] related Group Defect 占싻뤄옙 int nMultiModel; int nReview_Processing; - // [2017:4:10]-[WEZASW] : 고객사 요청에 의한 bmp 파일 추가 저장. (임시사용) + // [2017:4:10]-[WEZASW] : 占쏙옙占쏙옙占� 占쏙옙청占쏙옙 占쏙옙占쏙옙 bmp 占쏙옙占쏙옙 占쌩곤옙 占쏙옙占쏙옙. (占쌈시삼옙占�) CString strOrignalImgFileName; // [2017/08/03 14:10:50 by jylee] related Sharp @@ -308,15 +309,15 @@ int nSortSection; // not used FIC - int nZonePercent; // (13) ZONE_Percent //사용안함. or MNT Data 0 - int nBF_Width; // (14) bf_width_um //디펙 width (세로) BF Size or MNT Data 1 - int nBF_Length; // (15) bf_length_um //디펙 Length (가로) BF Size or MNT Data 2 - int nBF_Min; // (16) bf_min //BF_DEFECT의 GRAY MIN or MNT Data 3 - int nBF_Avg; // (17) bf_avg //BF_DEFECT의 GRAY AVG or MNT Data 0 + int nZonePercent; // (13) ZONE_Percent //占쏙옙占쏙옙占쏙옙. or MNT Data 0 + int nBF_Width; // (14) bf_width_um //占쏙옙占쏙옙 width (占쏙옙占쏙옙) BF Size or MNT Data 1 + int nBF_Length; // (15) bf_length_um //占쏙옙占쏙옙 Length (占쏙옙占쏙옙) BF Size or MNT Data 2 + int nBF_Min; // (16) bf_min //BF_DEFECT占쏙옙 GRAY MIN or MNT Data 3 + int nBF_Avg; // (17) bf_avg //BF_DEFECT占쏙옙 GRAY AVG or MNT Data 0 int nBF_AvgDiff; // (18) bf_avg_diff - int nDF_Width; // (19) df_width_um //디펙 width (세로) DF Size - int nDF_Length; // (20) df_lengt_um //디펙 Length (가로) DF Size + int nDF_Width; // (19) df_width_um //占쏙옙占쏙옙 width (占쏙옙占쏙옙) DF Size + int nDF_Length; // (20) df_lengt_um //占쏙옙占쏙옙 Length (占쏙옙占쏙옙) DF Size int nBefore_SizeWidth; int nBefore_SizeHeight; -- Gitblit v1.9.3