コード例 #1
0
        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //생성 :
        //추가 :
        //목적 : 시퀀스 스레드
        //설명 :
        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        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);
            }
        }
コード例 #2
0
        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //생성 :
        //추가 :
        //목적 : 초기화 함수
        //설명 :
        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        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);
        }