private void BZ_Btn_Click(object sender, EventArgs e) { BoTech.Button BtnClicked = sender as BoTech.Button; if (BtnClicked.Name == "Btn_Home") { PageLogin.loginTp = loginType.Op; } if (BtnClicked.Name == "Btn_ParSetting") { //do sth if (PageLogin.loginTp == loginType.Op || PageLogin.loginTp == loginType.None) { return; } } foreach (KeyValuePair <BoTech.Button, Control> kvp in pageMap) { if (kvp.Key.Name == BtnClicked.Name) { this.pageContainer.Controls.Clear(); this.pageContainer.Controls.Add(pageMap[kvp.Key]); pageMap[kvp.Key].Dock = DockStyle.Fill;//wl } } }
public void Update_DataChart(BoTech.Button sender, double Target, double IntercalY, double SelectionStartY, double SelectionEndY, double[] DataSoures) { //初始化图表显示 Chart_CheckData.Titles.Clear(); Chart_CheckData.Series.Clear(); Chart_CheckData.ChartAreas.Clear(); Chart_CheckData.ChartAreas.Add("CheckData"); System.Windows.Forms.DataVisualization.Charting.ChartArea with_2 = Chart_CheckData.ChartAreas["CheckData"]; //作图区的显示属性设置 with_2.BackColor = Color.White; with_2.AxisX.IsMarginVisible = false; with_2.Area3DStyle.Enable3D = false; with_2.AxisX.LineColor = Color.Black; with_2.AxisY.LineColor = Color.Black; with_2.AxisX.LineWidth = 1; with_2.AxisY.LineWidth = 1; with_2.AxisX.Title = ""; with_2.AxisY.Title = ""; with_2.AxisX.MajorGrid.LineColor = Color.LightGray; with_2.AxisY.MajorGrid.LineColor = Color.LightGray; with_2.AxisX.MajorGrid.LineDashStyle = ChartDashStyle.Solid; with_2.AxisY.MajorGrid.LineDashStyle = ChartDashStyle.Solid; with_2.AxisX.MajorTickMark.Interval = 5; with_2.AxisX.IsLabelAutoFit = false; with_2.AxisX.Interval = 5; with_2.AxisX.MajorGrid.Interval = 1; with_2.AxisY.Interval = IntercalY; with_2.AxisY.MajorGrid.Interval = IntercalY; with_2.AxisY.Maximum = SelectionEndY; with_2.AxisY.Minimum = SelectionStartY; with_2.AxisX.Maximum = 50; //USL + 0.1 with_2.AxisX.Minimum = 0; // LSL - 0.1 Chart_CheckData.Series.Add("Data_" + sender.Text); System.Windows.Forms.DataVisualization.Charting.Series with_3 = Chart_CheckData.Series["Data_" + sender.Text]; //点颜色 with_3.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line; with_3.Color = Color.Blue; with_3.IsVisibleInLegend = false; with_3.IsValueShownAsLabel = false; for (int i = 0; i <= 50; i++) { with_3.Points.AddXY(i, DataSoures[50 - i]); with_3.Points[i].MarkerStyle = MarkerStyle.Diamond; with_3.Points[i].MarkerColor = Color.Gold; } Chart_CheckData.Series.Add("Target"); System.Windows.Forms.DataVisualization.Charting.Series with_4 = Chart_CheckData.Series["Target"]; with_4.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Spline; with_4.Color = Color.Red; with_4.IsVisibleInLegend = false; with_4.IsValueShownAsLabel = false; for (int i = 0; i <= 50; i++) { with_4.Points.AddXY(i, Target); } //Chart_CheckData.Update(); }
public void BTN_X_Click(object sender, EventArgs e) { BoTech.Button btn = sender as BoTech.Button; double target = 0; double IntercalY = 0; double IntercalStartY = 0; double IntercalEndY = 0; double[] DataSoures = new double[50]; try { if (btn.Name == "BTN_X") { BTN_X.BZ_BackColor = PVar.BZColor_SelectedBtn; BTN_Y.BZ_BackColor = Color.LightGray; BTN_CC.BZ_BackColor = Color.LightGray; BTN_A.BZ_BackColor = Color.LightGray; DataSoures = PVar.tmpCpkData.X; IntercalY = 0.02; IntercalStartY = -0.1; IntercalEndY = 0.1; } else if (btn.Name == "BTN_Y") { BTN_X.BZ_BackColor = Color.LightGray; BTN_Y.BZ_BackColor = PVar.BZColor_SelectedBtn; BTN_CC.BZ_BackColor = Color.LightGray; BTN_A.BZ_BackColor = Color.LightGray; DataSoures = PVar.tmpCpkData.Y; IntercalY = 0.02; IntercalStartY = -0.1; IntercalEndY = 0.1; } else if (btn.Name == "BTN_CC") { BTN_X.BZ_BackColor = Color.LightGray; BTN_Y.BZ_BackColor = Color.LightGray; BTN_CC.BZ_BackColor = PVar.BZColor_SelectedBtn; BTN_A.BZ_BackColor = Color.LightGray; DataSoures = PVar.tmpCpkData.CC; IntercalY = 0.02; IntercalStartY = -0.1; IntercalEndY = 0.1; } else if (btn.Name == "BTN_A") { BTN_X.BZ_BackColor = Color.LightGray; BTN_Y.BZ_BackColor = Color.LightGray; BTN_CC.BZ_BackColor = Color.LightGray; BTN_A.BZ_BackColor = PVar.BZColor_SelectedBtn; DataSoures = PVar.tmpCpkData.A; IntercalY = 0.4; IntercalStartY = -2; IntercalEndY = 2; } target = 0; Update_DataChart(btn, target, IntercalY, IntercalStartY, IntercalEndY, DataSoures); } catch (Exception) { MessageBox.Show("计算出错!"); } }
public void Cpk_X_Click(object sender, EventArgs e) //public void Cpk_X_Click(dynamic sender, EventArgs e) { BoTech.Button btn = sender as BoTech.Button; double GetLimitDi_Z = 0; double GetLimitDi_F = 0; try { if (btn.Name == "Cpk_X") { GetLimitDi_Z = 0.05; GetLimitDi_F = -0.05; Cpk_X.BZ_BackColor = PVar.BZColor_SelectedBtn; Cpk_Y.BZ_BackColor = Color.LightGray; Cpk_CC.BZ_BackColor = Color.LightGray; Cpk_A.BZ_BackColor = Color.LightGray; for (int i = 0; i <= 31; i++) { defaultData[i] = PVar.tmpCpkData.X[i]; } } else if (btn.Name == "Cpk_Y") { GetLimitDi_Z = 0.05; GetLimitDi_F = -0.05; Cpk_X.BZ_BackColor = Color.LightGray; Cpk_Y.BZ_BackColor = PVar.BZColor_SelectedBtn; Cpk_CC.BZ_BackColor = Color.LightGray; Cpk_A.BZ_BackColor = Color.LightGray; for (int i = 0; i <= 31; i++) { defaultData[i] = PVar.tmpCpkData.Y[i]; } } else if (btn.Name == "Cpk_CC") { GetLimitDi_Z = 0.05; GetLimitDi_F = 0; Cpk_X.BZ_BackColor = Color.LightGray; Cpk_Y.BZ_BackColor = Color.LightGray; Cpk_CC.BZ_BackColor = PVar.BZColor_SelectedBtn; Cpk_A.BZ_BackColor = Color.LightGray; for (int i = 0; i <= 31; i++) { defaultData[i] = PVar.tmpCpkData.CC[i]; } } else if (btn.Name == "Cpk_A") { GetLimitDi_Z = 1; GetLimitDi_F = -1; Cpk_X.BZ_BackColor = Color.LightGray; Cpk_Y.BZ_BackColor = Color.LightGray; Cpk_CC.BZ_BackColor = Color.LightGray; Cpk_A.BZ_BackColor = PVar.BZColor_SelectedBtn; for (int i = 0; i <= 31; i++) { defaultData[i] = PVar.tmpCpkData.A[i]; } } CalNormDistClass cal = new CalNormDistClass(defaultData, GetLimitDi_Z, GetLimitDi_F); if (cal.CalGaussianDist(ref gaussiData_X, ref gaussiData_Y) == false) { MessageBox.Show("高斯分布值计算出错!"); } if (cal.CalDensityDist(ref densityData_X, ref densityData_Y) == false) { MessageBox.Show("密度分布值计算出错!"); } if (drawLineChart(Chart1, System.Convert.ToString(btn.Name), gaussiData_X, gaussiData_Y, densityData_X, densityData_Y, "Normal Dist", "Density", GetLimitDi_Z, GetLimitDi_F) == false) { MessageBox.Show("CPK曲线显示出错!"); } CalculateSigma(defaultData);//标准偏差 CPKdata.Ca = Math.Abs((defaultData.Average() - ((GetLimitDi_Z + GetLimitDi_F) / 2)) / (GetLimitDi_Z - GetLimitDi_F) * 2); CPKdata.Cpu = double.Parse(Strings.Format((GetLimitDi_Z - defaultData.Average()) / (3 * stdDev), "0.000")); CPKdata.Cpl = (defaultData.Average() - GetLimitDi_F) / (3 * stdDev); CPKdata.Cp = (GetLimitDi_Z - GetLimitDi_F) / (6 * stdDev); CPKdata.Cpk = double.Parse(Strings.Format((1 - CPKdata.Ca) * CPKdata.Cp, "0.000")); if (btn.Name == "Cpk_X") { Label_CPK.BZ_BigText = "Cpk: " + System.Convert.ToString(CPKdata.Cpk); } else if (btn.Name == "Cpk_Y") { Label_CPK.BZ_BigText = "Cpk: " + System.Convert.ToString(CPKdata.Cpk); } else if (btn.Name == "Cpk_CC") { Label_CPK.BZ_BigText = "Cpu: " + System.Convert.ToString(CPKdata.Cpu); } else if (btn.Name == "Cpk_A") { Label_CPK.BZ_BigText = "Cpk: " + System.Convert.ToString(CPKdata.Cpk); } Label_CPK.BZ_SmallText = "Count: " + System.Convert.ToString(defaultData.Length); } catch (Exception ex) { MessageBox.Show(ex.Message + ">>:CPK值计算出错!"); } }
//总入口 private void Btn_Production_Click(object sender, EventArgs e) { BoTech.Button btn = sender as BoTech.Button; FunctionSub.Close_Key_Process(); LoadFormAndSetBtBkColor(btn); }
private void LoadFormAndSetBtBkColor(BoTech.Button bt) { this.BackColor = Color.White; Btn_Production.BZ_BackColor = PVar.BZColor_UnselectedBtn; Btn_ParSetting.BZ_BackColor = PVar.BZColor_UnselectedBtn; Btn_CCDSetting.BZ_BackColor = PVar.BZColor_UnselectedBtn; Btn_RunInfo.BZ_BackColor = PVar.BZColor_UnselectedBtn; Btn_AlarmHistory.BZ_BackColor = PVar.BZColor_UnselectedBtn; Btn_MachineInfo.BZ_BackColor = PVar.BZColor_UnselectedBtn; Btn_OpenDataFile.BZ_BackColor = Color.White; Btn_OpenCCDFile.BZ_BackColor = Color.White; Btn_Home.BZ_BackColor = PVar.BZColor_UnselectedBtn; bt.BZ_BackColor = PVar.BZColor_SelectedBtn; switch (bt.Name) { case "Btn_Production": Frm_Engineering.fEngineering.TabControl1.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl2.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl3.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl4.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl5.SelectedIndex = 0; if (PVar.IsOpenFrmProduction == false) { PVar.IsOpenFrmProduction = true; Frm_Production.fProduction.Show(this); Frm_Production.fProduction.Visible = true; } if (bt.Name == "Btn_ProductionMode") { Btn_ProductionMode.BZ_BackColor = Color.FromArgb(179, 202, 255); Btn_EngneeringMode.BZ_BackColor = Color.FromArgb(200, 200, 200); Btn_CPKMode.BZ_BackColor = Color.FromArgb(200, 200, 200); } break; case "Btn_ProductionMode": Frm_Engineering.fEngineering.TabControl1.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl2.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl3.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl4.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl5.SelectedIndex = 0; if (PVar.IsOpenFrmProduction == false) { PVar.IsOpenFrmProduction = true; Frm_Production.fProduction.Show(this); Frm_Production.fProduction.Visible = true; } if (bt.Name == "Btn_ProductionMode") { Btn_ProductionMode.BZ_BackColor = Color.FromArgb(179, 202, 255); Btn_EngneeringMode.BZ_BackColor = Color.FromArgb(200, 200, 200); Btn_CPKMode.BZ_BackColor = Color.FromArgb(200, 200, 200); } break; case "Btn_RunInfo": Frm_Engineering.fEngineering.TabControl1.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl2.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl3.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl4.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl5.SelectedIndex = 0; if (IsNotShow("Frm_RunInfo")) { if (Frm_RunInfo.fRunInfo == null || Frm_RunInfo.fRunInfo.IsDisposed) { Frm_RunInfo.fRunInfo = new Frm_RunInfo(); } Frm_RunInfo.fRunInfo.Show(this); } break; case "Btn_AlarmHistory": Frm_Engineering.fEngineering.TabControl1.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl2.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl3.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl4.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl5.SelectedIndex = 0; if (IsNotShow("Frm_AlarmInfo")) { if (Frm_AlarmInfo.fAlarmInfo == null || Frm_AlarmInfo.fAlarmInfo.IsDisposed) { Frm_AlarmInfo.fAlarmInfo = new Frm_AlarmInfo(); } Frm_AlarmInfo.fAlarmInfo.Show(this); } break; case "Btn_MachineInfo": Frm_Engineering.fEngineering.TabControl1.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl2.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl3.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl4.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl5.SelectedIndex = 0; if (IsNotShow("Frm_MachineInfo")) { if (Frm_MachineInfo.fMachineInfo == null || Frm_MachineInfo.fMachineInfo.IsDisposed) { Frm_MachineInfo.fMachineInfo = new Frm_MachineInfo(); } Frm_MachineInfo.fMachineInfo.Show(this); } break; case "Btn_EngneeringMode": InitLoginDialog(); PVar.sOpenTargetForm = "Frm_Engineering"; if (bt.Name == "Btn_EngneeringMode") { Btn_ProductionMode.BZ_BackColor = Color.FromArgb(200, 200, 200); Btn_EngneeringMode.BZ_BackColor = Color.FromArgb(179, 202, 255); Btn_CPKMode.BZ_BackColor = Color.FromArgb(200, 200, 200); this.BackColor = Color.FromArgb(252, 223, 222); Btn_OpenDataFile.BZ_BackColor = Color.FromArgb(252, 223, 222); Btn_OpenCCDFile.BZ_BackColor = Color.FromArgb(252, 223, 222); Btn_Home.BZ_BackColor = PVar.BZColor_SelectedBtn; } break; case "Btn_CPKMode": InitLoginDialog(); PVar.sOpenTargetForm = "Frm_Engineering"; if (bt.Name == "Btn_EngneeringMode" || bt.Name == "Btn_Engineering") { Btn_ProductionMode.BZ_BackColor = Color.FromArgb(200, 200, 200); Btn_EngneeringMode.BZ_BackColor = Color.FromArgb(179, 202, 255); Btn_CPKMode.BZ_BackColor = Color.FromArgb(200, 200, 200); this.BackColor = Color.FromArgb(252, 223, 222); Btn_OpenDataFile.BZ_BackColor = Color.FromArgb(252, 223, 222); Btn_OpenCCDFile.BZ_BackColor = Color.FromArgb(252, 223, 222); Btn_Home.BZ_BackColor = PVar.BZColor_SelectedBtn; } if (bt.Name == "Btn_CPKMode") { Btn_ProductionMode.BZ_BackColor = Color.FromArgb(200, 200, 200); Btn_EngneeringMode.BZ_BackColor = Color.FromArgb(200, 200, 200); Btn_CPKMode.BZ_BackColor = Color.FromArgb(179, 202, 255); if (PVar.ParList.CheckSts[17] == false) { if (PVar.WorkMode == 0) { if (Interaction.MsgBox("请确认是否进入CPK模式?", (int)Constants.vbInformation + Constants.vbYesNo, "CPK信息") == Constants.vbYes) { Frm_Par.fPar.Par_Clear(); Panel_CPK.Visible = true; PVar.WorkMode = 1; FileLog.OperateLog("进入CPK模式"); } else { return; } } } } break; case "Btn_ParSetting": Frm_Engineering.fEngineering.TabControl1.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl2.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl3.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl4.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl5.SelectedIndex = 0; if (IsNotShow("Frm_Par")) { if (Frm_Par.fPar == null || Frm_Par.fPar.IsDisposed) { Frm_Par.fPar = new Frm_Par(); } Frm_Par.fPar.Show(this); } Frm_Par.fPar.TableLayoutPanel1.Enabled = false; Frm_Par.fPar.TableLayoutPanel3.Enabled = false; Frm_Par.fPar.TableLayoutPanel4.Enabled = false; Frm_Par.fPar.Btn_ParSave.Enabled = false; break; case "Btn_CCDSetting": Frm_Engineering.fEngineering.TabControl1.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl2.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl3.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl4.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl5.SelectedIndex = 0; if (PVar.MacHold == true || PVar.Stop_Flag) { if (IsNotShow("Frm_Par_CCD")) { if (Frm_Par_CCD.fPar_CCD == null || Frm_Par_CCD.fPar_CCD.IsDisposed) { Frm_Par_CCD.fPar_CCD = new Frm_Par_CCD(); } Frm_Par_CCD.fPar_CCD.Show(this); } } else { ShowList("设备运行中,请先暂停设备!"); Btn_OpenDataFile.BZ_BackColor = Color.White; return; } break; case "Btn_Home": Frm_Engineering.fEngineering.TabControl1.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl2.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl3.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl4.SelectedIndex = 0; Frm_Engineering.fEngineering.TabControl5.SelectedIndex = 0; if (IsNotShow("Frm_Main")) { } Btn_ProductionMode.BZ_BackColor = Color.FromArgb(200, 200, 200); Btn_EngneeringMode.BZ_BackColor = Color.FromArgb(200, 200, 200); Btn_CPKMode.BZ_BackColor = Color.FromArgb(200, 200, 200); break; case "Btn_OpenCCDFile": if (System.IO.File.Exists(PVar.BZ_CCD_ImagePath) == false) { System.IO.Directory.CreateDirectory(PVar.BZ_CCD_ImagePath); } System.IO.DirectoryInfo SFile = new System.IO.DirectoryInfo(PVar.BZ_CCD_ImagePath); if (SFile.Exists) { try { System.Diagnostics.Process.Start("explorer.exe", PVar.BZ_CCD_ImagePath); } catch { } } else { } break; case "Btn_OpenDataFile": System.IO.DirectoryInfo SFinal_D = new System.IO.DirectoryInfo("E:\\BZ-Data\\DAB\\CheckData\\" + DateTime.Now.ToString("yyyyMM")); if (System.IO.File.Exists("E:\\BZ-Data\\DAB\\CheckData\\" + DateTime.Now.ToString("yyyyMM")) == false) { System.IO.Directory.CreateDirectory("E:\\BZ-Data\\DAB\\CheckData\\" + DateTime.Now.ToString("yyyyMM")); } if (SFinal_D.Exists) { try { System.Diagnostics.Process.Start("explorer.exe", "E:\\BZ-Data\\DAB\\CheckData\\" + DateTime.Now.ToString("yyyyMM")); } catch { } } else { } break; } }