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); } }
/// <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); } }
/// <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); } }
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); } }
/// <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); }
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); } }
/// <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); } }