////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //생성 : //추가 : //목적 : 시퀀스 스레드 //설명 : ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// private static void ThreadManager(object state) { structureManagerArgs obj = ( structureManagerArgs )state; CProcessVisionManagerProcess150Gocator pThis = ( CProcessVisionManagerProcess150Gocator )obj.pThis; int iCameraIndex = obj.iCameraIndex; // 트리거는 토글 형식으로 동작하는데.. 라이브는 on, off 형식이라 기본 Live off 함수로 들어감. // 이전 값 갖고 변경되는 시점에만 함수 타도록 변경 while (false == pThis.m_bThreadExit) { // 검사 타입별로 Is, Do 함수 구분시킴 // 트레이 파트 if (pThis.m_typeProcessVisionProcess150 == pThis.m_objProcessVisionProcess150[iCameraIndex].GetType()) { if (true == pThis.IsInspection(iCameraIndex)) { pThis.DoProcessInspection(iCameraIndex); } } Thread.Sleep(5); } }
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //생성 : //추가 : //목적 : 초기화 함수 //설명 : ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public override bool Initialize() { bool bReturn = false; do { var pDocument = CDocument.GetDocument; pDocument.SetUpdateLog(CDefine.enumLogType.LOG_SYSTEM, "CProcessVision Initialize Start"); pDocument.SetUpdateLog(CDefine.enumLogType.LOG_SYSTEM, "CProcessVision - Manager Initialize"); if (CDefine.enumMachineType.PROCESS_60 == pDocument.m_objConfig.GetSystemParameter().eMachineType) { // 프로그래스 바 : CProcessVisionManagerLoader Initialize Start. CLoadingScreen.UpdateStatusTextWithStatus(CLoadingScreen.GetPrograssPoint(), "CProcessVisionManagerProcess60 Initialize Start.", TypeOfMessage.Warning); m_objProcessVisionManagerProcess60 = new CProcessVisionManagerProcess60(); if (false == m_objProcessVisionManagerProcess60.Initialize()) { pDocument.SetUpdateLog(CDefine.enumLogType.LOG_SYSTEM, "CProcessVisionManagerProcess60 Initialize Fail"); break; } // 프로그래스 바 : CProcessVisionManagerLoader Initialize Completed. CLoadingScreen.UpdateStatusTextWithStatus(CLoadingScreen.GetPrograssPoint() + 3, "CProcessVisionManagerLoader Initialize Completed.", TypeOfMessage.Success); } else if (CDefine.enumMachineType.PROCESS_110 == pDocument.m_objConfig.GetSystemParameter().eMachineType) { // 프로그래스 바 : CProcessVisionManagerLoader Initialize Start. CLoadingScreen.UpdateStatusTextWithStatus(CLoadingScreen.GetPrograssPoint(), "CProcessVisionManagerProcess110 Initialize Start.", TypeOfMessage.Warning); m_objProcessVisionManagerProcess110 = new CProcessVisionManagerProcess110(); if (false == m_objProcessVisionManagerProcess110.Initialize()) { pDocument.SetUpdateLog(CDefine.enumLogType.LOG_SYSTEM, "CProcessVisionManagerProcess110 Initialize Fail"); break; } // 프로그래스 바 : CProcessVisionManagerLoader Initialize Completed. CLoadingScreen.UpdateStatusTextWithStatus(CLoadingScreen.GetPrograssPoint() + 3, "CProcessVisionManagerLoader Initialize Completed.", TypeOfMessage.Success); } else if (CDefine.enumMachineType.PROCESS_150 == pDocument.m_objConfig.GetSystemParameter().eMachineType) { var objSystemParameter = pDocument.m_objConfig.GetSystemParameter(); // 프로그래스 바 : CProcessVisionManagerLoader Initialize Start. CLoadingScreen.UpdateStatusTextWithStatus(CLoadingScreen.GetPrograssPoint(), "CProcessVisionManagerProcess150 Initialize Start.", TypeOfMessage.Warning); if (CDefine.enumCameraType.CAMERA_3D != objSystemParameter.eCameraType) { m_objProcessVisionManagerProcess150 = new CProcessVisionManagerProcess150(); if (false == m_objProcessVisionManagerProcess150.Initialize()) { pDocument.SetUpdateLog(CDefine.enumLogType.LOG_SYSTEM, "CProcessVisionManagerProcess150 Initialize Fail"); break; } } else { m_objProcessVisionManagerProcess150Gocator = new CProcessVisionManagerProcess150Gocator(); if (false == m_objProcessVisionManagerProcess150Gocator.Initialize()) { pDocument.SetUpdateLog(CDefine.enumLogType.LOG_SYSTEM, "CProcessVisionManagerProcess150Gocator Initialize Fail"); break; } } // 프로그래스 바 : CProcessVisionManagerLoader Initialize Completed. CLoadingScreen.UpdateStatusTextWithStatus(CLoadingScreen.GetPrograssPoint() + 3, "CProcessVisionManagerLoader Initialize Completed.", TypeOfMessage.Success); } bReturn = true; } while(false); return(bReturn); }