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/ReviewInterface.h | 79 ++++++++++++++++++++++++++++++++++++++- 1 files changed, 77 insertions(+), 2 deletions(-) diff --git a/ReviewSystem/ReviewSystem/ReviewInterface.h b/ReviewSystem/ReviewSystem/ReviewInterface.h index d6ad7e4..94ed860 100644 --- a/ReviewSystem/ReviewSystem/ReviewInterface.h +++ b/ReviewSystem/ReviewSystem/ReviewInterface.h @@ -46,6 +46,7 @@ #include "DlgCommand.h" #include "DlgReviewPopUp.h" #include "DlgReviewHistoryTool.h" +#include "DlgHardwareSettingMode.h" #include "CHTotalPitchMeasure/TotalPitchMeasure.h" #include "CHResultFileManager/StringRaw.h" @@ -56,6 +57,8 @@ #include "DlgDefocusList.h" #include "M_AutoDiagnosisManager/DiagnosisManager.h" #include "DlgSelfDiagnosis.h" + +#include "FTPUploadParam.h" typedef std::vector<CMotorCalibrator> VectorMotorCalibrator; typedef std::vector<CMotorCalibrator>::iterator VectorMotorCalibratorIt; @@ -107,7 +110,8 @@ public IDialogReviewPopUP2Parent, public IDiagnosisProcessor2Parent, public IDialogReviewOffSet2Parent, - public IDialogReviewHistory2Parent + public IDialogReviewHistory2Parent, + public IDialogHardwareSettingMode2Parent { public: CReviewInterface(void); @@ -136,6 +140,7 @@ virtual void IMC2P_GantrySoftWareTrigger(int nIndex, int nGantryIdx, int nTrigger); virtual void IMC2P_WsiGantrySoftWareTrigger(int nIndex, int nGantryIdx, int nTrigger); virtual void IMC2P_UpdateWsiMotionEnd(int nIndex, int nGantryIdx); + virtual void IMC2P_SendMotorAliveErrorAlram(); virtual BOOL IMC2P_GetUseWsi(); // WSI Controller 2 parent @@ -147,6 +152,9 @@ virtual void IWC2P_SetWSIAliveCheck(); virtual BOOL IWC2P_GetMeasureInfo(int nModuleIndex, int nPointIndex, short& nLoc, short& nOptic, short& nGray, CString& strCellID); virtual int IWC2P_GetCurrentStatus(int nModuleIndex, CString& strGlassID, CString& strRecipeID, int& nType); + /*< LYW 20220421 - #4086 ADD Start >*/ + virtual void IWC2P_SetWSIVersion(int nModuleIndex, int nVersion); + /*< LYW 20220421 - #4086 ADD End >*/ virtual void IWC2P_SetConnectedStatus(int nModuleIndex, int nConnectStatus); virtual void IWC2P_RecvMeasureMessage(int nModuleIndex, int nMessageType, int nMessageResult); virtual void IWC2P_SetMeasureResult(int nModuleIndex, const SWsiResult& measureResut); @@ -265,9 +273,19 @@ virtual BOOL IRP2P_GetFirstReviewRight(); virtual void IRP2P_SetFirstReviewLeft(BOOL b_Check); virtual void IRP2P_SetFirstReviewRight(BOOL b_Check); + /*< LYW 20211109 - #3662 ADD Start >*/ + virtual BOOL IRP2P_GetReview00ImageContrast(); + virtual BOOL IRP2P_GetReview01ImageContrast(); + virtual void IRP2P_SetReview00ImageContrast(int n_Value); + virtual void IRP2P_SetReview01ImageContrast(int n_Value); + /*< LYW 20211109 - #3662 ADD End >*/ BOOL m_bFirstReviewLeft; BOOL m_bFirstReviewRight; + /*< LYW 20211109 - #3662 ADD Start >*/ + int m_nReview00ImageContrast; + int m_nReview01ImageContrast; + /*< LYW 20211109 - #3662 ADD End >*/ int m_daccumulate; virtual BOOL IRP2P_SaveDefectMap(const CString& strPath); @@ -283,6 +301,7 @@ virtual BOOL GetOffSetValue(int nModule, int nCam, int nScan, double dGlassXPos, double &dXpos, double &dYpos); virtual BOOL IDRO2P_SetGlassMode(BOOL bMode, int nCamidx, int nScanidx, double nXpos, double nYpos); + virtual BOOL IDRO2P_SetOffsetPram(int nCamIdx, int nScanIdx, BOOL bUse = 0); protected: // Sequence Processor @@ -366,6 +385,21 @@ virtual CGlassResult* ISP2P_GetGlassResult(int nIndex); // get glass result virtual CGlassResult* ISP2P_GetCurrentGlassResult(); // get current glass result virtual STransferData* ISP2P_GetCurrentTransferData(); // get current transfer data + + //Review Contrast + /*< LYW 20211109 - #3662 ADD Start >*/ + virtual BOOL ISP2P_GetReview00ImageContrast(); + virtual BOOL ISP2P_GetReview01ImageContrast(); + virtual void ISP2P_SetReview00ImageContrast(int n_Value); + virtual void ISP2P_SetReview01ImageContrast(int n_Value); + /*< LYW 20211109 - #3662 ADD End >*/ + /*< LYW 20220415 - #4086 ADD Start >*/ + virtual int ISP2P_GetReviewSWVersion(); + virtual int ISP2P_GetSyncSWVersion(); + virtual int ISP2P_GetGRMSWVersion(); + virtual int ISP2P_GetFTPUploaderSWVersion(); + virtual int ISP2P_GetWSISWVersion(int nModuleIndex); + /*< LYW 20220415 - #4086 ADD End >*/ // History result virtual CGlassResult* ISP2P_GetNewHistoryResult(int& nHistoryResultCount); // new glass result @@ -498,6 +532,29 @@ virtual void IDL2P_DisplayMessage(const TCHAR* lpstrFormat, ...); virtual void IDL2P_OpenOffSetTool(); virtual void IDL2P_OpenHistoryTool(); + /*< LYW 20211112 - #3708 ADD Start >*/ + virtual void IDL2P_OpenHWSettingTool(); + virtual BOOL IDL2P_IsManualProcessMode(); + /*< LYW 20211112 - #3708 ADD End >*/ + + // dialog HardwareSettingMode 2 Parent + // review camera + virtual int IDHM2P_InitReviewCamera(); + virtual void IDHM2P_DeinitReviewCamera(); + virtual int IDHM2P_ConnectReviewCamera(); + virtual void IDHM2P_DisconnectReviewCamera(); + virtual void IDHM2P_ClearCameraControlObserverVector(); + + // AFM Control + virtual int IDHM2P_InitAFMControl(); + virtual void IDHM2P_DeinitAFMControl(); + + // align camera + virtual int IDHM2P_InitAlignCamera(); + virtual void IDHM2P_DeinitAlignCamera(); + + // is manual Mode? + virtual BOOL IDHM2P_IsManualProcessMode(); protected: // Motor Control command @@ -622,7 +679,16 @@ // setter internal double GetFreeSpaceOfDrive() const; - void SetProgramVersion(); + /*< LYW 20220415 - #4086 ADD Start >*/ + static void threadSet3rdPartyProgramVersion(void* pArg); + void SetReviewProgramVersion(); + /*< LYW 20220426 - #4086 ADD Start >*/ + void Start3rdPartyProgram(); + int StartWindowIDProgram(CString WindowID, CString ProgramPath); + void Terminate3rdPartyProgram(); + void TerminateWindowIDProgram(CString WindowID); + /*< LYW 20220426 - #4086 ADD End >*/ + /*< LYW 20220415 - #4086 ADD End >*/ void ApplySystemSettingValue(); void SetDefaultValue(); @@ -809,6 +875,15 @@ CString m_strProgramVersion; // program version CProcessTimer m_ProcessTimer; // process timer SThetaMotorInfo m_sThetaMotorInfo; // theta motor info + + /*< LYW 20220415 - #4086 ADD Start >*/ + long m_nFDCGRMSWVersion; + long m_nFDCFTPUploaderSWVersion; + long m_nFDCSyncSWVersion; + long m_nFDCReviewSWVersion; + long m_nFDCWSISWVersion00; + long m_nFDCWSISWVersion01; + /*< LYW 20220415 - #4086 ADD End >*/ // multi variable VectorModuleStatus m_vecModuleStatus; // Review Module Status Vector -- Gitblit v1.9.3