Exemple #1
0
        public void InitInspControl(UCRecord ucRecord, UCRecordTemp ucRecordTemp, UCResultIns ucResultInsp, BaseUCDisplayCamera ucDisp)
        {
            try
            {
                g_UCRecord       = ucRecord;
                g_UCSingleRecord = ucRecordTemp;
                g_UCSingleResult = ucDisp;
                g_UCResultInsp   = ucResultInsp;

                if (!ParSetWork.P_I[8].BlSelect)
                {
                    g_UCRecord.dgRecord.ItemsSource      = ResultInspCell_L;
                    g_UCRecord.DGRecordSelChanged_event += new IntAction(g_UCRecord_DGRecordSelChanged_event);
                    SampleManager.ShowResult            += new SampleManager.ShowResult_event(ShowResult_Sample);
                }

                if (!ParSetWork.P_I[9].BlSelect)
                {
                    g_UCSingleRecord.dgRecordSingle.ItemsSource = ResultInspSingeCell_L;
                    g_UCSingleRecord.DGSelChanged_event        += new IntAction(g_UCSingleRecord_DGSelChanged_event);
                }

                g_ParIns = ParCam1.P_I;
            }
            catch (Exception ex)
            {
                Log.L_I.WriteError(g_NameClass, ex);
            }
        }
Exemple #2
0
        /// <summary>
        /// 主界面的result
        /// </summary>
        /// <param name="baseUCDisplayCamera"></param>
        /// <param name="htUCDisplay"></param>
        /// <param name="uCResult"></param>
        /// <param name="uCAlarm"></param>
        /// <param name="uCStateWork"></param>
        //public virtual void Init(BaseUCDisplayCamera baseUCDisplayCamera, Hashtable htUCDisplay, UCDisplayMainResult uCResult, UCAlarm uCAlarm, UCStateWork uCStateWork)
        //{
        //    try
        //    {
        //        g_UCDisplayCamera = baseUCDisplayCamera;
        //        g_HtUCDisplay = htUCDisplay;
        //        g_UCDisplayMainResult = uCResult;
        //        g_UCAlarm = uCAlarm;
        //        g_UCStateWork = uCStateWork;

        //        LoginEvent();
        //    }
        //    catch (Exception ex)
        //    {
        //        Log.L_I.WriteError(NameClass, ex);
        //    }
        //}

        /// <summary>
        /// 初始化相机综合设置处理结果参数
        /// </summary>
        /// <param name="baseUCDisplayCamera"></param>
        /// <param name="htUCDisplay"></param>
        /// <param name="uCResult"></param>
        /// <param name="uCAlarm"></param>
        /// <param name="uCStateWork"></param>
        /// <param name="fun_State">切换软件状态</param>
        public virtual void Init(BaseUCDisplayCamera baseUCDisplayCamera, Hashtable htUCDisplay, UCDisplayMainResult uCResult, UCAlarm uCAlarm, UCStateWork uCStateWork, Action fun_State)
        {
            try
            {
                if (baseUCDisplayCamera == null)
                {
                    return;
                }
                g_UCDisplayCamera = baseUCDisplayCamera;
                g_BaseDealComprehensive.g_UCDisplayCamera = g_UCDisplayCamera;

                g_UCDisplayCamera.BlRefreshByTrigger      = true;//20181414-zx,刷新通过触发事件
                g_UCDisplayCamera.MouseUpHalWin_event    += new Action(g_UCDisplayCamera_HalWin_event);
                g_UCDisplayCamera.MouseWheelHalWin_event += new Action(g_UCDisplayCamera_HalWin_event);
                g_UCDisplayCamera.MouseMoveHalWin_event  += new Action(g_UCDisplayCamera_HalWin_event);

                g_HtUCDisplay         = htUCDisplay;
                g_UCDisplayMainResult = uCResult;
                g_UCAlarm             = uCAlarm;
                g_UCStateWork         = uCStateWork;

                Fun_SoftState = fun_State;//软件状态显示切换
            }
            catch (Exception ex)
            {
                Log.L_I.WriteError(NameClass, ex);
            }
        }
        /// <summary>
        /// 初始化参数
        /// </summary>
        public void Init(ParFinShell par, BaseUCDisplayCamera baseUCCamera, List <CellReference> cellExe_L, List <CellHObjectReference> cellHObject_L, List <CellReference> cellData_L, Hashtable htResult)
        {
            try
            {
                NameClass = "WinFinShell" + par.NameCell;

                //参数赋值
                g_ParAlgorithm    = par;
                g_ParFinShell     = par;
                g_ParFinShell_Old = (ParFinShell)par.Clone();
                //权限设置
                g_AuthorityCtr_L = par.g_AuthorityCtr_L;

                g_HtResult      = htResult;   //结果
                g_CellData_L    = cellData_L; //数据单元
                g_CellExecute_L = cellExe_L;  //可执行单元

                //参数初始化
                uCFinShell.Init(par, cellExe_L, cellHObject_L);

                //相机控制类
                g_BaseUCDisplayCamera = baseUCCamera;

                //图像预处理
                uCPreProcess.Init(baseUCCamera, par.g_ParPreprocess, cellExe_L, par.IndexCell);

                //设定ROI
                uCSetROI.Init(baseUCCamera, par, cellHObject_L, cellData_L, htResult);

                //设置输入输出
                uCSetInput.Init(par.g_ParInput, cellHObject_L);
                uCOutputImageProcess.Init(par.g_ParOutput, null, cellExe_L, cellData_L, htResult);

                //基准值和结果
                baseUCStandard.Init((ParStdStraightLine)par.g_ParStd, ResultToStd, ShowStdImage);

                //设置其他
                uCSetOthers.Init(par, cellHObject_L);

                //测试运行
                uCTestRun.Init(baseUCCamera, par, cellExe_L, cellHObject_L, htResult, uCResultStraightLine);

                //显示参数
                ShowPar_Invoke();
            }
            catch (Exception ex)
            {
                Log.L_I.WriteError(NameClass, ex);
            }
        }
