void ShowWinError(string str) { try { ShowAlarm(str); WinError.GetWinInst().ShowError(str); } catch (Exception ex) { } }
void InitMotionCtler() { if (!ParMotionCtrler.P_I.IsEnable) { return; } //包括初始化IO模块 LogicMotionCtler.L_I.InitModule(); DmcResult result = LogicMotionCtler.L_I.Dmc_card_init(); //板卡初始化之后初始化实deng例 InitLight(); InitAirCylider(); if (result.resultType == ResultType.OK) { ParMotionCtrler.P_I.IsInitialized = true; if (WinMsgBox.ShowMsgBox("开始按照既定的顺序\n执行回零?")) { this.Dispatcher.Invoke(new Action(() => { this.gdRoot.Children.Add(uiShield); })); ShowState("打开气缸,等待气缸到达限位"); g_AirCyliderUpDown.OnAirCylinder(4000); ShowState("气缸已打开,开始回零"); LogicMotionCtler.L_I.Home(); this.Dispatcher.Invoke(new Action(() => { this.gdRoot.Children.Remove(uiShield); })); ShowState("回零动作结束,已回到初始位!"); } else { ShowState("已拒绝回零!"); } } else { WinError.GetWinInst().ShowError("控制卡初始化失败!\n" + result.resultInfo); }; }
/// <summary> /// 判断算法处理结果的正确性 /// </summary> /// <param name="result"></param> /// <returns></returns> protected bool DealTypeResult(BaseResult result) { try { //如果为错误 if (result.LevelError_e == LevelError_enum.Error) { string level = result.LevelError_e.ToString(); string type = result.TypeErrorProcess_e.ToString(); string annotation = result.Annotation; string info = string.Format("{0},类型:{1};{2}", level, type, annotation); switch (result.TypeErrorProcess_e) { case TypeErrorProcess_enum.OutMemory: WinError.GetWinInst().ShowError(info + ",请重新启动软件!"); break; case TypeErrorProcess_enum.CameraImageError: WinError.GetWinInst().ShowError(info + ",请重新启动软件,检测相机连接!"); break; default: g_UCAlarm.AddInfo(info); break; } return(false); } return(true); } catch (Exception ex) { Log.L_I.WriteError(NameClass, ex); return(false); } }
/// <summary> /// 读取标准收片机配置 /// </summary> public void ReadConfig() { IsArrange = IniFile.I_I.ReadIniBl(SectionIni, "IsArrange", PathParSTDArrange); if (!IsArrange) { return; } string content = ""; string error = ""; try { content = IniFile.I_I.ReadIniStr(SectionIni, "TypePreci_E", PathParSTDArrange); TypePreci_E = (TypePreciLight_Enum)Enum.Parse(typeof(TypePreciLight_Enum), content); } catch (Exception ex) { error += "TypePreci_E "; Log.L_I.WriteError("ParSTDArrange.ReadConfig", ex); } try { content = IniFile.I_I.ReadIniStr(SectionIni, "TypeRobotCoor_E", PathParSTDArrange); TypeRobotCoor_E = (TypeRobotCoor_Enum)Enum.Parse(typeof(TypeRobotCoor_Enum), content); } catch (Exception ex) { error += "TypeRobotCoor_E "; Log.L_I.WriteError("ParSTDArrange.ReadConfig", ex); } try { content = IniFile.I_I.ReadIniStr(SectionIni, "TypePlatWork_E", PathParSTDArrange); TypePlatWork_E = (TypePlatWork_Enum)Enum.Parse(typeof(TypePlatWork_Enum), content); } catch (Exception ex) { error += "TypePlatWork_E "; Log.L_I.WriteError("ParSTDArrange.ReadConfig", ex); } try { content = IniFile.I_I.ReadIniStr(SectionIni, "ITOPlatSTDCorner_E", PathParSTDArrange); ITOPlatSTDCorner_E = (ITOPlatCorner_Enum)Enum.Parse(typeof(ITOPlatCorner_Enum), content); } catch (Exception ex) { error += "ITOPlatSTDCorner_E "; Log.L_I.WriteError("ParSTDArrange.ReadConfig", ex); } try { content = IniFile.I_I.ReadIniStr(SectionIni, "FunCam1_E", PathParSTDArrange); FunCam1_E = (FunCam_Enum)Enum.Parse(typeof(FunCam_Enum), content); } catch (Exception ex) { error += "FunCam1_E "; Log.L_I.WriteError("ParSTDArrange.ReadConfig", ex); } try { content = IniFile.I_I.ReadIniStr(SectionIni, "FunCam2_E", PathParSTDArrange); FunCam2_E = (FunCam_Enum)Enum.Parse(typeof(FunCam_Enum), content); } catch (Exception ex) { error += "FunCam2_E "; Log.L_I.WriteError("ParSTDArrange.ReadConfig", ex); } try { content = IniFile.I_I.ReadIniStr(SectionIni, "FunCam3_E", PathParSTDArrange); FunCam3_E = (FunCam_Enum)Enum.Parse(typeof(FunCam_Enum), content); } catch (Exception ex) { error += "FunCam3_E "; Log.L_I.WriteError("ParSTDArrange.ReadConfig", ex); } try { content = IniFile.I_I.ReadIniStr(SectionIni, "FunCam4_E", PathParSTDArrange); FunCam4_E = (FunCam_Enum)Enum.Parse(typeof(FunCam_Enum), content); } catch (Exception ex) { error += "FunCam4_E "; Log.L_I.WriteError("ParSTDArrange.ReadConfig", ex); } try { content = IniFile.I_I.ReadIniStr(SectionIni, "FunCam5_E", PathParSTDArrange); FunCam5_E = (FunCam_Enum)Enum.Parse(typeof(FunCam_Enum), content); } catch (Exception ex) { error += "FunCam5_E "; Log.L_I.WriteError("ParSTDArrange.ReadConfig", ex); } try { content = IniFile.I_I.ReadIniStr(SectionIni, "FunCam6_E", PathParSTDArrange); FunCam6_E = (FunCam_Enum)Enum.Parse(typeof(FunCam_Enum), content); } catch (Exception ex) { error += "FunCam6_E "; Log.L_I.WriteError("ParSTDArrange.ReadConfig", ex); } //error = ""; if (error != "") { WinError.GetWinInst().ShowError("收片机配置及参数初始化失败:\n" + error); } }
/// <summary> /// 打开相机 /// </summary> void OpenCamera() { try { ParCamera1.P_I.ReadIni();//相机参数 Camera1.C_I.Init(ParCamera1.P_I); if (Camera1.C_I.OpenCamera()) { ParCamera1.P_I.BlOpenCamera = true; } Thread.Sleep(50); if (ParCameraWork.NumCamera < 2) { return; } ParCamera2.P_I.ReadIni();//相机参数 Camera2.C_I.Init(ParCamera2.P_I); if (Camera2.C_I.OpenCamera()) { ParCamera2.P_I.BlOpenCamera = true; } Thread.Sleep(50); if (ParCameraWork.NumCamera < 3) { return; } ParCamera3.P_I.ReadIni();//相机参数 Camera3.C_I.Init(ParCamera3.P_I); if (Camera3.C_I.OpenCamera()) { ParCamera3.P_I.BlOpenCamera = true; } Thread.Sleep(50); if (ParCameraWork.NumCamera < 4) { return; } ParCamera4.P_I.ReadIni();//相机参数 Camera4.C_I.Init(ParCamera4.P_I); if (Camera4.C_I.OpenCamera()) { ParCamera4.P_I.BlOpenCamera = true; } Thread.Sleep(50); if (ParCameraWork.NumCamera < 5) { return; } ParCamera5.P_I.ReadIni();//相机参数 Camera5.C_I.Init(ParCamera5.P_I); if (Camera5.C_I.OpenCamera()) { ParCamera5.P_I.BlOpenCamera = true; } Thread.Sleep(50); if (ParCameraWork.NumCamera < 6) { return; } ParCamera6.P_I.ReadIni();//相机参数 Camera6.C_I.Init(ParCamera6.P_I); if (Camera6.C_I.OpenCamera()) { ParCamera6.P_I.BlOpenCamera = true; } Thread.Sleep(50); if (ParCameraWork.NumCamera < 7) { return; } ParCamera7.P_I.ReadIni();//相机参数 Camera7.C_I.Init(ParCamera7.P_I); if (Camera7.C_I.OpenCamera()) { ParCamera7.P_I.BlOpenCamera = true; } Thread.Sleep(50); if (ParCameraWork.NumCamera < 8) { return; } ParCamera8.P_I.ReadIni();//相机参数 Camera8.C_I.Init(ParCamera8.P_I); if (Camera8.C_I.OpenCamera()) { ParCamera8.P_I.BlOpenCamera = true; } Thread.Sleep(50); } catch (Exception ex) { this.Dispatcher.Invoke(new Action(() => { WinError.GetWinInst().ShowError("相机加载报错:" + ex.Message); })); } finally { if (RegeditCamera.R_I.BlOffLineCamera) { ParCamera1.P_I.BlOpenCamera = true; ParCamera2.P_I.BlOpenCamera = true; ParCamera3.P_I.BlOpenCamera = true; ParCamera4.P_I.BlOpenCamera = true; ParCamera5.P_I.BlOpenCamera = true; ParCamera6.P_I.BlOpenCamera = true; ParCamera7.P_I.BlOpenCamera = true; ParCamera8.P_I.BlOpenCamera = true; } g_BlFinishCamera = true; FinishInit(); } }
public void ReadIni(int index) { try { ThShellX = IniFile.I_I.ReadIniDbl(NameCam, "ThShellX_" + index, 0.12, BasePathIni); ThShellY = IniFile.I_I.ReadIniDbl(NameCam, "ThShellY_" + index, 3, BasePathIni); ThCornerX = IniFile.I_I.ReadIniDbl(NameCam, "ThCornerX_" + index, 0.5, BasePathIni); ThCornerY = IniFile.I_I.ReadIniDbl(NameCam, "ThCornerY_" + index, 0.5, BasePathIni); ThPreiectionX = IniFile.I_I.ReadIniDbl(NameCam, "ThPreiectionX_" + index, 0.5, BasePathIni); ThPreiectionY = IniFile.I_I.ReadIniDbl(NameCam, "ThPreiectionY_" + index, 0.5, BasePathIni); ThConvexX = IniFile.I_I.ReadIniDbl(NameCam, "ThConvexX_" + index, 0.5, BasePathIni); ThConvexY = IniFile.I_I.ReadIniDbl(NameCam, "ThConvexY_" + index, 0.5, BasePathIni); ThCrackX = IniFile.I_I.ReadIniDbl(NameCam, "ThCrackX_" + index, 0.5, BasePathIni); ThCrackY = IniFile.I_I.ReadIniDbl(NameCam, "ThCrackY_" + index, 0.5, BasePathIni); ThresholdGlass = IniFile.I_I.ReadIniInt(NameCam, "ThresholdGlass_" + index, 35, BasePathIni); ThresholdEdge = IniFile.I_I.ReadIniInt(NameCam, "ThresholdEdge_" + index, 40, BasePathIni); SmoothWidth = IniFile.I_I.ReadIniDbl(NameCam, "SmoothWidth_" + index, 5, BasePathIni); SmoothHeight = IniFile.I_I.ReadIniDbl(NameCam, "SmoothHeight_" + index, 5, BasePathIni); DblOutRate = IniFile.I_I.ReadIniDbl(NameCam, "DblOutRate_" + index, 5, BasePathIni); ThITO = IniFile.I_I.ReadIniInt(NameCam, "ThITO_" + index, 225, BasePathIni); Amp = IniFile.I_I.ReadIniDbl(NameCam, "Amp_" + index, 0.005, BasePathIni); ThRectangleularity = IniFile.I_I.ReadIniDbl(NameCam, "ThRectangleularity_" + index, 0.9, BasePathIni); BlIgnoreThisSideFault = IniFile.I_I.ReadIniBl(NameCam, "BlIgnoreThisSideFault_" + index, BasePathIni); BlInspCF = IniFile.I_I.ReadIniBl(NameCam, "BlInspCF_" + index, BasePathIni); UsingORToCorner = IniFile.I_I.ReadIniBl(NameCam, "UsingORToCorner_" + index, BasePathIni); IsCrackEnabled = IniFile.I_I.ReadIniBl(NameCam, "IsCrackEnabled_" + index, BasePathIni); StrSidesMatch = IniFile.I_I.ReadIniStr(NameCam, "StrSidesMatch_" + index, BasePathIni); IntNumDefCornerWhenStart = IniFile.I_I.ReadIniInt(NameCam, "IntNumDefCornerWhenStart_" + index, 5, BasePathIni); IntNumDefCornerWhenEnd = IniFile.I_I.ReadIniInt(NameCam, "IntNumDefCornerWhenEnd_" + index, 5, BasePathIni); JudgeMentMark = IniFile.I_I.ReadIniBl(NameCam, "JudgeMentMark_" + index, BasePathIni); SplStartIndex1 = IniFile.I_I.ReadIniInt(NameCam, "SplStartIndex1_" + index, BasePathIni); SplEndIndex1 = IniFile.I_I.ReadIniInt(NameCam, "SplEndIndex1_" + index, BasePathIni); SplStartIndex2 = IniFile.I_I.ReadIniInt(NameCam, "SplStartIndex2_" + index, BasePathIni); SplEndIndex2 = IniFile.I_I.ReadIniInt(NameCam, "SplEndIndex2_" + index, BasePathIni); SplStartIndex3 = IniFile.I_I.ReadIniInt(NameCam, "SplStartIndex3_" + index, BasePathIni); SplEndIndex3 = IniFile.I_I.ReadIniInt(NameCam, "SplEndIndex3_" + index, BasePathIni); SplStartIndex4 = IniFile.I_I.ReadIniInt(NameCam, "SplStartIndex4_" + index, BasePathIni); SplEndIndex4 = IniFile.I_I.ReadIniInt(NameCam, "SplEndIndex4_" + index, BasePathIni); SplStartIndex5 = IniFile.I_I.ReadIniInt(NameCam, "SplStartIndex5_" + index, BasePathIni); SplEndIndex5 = IniFile.I_I.ReadIniInt(NameCam, "SplEndIndex5_" + index, BasePathIni); SplStartIndex6 = IniFile.I_I.ReadIniInt(NameCam, "SplStartIndex6_" + index, BasePathIni); SplEndIndex6 = IniFile.I_I.ReadIniInt(NameCam, "SplEndIndex6_" + index, BasePathIni); SplStartIndex7 = IniFile.I_I.ReadIniInt(NameCam, "SplStartIndex7_" + index, BasePathIni); SplEndIndex7 = IniFile.I_I.ReadIniInt(NameCam, "SplEndIndex7_" + index, BasePathIni); SplStartIndex8 = IniFile.I_I.ReadIniInt(NameCam, "SplStartIndex8_" + index, BasePathIni); SplEndIndex8 = IniFile.I_I.ReadIniInt(NameCam, "SplEndIndex8_" + index, BasePathIni); SplStartIndex9 = IniFile.I_I.ReadIniInt(NameCam, "SplStartIndex9_" + index, BasePathIni); SplEndIndex9 = IniFile.I_I.ReadIniInt(NameCam, "SplEndIndex9_" + index, BasePathIni); SplThShellY1 = IniFile.I_I.ReadIniDbl(NameCam, "SplThShellY1_" + index, BasePathIni); SplThShellX1 = IniFile.I_I.ReadIniDbl(NameCam, "SplThShellX1_" + index, BasePathIni); SplThShellY2 = IniFile.I_I.ReadIniDbl(NameCam, "SplThShellY2_" + index, BasePathIni); SplThShellX2 = IniFile.I_I.ReadIniDbl(NameCam, "SplThShellX2_" + index, BasePathIni); SplThShellY3 = IniFile.I_I.ReadIniDbl(NameCam, "SplThShellY3_" + index, BasePathIni); SplThShellX3 = IniFile.I_I.ReadIniDbl(NameCam, "SplThShellX3_" + index, BasePathIni); SplThShellY4 = IniFile.I_I.ReadIniDbl(NameCam, "SplThShellY4_" + index, BasePathIni); SplThShellX4 = IniFile.I_I.ReadIniDbl(NameCam, "SplThShellX4_" + index, BasePathIni); SplThShellY5 = IniFile.I_I.ReadIniDbl(NameCam, "SplThShellY5_" + index, BasePathIni); SplThShellX5 = IniFile.I_I.ReadIniDbl(NameCam, "SplThShellX5_" + index, BasePathIni); SplThShellY6 = IniFile.I_I.ReadIniDbl(NameCam, "SplThShellY6_" + index, BasePathIni); SplThShellX6 = IniFile.I_I.ReadIniDbl(NameCam, "SplThShellX6_" + index, BasePathIni); SplThShellY7 = IniFile.I_I.ReadIniDbl(NameCam, "SplThShellY7_" + index, BasePathIni); SplThShellX7 = IniFile.I_I.ReadIniDbl(NameCam, "SplThShellX7_" + index, BasePathIni); SplThShellY8 = IniFile.I_I.ReadIniDbl(NameCam, "SplThShellY8_" + index, BasePathIni); SplThShellX8 = IniFile.I_I.ReadIniDbl(NameCam, "SplThShellX8_" + index, BasePathIni); SplThShellY9 = IniFile.I_I.ReadIniDbl(NameCam, "SplThShellY9_" + index, BasePathIni); SplThShellX9 = IniFile.I_I.ReadIniDbl(NameCam, "SplThShellX9_" + index, BasePathIni); SplThPerY1 = IniFile.I_I.ReadIniDbl(NameCam, "SplThPerY1_" + index, BasePathIni); SplThPerY2 = IniFile.I_I.ReadIniDbl(NameCam, "SplThPerY2_" + index, BasePathIni); SplThPerY3 = IniFile.I_I.ReadIniDbl(NameCam, "SplThPerY3_" + index, BasePathIni); SplThPerY4 = IniFile.I_I.ReadIniDbl(NameCam, "SplThPerY4_" + index, BasePathIni); SplThPerY5 = IniFile.I_I.ReadIniDbl(NameCam, "SplThPerY5_" + index, BasePathIni); SplThPerY6 = IniFile.I_I.ReadIniDbl(NameCam, "SplThPerY6_" + index, BasePathIni); SplThPerY7 = IniFile.I_I.ReadIniDbl(NameCam, "SplThPerY7_" + index, BasePathIni); SplThPerY8 = IniFile.I_I.ReadIniDbl(NameCam, "SplThPerY8_" + index, BasePathIni); SplThPerY9 = IniFile.I_I.ReadIniDbl(NameCam, "SplThPerY9_" + index, BasePathIni); } catch (Exception ex) { WinError.GetWinInst().ShowError("参数读取获取失败!"); } }