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/stdafx.h | 71 ++++++++++++++++++++++++++++++----- 1 files changed, 60 insertions(+), 11 deletions(-) diff --git a/ReviewSystem/ReviewSystem/stdafx.h b/ReviewSystem/ReviewSystem/stdafx.h index e674365..7f74d18 100644 --- a/ReviewSystem/ReviewSystem/stdafx.h +++ b/ReviewSystem/ReviewSystem/stdafx.h @@ -38,6 +38,9 @@ #include "CHReviewResult/GlassResult.h" #include "CHReviewSetting/MotorParameter.h" +#include <DbgHelp.h> +#pragma comment ( lib, "DbgHelp" ) + #include <WinNetWk.h> //#pragma comment(lib,"Mpr.lib") @@ -74,17 +77,34 @@ #define ID_TIMER_SEND_SIGNAL_ALIVE (WM_USER + 107) -#define _REVIEW_SERVER_BASE_PATH_ _T("C:\\DIT_Review") -#define _REVIEW_SERVER_LOG_PATH_ _T("C:\\DIT_Review\\ReviewServerLog") -#define _REVIEW_RECIPE_PATH_ _T("C:\\DIT_Review\\Recipe") -#define _REVIEW_REF_RECIPE_PATH_ _T("C:\\DIT_Review\\Recipe\\Reference") -#define _REVIEW_SERVER_CONFIG_PATH_ _T("C:\\DIT_Review\\ReviewServerConfig") -#define _REVIEW_SERVER_SYSTEM_SETTING_FILE_PATH_ _T("C:\\DIT_Review\\ReviewServerConfig\\SystemSetting.cfg") +#define _REVIEW_SERVER_BASE_PATH_ _T("D:\\DIT_Review") //210805 +#define _REVIEW_SERVER_LOG_PATH_ _T("D:\\DIT_Review\\ReviewServerLog") +#define _REVIEW_RECIPE_PATH_ _T("D:\\DIT_Review\\Recipe") +#define _REVIEW_REF_RECIPE_PATH_ _T("D:\\DIT_Review\\Recipe\\Reference") +#define _REVIEW_SERVER_CONFIG_PATH_ _T("D:\\DIT_Review\\ReviewServerConfig") +#define _REVIEW_SERVER_SYSTEM_SETTING_FILE_PATH_ _T("D:\\DIT_Review\\ReviewServerConfig\\SystemSetting.cfg") #define _SYSTEM_SETTING_TITLE_ _T("ReviewSystemSetting") #define _RECIPE_EDITOR_TITLE_ _T("ReviewRecipeEditor") -#define _REVIEW_LOGIN_LOG_PATH_ _T("C:\\DIT_Review\\ReviewServerLog\\LoginLog") -#define _REVIEW_REFLOW_RECIPE_PATH_ _T("C:\\DIT_Review\\Recipe\\Reflow") -#define ALIGN_TEMPLATE_PATH _T("C:\\DIT_Review\\Recipe\\AlignImage") +#define _REVIEW_LOGIN_LOG_PATH_ _T("D:\\DIT_Review\\ReviewServerLog\\LoginLog") +#define _REVIEW_REFLOW_RECIPE_PATH_ _T("D:\\DIT_Review\\Recipe\\Reflow") +#define ALIGN_TEMPLATE_PATH _T("D:\\DIT_Review\\Recipe\\AlignImage") +#define _REVIEW_RECIPE_BACKUP_PATH_CPJT _T("\\\\126.100.100.5\\d\\DIT Back up\\DIT Review\\Recipe") +#define _REVIEW_SERVER_SYSTEM_SETTING_BACKUP_PATH_CPJT _T("\\\\126.100.100.5\\d\\DIT Back up\\DIT Review\\ReviewServerConfig") + +//#define _REVIEW_SERVER_BASE_PATH_ _T("C:\\DIT_Review") +//#define _REVIEW_SERVER_LOG_PATH_ _T("C:\\DIT_Review\\ReviewServerLog") +//#define _REVIEW_RECIPE_PATH_ _T("C:\\DIT_Review\\Recipe") +//#define _REVIEW_REF_RECIPE_PATH_ _T("C:\\DIT_Review\\Recipe\\Reference") +//#define _REVIEW_SERVER_CONFIG_PATH_ _T("C:\\DIT_Review\\ReviewServerConfig") +//#define _REVIEW_SERVER_SYSTEM_SETTING_FILE_PATH_ _T("C:\\DIT_Review\\ReviewServerConfig\\SystemSetting.cfg") +//#define _SYSTEM_SETTING_TITLE_ _T("ReviewSystemSetting") +//#define _RECIPE_EDITOR_TITLE_ _T("ReviewRecipeEditor") +//#define _REVIEW_LOGIN_LOG_PATH_ _T("C:\\DIT_Review\\ReviewServerLog\\LoginLog") +//#define _REVIEW_REFLOW_RECIPE_PATH_ _T("C:\\DIT_Review\\Recipe\\Reflow") +//#define ALIGN_TEMPLATE_PATH _T("C:\\DIT_Review\\Recipe\\AlignImage") +//#define _REVIEW_RECIPE_BACKUP_PATH_CPJT _T("\\\\126.100.100.5\\d\\DIT Back up\\DIT Review\\Recipe") +//#define _REVIEW_SERVER_SYSTEM_SETTING_BACKUP_PATH_CPJT _T("\\\\126.100.100.5\\d\\DIT Back up\\DIT Review\\ReviewServerConfig") + #define TOTAL_WINDOW_SIZE_X 1920 #define TOTAL_WINDOW_SIZE_Y 1040 @@ -181,7 +201,9 @@ #define COPYDATA_SYSTEMSETTING2REVIEWSYSTEM 1500 #define COPYDATA_RECIPEEDITOR2REVIEWSYSTEM 1600 - +/*< LYW 20211111 - #3766 ADD Start >*/ +#define COPYDATA_REVIEWHISTORYOR2REVIEWSYSTEM 1800 +/*< LYW 20211111 - #3766 ADD End >*/ // [2017:1:13]-[WEZASW] : �떎以� 紐⑤땲�꽣�뿉�꽌�쓽 ReviewSystem Display enum MonitorPosition {MonitorPos_CENTER=0, MonitorPos_TOP, MonitorPos_BOTTOM, MonitorPos_LEFT, MonitorPos_RIGHT, MonitorPos_Count}; @@ -190,6 +212,7 @@ #include "SequenceProcessor.h" #include <afxcontrolbars.h> #include <afxwin.h> +#include <afxcontrolbars.h> #include <afxcontrolbars.h> #include <afxcontrolbars.h> #include <afxcontrolbars.h> @@ -400,4 +423,30 @@ char strMessageString[MAX_PATH]; }; -BOOL KillProcess(CString ProcessName);BOOL getStateProcess(CString ProcessName); \ No newline at end of file +BOOL KillProcess(CString ProcessName);BOOL getStateProcess(CString ProcessName); + +// �꽑�뼵 +static LONG CALLBACK TopLevelExceptionFilterCallBack(EXCEPTION_POINTERS* exceptionInfo); + +LONG CALLBACK TopLevelExceptionFilterCallBack(EXCEPTION_POINTERS * exceptionInfo) +{ + MINIDUMP_EXCEPTION_INFORMATION dmpInfo = { 0 }; + dmpInfo.ThreadId = ::GetCurrentThreadId(); // Threae ID + dmpInfo.ExceptionPointers = exceptionInfo; // Exception Info + dmpInfo.ClientPointers = FALSE; + CTime time; + CString strStamp; + + SYSTEMTIME currentTime; + ::GetLocalTime(¤tTime); + time = CTime::GetCurrentTime(); + strStamp.Format(_T("Dump\\%02d_%02d_%02d_%02d_%02d_%02d.dmp"), time.GetYear(), time.GetMonth(), time.GetDay(), time.GetHour(), time.GetMinute(), time.GetSecond()); + + HANDLE hFile = CreateFile(strStamp, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); + + // �뜡�봽 �깮�꽦 + BOOL bWrite = ::MiniDumpWriteDump(::GetCurrentProcess(), ::GetCurrentProcessId(), hFile, MiniDumpNormal, &dmpInfo, NULL, NULL); + + return 0L; + +} \ No newline at end of file -- Gitblit v1.9.3