Exemple #4
0
 /// <summary>
 /// 初始化为Halcon窗体
 /// </summary>
 /// <param name="uICameraBase">halcon窗体界面</param>
 /// <param name="uCResult"></param>
 /// <param name="uCAlarm"></param>
 /// <param name="uCStateWork"></param>
 public virtual void Init(BaseUCDisplayCamera baseUCDisplayCamera, Hashtable htUCDisplay, UCResult uCResult, UCAlarm uCAlarm, UCStateWork uCStateWork)
 {
     try
     {
         g_UCDisplayCamera = baseUCDisplayCamera;
         g_HtUCDisplay     = htUCDisplay;
         g_UCResult        = uCResult;
         g_UCAlarm         = uCAlarm;
         g_UCStateWork     = uCStateWork;
     }
     catch (Exception ex)
     {
         Log.L_I.WriteError(NameClass, ex);
     }
 }
Exemple #5
0
 void ShowResult_Sample(ResultInspection result, BaseUCDisplayCamera baseUCDisplayCamera)
 {
     try
     {
         baseUCDisplayCamera.ClearShapeHalWin();
         baseUCDisplayCamera.LoadLocalImage(result.ImagePath);
         if (result.ImagePath != null && System.IO.File.Exists(result.ImagePath))
         {
             List <double[]> list = CreatRect1(result);
             foreach (double[] value in list)
             {
                 baseUCDisplayCamera.DispRectangle1(value, 1, "red", "margin");
             }
         }
     }
     catch (Exception ex)
     {
         Log.L_I.WriteError(NameClass, ex);
     }
 }
