////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //생성 : //추가 : //목적 : 초기화 함수 //설명 : ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public override bool Initialize() { bool bReturn = false; do { var pDocument = CDocument.GetDocument; // 비전 얼라인 m_objProcessVisionProcess150 = new CProcessAbstract[( int )CDefine.enumCamera.CAMERA_FINAL]; for (int iLoopCount = ( int )CDefine.enumCamera.CAMERA_1; iLoopCount < ( int )CDefine.enumCamera.CAMERA_FINAL; iLoopCount++) { CProcessVisionProcess150 obj = new CProcessVisionProcess150(); obj.Initialize(iLoopCount); m_objProcessVisionProcess150[iLoopCount] = obj; m_typeProcessVisionProcess150 = obj.GetType(); } // PLC 객체 참조 m_objPLC = pDocument.m_objProcessMain.m_objPLC; // 조명 컨트롤러 객체 참조 m_objLightController = new CDeviceLightController[pDocument.m_objProcessMain.m_objLightController.Length]; for (int iLoopCount = 0; iLoopCount < pDocument.m_objProcessMain.m_objLightController.Length; iLoopCount++) { m_objLightController[iLoopCount] = pDocument.m_objProcessMain.m_objLightController[iLoopCount]; } // 메인 스레드 m_ThreadManager = new Thread[( int )CDefine.enumCamera.CAMERA_FINAL]; for (int iLoopCount = 0; iLoopCount < m_ThreadManager.Length; iLoopCount++) { m_ThreadManager[iLoopCount] = new Thread(ThreadManager); structureManagerArgs objArgs = new structureManagerArgs(this, iLoopCount); m_ThreadManager[iLoopCount].Start(objArgs); } bReturn = true; } while(false); return(bReturn); }