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. 로그 시간 출력 불합리 개선 - 로그 시간이 파일 출력 시점으로 작성되어 로그 스래드 지연 시 시간이 맞지 않는 불합리 있음 - 로그 시간은 로그 발생 시점에 시간 저장, 해당 시간 이용하여 파일에 기록하도록 변경 --- ReviewHistory/ReveiwHistory/StackResultCSOT.h | 76 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 76 insertions(+), 0 deletions(-) diff --git a/ReviewHistory/ReveiwHistory/StackResultCSOT.h b/ReviewHistory/ReveiwHistory/StackResultCSOT.h new file mode 100644 index 0000000..a980e0b --- /dev/null +++ b/ReviewHistory/ReveiwHistory/StackResultCSOT.h @@ -0,0 +1,76 @@ +#pragma once + +#include <vector> +#include "akCore/akFileUtil.h" + +struct _StackDefect +{ + int m_nDefectID ; + char m_strCellID[32] ; + int m_nPosX ; + int m_nPosY ; + int m_nSize ; + char m_strJudge[16] ; + char m_strCode[16] ; +}; + +class CStackResultCSOT +{ +public: + CStackResultCSOT(void); + virtual ~CStackResultCSOT(void); +protected: + enum emStackProcessState + { + SPS_StateIdle = 0, + SPS_StateFileRead, //읽기 수행 중 + SPS_ResultReadOK, + SPS_ResultReadFail, + SPS_CmdFileRead, //읽기 명령 수행 + SPS_CmdFileStop, //읽기 명령 수행 중지 + + SPS_Num + }; +public: + void clear() + { + m_vecMacroDefect.clear(); + } + + BOOL StackFileReadStart(char* pGlassID); + BOOL StackFileReadStop(BOOL bWait=TRUE); + BOOL IsRead() { return m_nProcessState == SPS_ResultReadOK?TRUE:FALSE; } + + int GetDefectNum() { return (int)m_vecMacroDefect.size();} + _StackDefect* GetDefect(int i) { return &m_vecMacroDefect[i]; } + + BOOL readOptionFile(char* pFileName = NULL); + + BOOL getStackUse(){return m_bStackUse;}; + char* getStackEquipID(){return m_strEquipID;}; + char* getStackOperID(){return m_strParam1;}; + char* getStackLocalPath(){return m_strLocalPath;}; +protected: + BOOL openFile( char* pGlassID ); + + static void threadStackFileRead(void* pArg); + int m_nThreadStackFileReadFlag; + +protected: + char m_strConfigFile[MAX_PATH]; + BOOL m_bStackUse; + char m_strLocalPath[MAX_PATH]; + char m_strEquipID[32]; + char m_strParam1[32]; //operid + + emStackProcessState m_nProcessState;//-1:읽기실패,0:Idle, 1:읽기성공, 2:읽기시도(읽기중) + std::vector<_StackDefect> m_vecMacroDefect; + + CString m_strGlassID; +protected: + char* getParsingData(char* pBuf, int nLen, CString* pOutData); + char* getParsingData(char* pBuf, int nLen, int* pOutData); + + + +}; -- Gitblit v1.9.3