Exemple #6
0
        /// <summary>
        /// 初始化为Halcon窗体
        /// </summary>
        /// <param name="uICameraBase">halcon窗体界面</param>
        /// <param name="uCResult"></param>
        /// <param name="uCAlarm"></param>
        /// <param name="uCStateWork"></param>
        public virtual void Init(BaseUCDisplayCamera baseUCDisplayCamera, Hashtable htUCDisplay, UCResult uCResult, UCAlarm uCAlarm, UCStateWork uCStateWork)
        {
            try
            {
                g_UCDisplayCamera = baseUCDisplayCamera;
                g_HtUCDisplay     = htUCDisplay;
                g_UCResult        = uCResult;
                g_UCAlarm         = uCAlarm;
                g_UCStateWork     = uCStateWork;

                if (ParCameraWork.NumCamera >= g_NoCamera)
                {
                    Task.Factory.StartNew(CycPhoto, TaskCreationOptions.LongRunning);
                    Task.Factory.StartNew(DealQueue, TaskCreationOptions.LongRunning);
                }

                LoginEvent();
            }
            catch (Exception ex)
            {
                Log.L_I.WriteError(NameClass, ex);
            }
        }
        /// <summary>
        /// 初始化参数
        /// </summary>
        public override string Init(BaseParImageProcess par, BaseUCDisplayCamera baseUCCamera, List <CellReference> cellExe_L, List <CellHObjectReference> cellHObject_L, List <CellReference> cellData_L, Hashtable htResult, Hashtable htCellRef_Mult, Hashtable htResult_MultC)
        {
            string nameWin = "";

            try
            {
                #region 窗体名称
                if (g_ParAlgorithm != null)
                {
                    nameWin = g_ParAlgorithm.NoCamera.ToString() + g_ParAlgorithm.NameCell;
                }
                #endregion 窗体名称

                #region 赋值
                NameClass = "WinLinesDotsPosNegInspect" + par.NameCell;

                //参数赋值
                g_ParAlgorithm = par;
                g_ParLinesDotsPosNegInspect = (ParLinesDotsPosNegInspect)par;
                g_ParAlgorithm_Old          = (ParLinesDotsPosNegInspect)par.Clone();
                //权限设置
                g_AuthorityCtr_L = par.g_AuthorityCtr_L;

                g_HtResult      = htResult;      //结果
                g_CellData_L    = cellData_L;    //数据单元
                g_CellExecute_L = cellExe_L;     //可执行单元
                g_CellHObject_L = cellHObject_L; //可执行图像单元
                #endregion 赋值

                //参数初始化
                uCLinesDotsPosNegInspect.Init((ParLinesDotsPosNegInspect)par, cellExe_L, cellHObject_L, htCellRef_Mult, htResult_MultC);

                //相机控制类
                g_BaseUCDisplayCamera = baseUCCamera;

                //图像预处理
                uCPreProcess.Init(baseUCCamera, ((ParLinesDotsPosNegInspect)par).g_ParPreprocess, cellExe_L, par.IndexCell);

                //设定ROI
                uCSetROI.Init(baseUCCamera, (ParLinesDotsPosNegInspect)par, cellHObject_L, cellData_L, htResult);

                //设置输入输出
                uCSetInput.Init(par.g_ParInput, cellHObject_L);
                //uCOutputImageProcess.Init(par.g_ParOutput, par.g_BaseResult, cellExe_L, cellData_L, htResult);

                //基准值和结果
                baseUCStandard.Init((ParStdStraightLine)((ParLinesDotsPosNegInspect)par).g_ParStd, ResultToStd, ShowStdImage);

                //设置其他
                //uCSetOthers.Init(par, cellHObject_L);

                //测试运行
                uCTestRun.Init(baseUCCamera, par, cellExe_L, cellHObject_L, htResult, uCResult);

                //显示参数
                ShowPar_Invoke();
            }
            catch (Exception ex)
            {
                Log.L_I.WriteError(NameClass, ex);
            }
            return(nameWin);
        }
