示例#1
0
        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
                }
            }
        }
示例#2
0
        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();
        }
示例#3
0
        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("计算出错!");
            }
        }
示例#4
0
        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值计算出错!");
            }
        }
示例#5
0
 //总入口
 private void Btn_Production_Click(object sender, EventArgs e)
 {
     BoTech.Button btn = sender as BoTech.Button;
     FunctionSub.Close_Key_Process();
     LoadFormAndSetBtBkColor(btn);
 }
示例#6
0
        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;
            }
        }