Exemple #8
0
        protected void Init_TrrigerDealResult(BaseDealComprehensiveResult[] baseDealComprehensiveResults)
        {
            Hashtable g_HtUCDisplayImage = new Hashtable();

            try
            {
                DealComprehensiveResult1 = baseDealComprehensiveResults[0];
                DealComprehensiveResult2 = baseDealComprehensiveResults[1];
                DealComprehensiveResult3 = baseDealComprehensiveResults[2];
                DealComprehensiveResult4 = baseDealComprehensiveResults[3];
                DealComprehensiveResult5 = baseDealComprehensiveResults[4];
                DealComprehensiveResult6 = baseDealComprehensiveResults[5];
                DealComprehensiveResult7 = baseDealComprehensiveResults[6];
                DealComprehensiveResult8 = baseDealComprehensiveResults[7];


                //按照窗体顺序
                for (int i = 0; i < ParSetDisplay.P_I.NumWinDisplayImage; i++)
                {
                    BaseParSetDisplay baseParSetDisplay = ParSetDisplay.P_I[i];

                    if (baseParSetDisplay.TypeDisplayImage.Contains("Image") &&
                        !g_HtUCDisplayImage.Contains(baseParSetDisplay.TypeDisplayImage))
                    {
                        g_HtUCDisplayImage.Add(baseParSetDisplay.TypeDisplayImage, g_BaseUCDisplaySum.g_BaseUCDisplayCameras[i]);
                    }
                    else//相机显示窗体只包含一个
                    {
                        switch (baseParSetDisplay.TypeDisplayImage_e)
                        {
                        case TypeDisplayImage_enum.Camera1:
                            g_UCDisplayCamera1 = (BaseUCDisplayCamera)g_BaseUCDisplaySum.g_BaseUCDisplayCameras[i];
                            break;

                        case TypeDisplayImage_enum.Camera2:
                            g_UCDisplayCamera2 = (BaseUCDisplayCamera)g_BaseUCDisplaySum.g_BaseUCDisplayCameras[i];
                            break;

                        case TypeDisplayImage_enum.Camera3:
                            g_UCDisplayCamera3 = (BaseUCDisplayCamera)g_BaseUCDisplaySum.g_BaseUCDisplayCameras[i];
                            break;

                        case TypeDisplayImage_enum.Camera4:
                            g_UCDisplayCamera4 = (BaseUCDisplayCamera)g_BaseUCDisplaySum.g_BaseUCDisplayCameras[i];
                            break;

                        case TypeDisplayImage_enum.Camera5:
                            g_UCDisplayCamera5 = (BaseUCDisplayCamera)g_BaseUCDisplaySum.g_BaseUCDisplayCameras[i];
                            break;

                        case TypeDisplayImage_enum.Camera6:
                            g_UCDisplayCamera6 = (BaseUCDisplayCamera)g_BaseUCDisplaySum.g_BaseUCDisplayCameras[i];
                            break;

                        case TypeDisplayImage_enum.Camera7:
                            g_UCDisplayCamera7 = (BaseUCDisplayCamera)g_BaseUCDisplaySum.g_BaseUCDisplayCameras[i];
                            break;

                        case TypeDisplayImage_enum.Camera8:
                            g_UCDisplayCamera8 = (BaseUCDisplayCamera)g_BaseUCDisplaySum.g_BaseUCDisplayCameras[i];
                            break;
                        }
                    }
                }
                DealComprehensiveResult1.Init(g_UCDisplayCamera1, g_HtUCDisplayImage, g_UCDisplayMainResult, g_UCAlarm, g_UCStateWork, ShowStateMachine);
                DealComprehensiveResult2.Init(g_UCDisplayCamera2, g_HtUCDisplayImage, g_UCDisplayMainResult, g_UCAlarm, g_UCStateWork, ShowStateMachine);
                DealComprehensiveResult3.Init(g_UCDisplayCamera3, g_HtUCDisplayImage, g_UCDisplayMainResult, g_UCAlarm, g_UCStateWork, ShowStateMachine);
                DealComprehensiveResult4.Init(g_UCDisplayCamera4, g_HtUCDisplayImage, g_UCDisplayMainResult, g_UCAlarm, g_UCStateWork, ShowStateMachine);
                DealComprehensiveResult5.Init(g_UCDisplayCamera5, g_HtUCDisplayImage, g_UCDisplayMainResult, g_UCAlarm, g_UCStateWork, ShowStateMachine);
                DealComprehensiveResult6.Init(g_UCDisplayCamera6, g_HtUCDisplayImage, g_UCDisplayMainResult, g_UCAlarm, g_UCStateWork, ShowStateMachine);
                DealComprehensiveResult7.Init(g_UCDisplayCamera7, g_HtUCDisplayImage, g_UCDisplayMainResult, g_UCAlarm, g_UCStateWork, ShowStateMachine);
                DealComprehensiveResult8.Init(g_UCDisplayCamera8, g_HtUCDisplayImage, g_UCDisplayMainResult, g_UCAlarm, g_UCStateWork, ShowStateMachine);
            }
            catch (Exception ex)
            {
                Log.L_I.WriteError(NameClass, ex);
            }
        }
Exemple #9
0
        /// <summary>
        /// 初始化控件和参数
        /// </summary>
        void Init_TrrigerDealResult()
        {
            try
            {
                //按照窗体顺序
                for (int i = 0; i < ParSetDisplay.P_I.NumWinDisplayImage; i++)
                {
                    BaseParSetDisplay baseParSetDisplay = ParSetDisplay.P_I[i];

                    if (baseParSetDisplay.TypeDisplayImage.Contains("Image") &&
                        !g_HtUCDisplayImage.Contains(baseParSetDisplay.TypeDisplayImage))
                    {
                        g_HtUCDisplayImage.Add(baseParSetDisplay.TypeDisplayImage, g_BaseUCDisplaySum.g_BaseUCDisplayCameras[i]);
                    }
                    else//相机显示窗体只包含一个
                    {
                        switch (baseParSetDisplay.TypeDisplayImage_e)
                        {
                        case TypeDisplayImage_enum.Camera1:
                            g_UCDisplayCamera1 = (BaseUCDisplayCamera)g_BaseUCDisplaySum.g_BaseUCDisplayCameras[i];
                            break;

                        case TypeDisplayImage_enum.Camera2:
                            g_UCDisplayCamera2 = (BaseUCDisplayCamera)g_BaseUCDisplaySum.g_BaseUCDisplayCameras[i];
                            break;

                        case TypeDisplayImage_enum.Camera3:
                            g_UCDisplayCamera3 = (BaseUCDisplayCamera)g_BaseUCDisplaySum.g_BaseUCDisplayCameras[i];
                            break;

                        case TypeDisplayImage_enum.Camera4:
                            g_UCDisplayCamera4 = (BaseUCDisplayCamera)g_BaseUCDisplaySum.g_BaseUCDisplayCameras[i];
                            break;

                        case TypeDisplayImage_enum.Camera5:
                            g_UCDisplayCamera5 = (BaseUCDisplayCamera)g_BaseUCDisplaySum.g_BaseUCDisplayCameras[i];
                            break;

                        case TypeDisplayImage_enum.Camera6:
                            g_UCDisplayCamera6 = (BaseUCDisplayCamera)g_BaseUCDisplaySum.g_BaseUCDisplayCameras[i];
                            break;

                        case TypeDisplayImage_enum.Camera7:
                            g_UCDisplayCamera7 = (BaseUCDisplayCamera)g_BaseUCDisplaySum.g_BaseUCDisplayCameras[i];
                            break;

                        case TypeDisplayImage_enum.Camera8:
                            g_UCDisplayCamera8 = (BaseUCDisplayCamera)g_BaseUCDisplaySum.g_BaseUCDisplayCameras[i];
                            break;
                        }
                    }
                }

                DealComprehensiveResult1.D_I.Init(g_UCDisplayCamera1, g_HtUCDisplayImage, uCResult, uCAlarm, uCStateWork);
                DealComprehensiveResult2.D_I.Init(g_UCDisplayCamera2, g_HtUCDisplayImage, uCResult, uCAlarm, uCStateWork);
                DealComprehensiveResult3.D_I.Init(g_UCDisplayCamera3, g_HtUCDisplayImage, uCResult, uCAlarm, uCStateWork);
                DealComprehensiveResult4.D_I.Init(g_UCDisplayCamera4, g_HtUCDisplayImage, uCResult, uCAlarm, uCStateWork);
                DealComprehensiveResult5.D_I.Init(g_UCDisplayCamera5, g_HtUCDisplayImage, uCResult, uCAlarm, uCStateWork);
                DealComprehensiveResult6.D_I.Init(g_UCDisplayCamera6, g_HtUCDisplayImage, uCResult, uCAlarm, uCStateWork);
                DealComprehensiveResult7.D_I.Init(g_UCDisplayCamera7, g_HtUCDisplayImage, uCResult, uCAlarm, uCStateWork);
                DealComprehensiveResult8.D_I.Init(g_UCDisplayCamera8, g_HtUCDisplayImage, uCResult, uCAlarm, uCStateWork);
                this.Dispatcher.Invoke(new Action(delegate()
                {
                    DealComprehensiveResultTemp.D_I.InitInspControl(ucRecord, ucSingleRecord, ucResultInsp, ucSingleResult);
                }));
            }
            catch (Exception ex)
            {
                Log.L_I.WriteError("MainWindow", ex);
            }
        }