private void FormOffsetCorValue_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (!frmClose)
            {
                MessageBox.Show("请保存再退出");
                MotorXValue[NowCount] = MotorXValue[NowCount] + double.Parse(label7.Text);
                MotorYValue[NowCount] = MotorYValue[NowCount] + double.Parse(label8.Text);

                string strPath;
                strPath = System.Windows.Forms.Application.StartupPath + "\\DOC\\FormOffsetCorValue.ini";

                CIni   IniProg = new CIni(strPath);
                string strTemp = "0";

                for (int i = 0; i <= MotorXValue.GetUpperBound(0); i++)
                {
                    strTemp = MotorXValue[i].ToString();
                    IniProg.IniWriteValue("MotorX", i.ToString(), strTemp);
                }
                for (int i = 0; i <= MotorYValue.GetUpperBound(0); i++)
                {
                    strTemp = MotorYValue[i].ToString();
                    IniProg.IniWriteValue("MotorY", i.ToString(), strTemp);
                }
            }
        }
        private void button5_Click(object sender, EventArgs e)
        {
            try
            {
                frmClose = true;
                MotorXValue[NowCount] = MotorXValue[NowCount] + double.Parse(label7.Text);
                MotorYValue[NowCount] = MotorYValue[NowCount] + double.Parse(label8.Text);

                string strPath;
                strPath = System.Windows.Forms.Application.StartupPath + "\\DOC\\FormOffsetCorValue.ini";

                CIni   IniProg = new CIni(strPath);
                string strTemp = "";

                for (int i = 0; i <= MotorXValue.GetUpperBound(0); i++)
                {
                    strTemp = MotorXValue[i].ToString();
                    IniProg.IniWriteValue("MotorX", i.ToString(), strTemp);
                }
                for (int i = 0; i <= MotorYValue.GetUpperBound(0); i++)
                {
                    strTemp = MotorYValue[i].ToString();
                    IniProg.IniWriteValue("MotorY", i.ToString(), strTemp);
                }
            }
            catch
            {
                MessageBox.Show("失败,请检查格式是否正确");
            }
            //label7.Text = "0";
            //label8.Text = "0";
            this.Dispose();
        }
Beispiel #3
0
        public static string GetSerial(int iNo = 0)
        {
            string madAddr = null;

            if (iNo == 1000 /*read*/ || iNo == 100 /*save*/)
            {//硬盘
                ManagementClass            mcHardDisk  = new ManagementClass("Win32_DiskDrive");
                ManagementObjectCollection mocHardDisk = mcHardDisk.GetInstances();
                foreach (ManagementObject mo in mocHardDisk)
                {
                    madAddr = mo.Properties["Model"].Value.ToString();
                    break;
                }
                if (iNo == 100)//save
                {
                    if (!File.Exists("c:\\hhiatsn.ini") && madAddr != null)
                    {
                        CIni WriteMac = new CIni("c:\\hhiatsn.ini");
                        WriteMac.IniWriteValue("SN", "ID", madAddr);
                        DateTime datetime = DateTime.Now;
                        string[] d        = new string[6];
                        d[0] = "00" + datetime.Day.ToString();   //day
                        d[1] = "00" + datetime.Month.ToString(); //month
                        d[2] = datetime.Year.ToString();
                        d[3] = "03";                             //len
                        d[4] = d[2].Substring(0, 2);             //year-L
                        d[5] = d[2].Substring(2, 2);             //year_R
                        string s = "";
                        s = d[0].Substring(d[0].Length - 2, 2) + d[1].Substring(d[1].Length - 2, 2) + d[4] + d[3] + d[5];
                        WriteMac.IniWriteValue("Time", "T", s);
                    }
                }
            }
            return(madAddr);
        }
Beispiel #4
0
        public static bool License(int iPwd)
        {
            string strSerial = "";

            strSerial = GetSerial(iPwd);
            CIni   ReadMac = new CIni("c:\\hhiatsn.ini");
            string strID   = ReadMac.IniReadValue("SN", "ID");

            if (strSerial != strID && strID != "hhiat123")
            {
                MessageBox.Show("System Error");

                return(false);
            }
            string sTime = ReadMac.IniReadValue("Time", "T");

            if (sTime != "-1")
            {
                DateTime datetime = DateTime.Now;
                string[] d        = new string[6];
                d[0] = sTime.Substring(0, 2); //day
                d[1] = sTime.Substring(2, 2); //month
                d[2] = sTime.Substring(4, 2); //year_L
                d[3] = sTime.Substring(6, 2); //len
                d[4] = sTime.Substring(8, 2); //Year_R
                DateTime datetimeStart = new DateTime(Convert.ToInt16(d[2] + d[4]), Convert.ToInt16(d[1]), Convert.ToInt16(d[0]), 0, 0, 0);
                if ((datetime - datetimeStart).Days > Convert.ToInt16(d[3]) * 30 || (datetime - datetimeStart).Days < 0)
                {
                    d[0] = "00" + datetime.Day.ToString();   //day
                    d[1] = "00" + datetime.Month.ToString(); //month
                    d[2] = datetime.Year.ToString();
                    d[3] = "00";                             //len
                    d[4] = d[2].Substring(0, 2);             //year-L
                    d[5] = "00";                             //year_R
                    string s = "";
                    s = d[0].Substring(d[0].Length - 2, 2) + d[1].Substring(d[1].Length - 2, 2) + d[4] + d[3] + d[5];
                    ReadMac.IniWriteValue("Time", "T", s);
                    // MessageBox.Show("System Time Error");
                    return(false);
                }
            }
            return(true);
        }
Beispiel #5
0
        private void btn_Save_Click(object sender, EventArgs e)
        {
            try
            {
                string strPath;
                strPath = System.Windows.Forms.Application.StartupPath + "\\DOC\\Prog\\" + strName + ".ini";
                CIni IniProg = new CIni(strPath);
                string strTemp = "";
                strTemp = tb_LA.Text.Trim();
                IniProg.IniWriteValue("TwelveLineStandard", "LA", strTemp);
                strTemp = tb_LB.Text.Trim();
                IniProg.IniWriteValue("TwelveLineStandard", "LB", strTemp);
                strTemp = tb_LC.Text.Trim();
                IniProg.IniWriteValue("TwelveLineStandard", "LC", strTemp);
                strTemp = tb_LD.Text.Trim();
                IniProg.IniWriteValue("TwelveLineStandard", "LD", strTemp);
                strTemp = tb_LE.Text.Trim();
                IniProg.IniWriteValue("TwelveLineStandard", "LE", strTemp);
                strTemp = tb_LF.Text.Trim();
                IniProg.IniWriteValue("TwelveLineStandard", "LF", strTemp);
                strTemp = tb_LG.Text.Trim();
                IniProg.IniWriteValue("TwelveLineStandard", "LG", strTemp);
                strTemp = tb_LH.Text.Trim();
                IniProg.IniWriteValue("TwelveLineStandard", "LH", strTemp);
                strTemp = tb_LI.Text.Trim();
                IniProg.IniWriteValue("TwelveLineStandard", "LI", strTemp);
                strTemp = tb_LJ.Text.Trim();
                IniProg.IniWriteValue("TwelveLineStandard", "LJ", strTemp);
                strTemp = tb_LK.Text.Trim();
                IniProg.IniWriteValue("TwelveLineStandard", "LK", strTemp);
                strTemp = tb_LL.Text.Trim();
                IniProg.IniWriteValue("TwelveLineStandard", "LL", strTemp);

                this.Close();
            }
            catch
            {
                MessageBox.Show("储存时发生错误\n请检查输入的值是否有误!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Beispiel #6
0
        private void btnMatch_Click(object sender, EventArgs e)
        {
            btnSaveModel.Enabled = false;
            btnOK.Enabled        = false;
            RectangleContour rect = new RectangleContour();

            rect.Left   = 0;
            rect.Top    = 0;
            rect.Width  = C.Image.Width;
            rect.Height = C.Image.Height;
            PointContour p2           = new PointContour();
            string       TemplateFile = "";

            TemplateFile = System.Windows.Forms.Application.StartupPath + "\\ModelPos.png";
            if (File.Exists(TemplateFile) && C.Image != null)
            {
                imageViewerModel.Image.ReadFile(TemplateFile);
                CIni  PosIni = new CIni(System.Windows.Forms.Application.StartupPath + "\\Doc\\Pos.ini");
                float dScore = Convert.ToSingle(PosIni.IniReadValue("PatternPos", "Score"));//匹配度
                p2 = MachineTool.MatchPattern(C.Image, rect, TemplateFile, 1, dScore);
                MessageBox.Show("X:" + p2.X.ToString("f3") + ", Y:" + p2.Y.ToString("f3"));
            }
        }
        private void btnOK_Click(object sender, EventArgs e)
        {
            double OffsetX, OffsetY;
            double LeftTopMX = Convert.ToDouble(txtLeftTopMX.Text.Trim()) * PublicVar.CHXCaliCorr;
            double LeftTopMY = Convert.ToDouble(txtLeftTopMX.Text.Trim()) * PublicVar.CHYCaliCorr;
            double LeftTopCX = Convert.ToDouble(txtLeftTopCX.Text.Trim());
            double LeftTopCY = Convert.ToDouble(txtLeftTopCX.Text.Trim());
            double LeftTopSX = Convert.ToDouble(txtLeftTopSX.Text.Trim());
            double LeftTopSY = Convert.ToDouble(txtLeftTopSX.Text.Trim());

            OffsetX    = -(LeftTopCX - nWidth / 2) * PublicVar.CameraX_Unit;
            OffsetY    = -(LeftTopCY - nHeight / 2) * PublicVar.CameraY_Unit;
            LeftTopMX += OffsetX;
            LeftTopMY += OffsetY;
            double LeftBottomMX = Convert.ToDouble(txtLeftBottomMX.Text.Trim()) * PublicVar.CHXCaliCorr;
            double LeftBottomMY = Convert.ToDouble(txtLeftBottomMX.Text.Trim()) * PublicVar.CHYCaliCorr;
            double LeftBottomCX = Convert.ToDouble(txtLeftBottomCX.Text.Trim());
            double LeftBottomCY = Convert.ToDouble(txtLeftBottomCX.Text.Trim());
            double LeftBottomSX = Convert.ToDouble(txtLeftBottomSX.Text.Trim());
            double LeftBottomSY = Convert.ToDouble(txtLeftBottomSX.Text.Trim());

            OffsetX       = -(LeftBottomCX - nWidth / 2) * PublicVar.CameraX_Unit;
            OffsetY       = -(LeftBottomCY - nHeight / 2) * PublicVar.CameraY_Unit;
            LeftBottomMX += OffsetX;
            LeftBottomMY += OffsetY;
            double RightTopMX = Convert.ToDouble(txtLeftTopMX.Text.Trim()) * PublicVar.CHXCaliCorr;
            double RightTopMY = Convert.ToDouble(txtLeftTopMX.Text.Trim()) * PublicVar.CHYCaliCorr;
            double RightTopCX = Convert.ToDouble(txtLeftTopCX.Text.Trim());
            double RightTopCY = Convert.ToDouble(txtLeftTopCX.Text.Trim());
            double RightTopSX = Convert.ToDouble(txtLeftTopSX.Text.Trim());
            double RightTopSY = Convert.ToDouble(txtLeftTopSX.Text.Trim());

            OffsetX     = -(RightTopCX - nWidth / 2) * PublicVar.CameraX_Unit;
            OffsetY     = -(RightTopCY - nHeight / 2) * PublicVar.CameraY_Unit;
            RightTopMX += OffsetX;
            RightTopMY += OffsetY;
            double RightBottomMX = Convert.ToDouble(txtLeftBottomMX.Text.Trim()) * PublicVar.CHXCaliCorr;
            double RightBottomMY = Convert.ToDouble(txtLeftBottomMX.Text.Trim()) * PublicVar.CHYCaliCorr;
            double RightBottomCX = Convert.ToDouble(txtLeftBottomCX.Text.Trim());
            double RightBottomCY = Convert.ToDouble(txtLeftBottomCX.Text.Trim());
            double RightBottomSX = Convert.ToDouble(txtLeftBottomSX.Text.Trim());
            double RightBottomSY = Convert.ToDouble(txtLeftBottomSX.Text.Trim());

            OffsetX        = -(RightBottomCX - nWidth / 2) * PublicVar.CameraX_Unit;
            OffsetY        = -(RightBottomCY - nHeight / 2) * PublicVar.CameraY_Unit;
            RightBottomMX += OffsetX;
            RightBottomMY += OffsetY;

            double x1, y1, x2, y2, a1, b1, a2, b2, Angle1, Angle2;

            x1     = LeftTopSX - LeftBottomSX;
            y1     = LeftTopSY - LeftBottomSY;
            x2     = RightBottomSX - LeftBottomSX;
            y2     = RightBottomSY - LeftBottomSY;
            a1     = LeftTopMX - LeftBottomMX;
            b1     = LeftTopMY - LeftBottomMY;
            a2     = RightBottomMX - LeftBottomMX;
            b2     = RightBottomMY - LeftBottomMY;
            Angle1 = (y1 * b2 - y2 * b1) / (a1 * b2 - a2 * b1);
            Angle1 = Math.Asin(Angle1) * 180 / 3.14159;
            Angle2 = (x1 * a2 - x2 * a1) / (b1 * a2 - b2 * a1);
            Angle2 = Math.Asin(Angle2);
            double x3, y3;
            double angleX, angleY;

            angleX      = Angle1 * 3.14159 / 180;
            angleY      = Angle2 * 3.14159 / 180;
            x3          = RightTopMX * Math.Cos(angleX) + RightTopMY * Math.Sin(angleY);
            y3          = RightTopMY * Math.Cos(angleY) + RightTopMX * Math.Sin(angleX);
            labelX.Text = x3.ToString("f6");
            labelY.Text = y3.ToString("f6");
            if (MessageBox.Show("确认保存吗?", "", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                string strPath;
                strPath = Application.StartupPath + "\\DOC";
                if (!Directory.Exists(strPath))
                {
                    Directory.CreateDirectory(strPath);
                }
                strPath += "\\Setting.ini";
                CIni IniSetting = new CIni(strPath);
                IniSetting.IniWriteValue("CHX", "RepairAngle", Angle1.ToString("f6"));
                IniSetting.IniWriteValue("CHY", "RepairAngle", Angle1.ToString("f6"));
                PublicVar.CHXRepairAngle = Angle1;
                PublicVar.CHYRepairAngle = Angle2;
            }
        }
Beispiel #8
0
        private void buildFile(int num)
        {
            string strPath;

            strPath = System.Windows.Forms.Application.StartupPath + "\\DOC\\Prog\\" + strName + ".ini";

            CIni   IniProg = new CIni(strPath);
            string strTemp = "";

            strTemp = Convert.ToString(num);
            IniProg.IniWriteValue("Total", "Count", strTemp);

            for (int i = 1; i <= num; i++)
            {
                strTemp = i.ToString();
                IniProg.IniWriteValue(i.ToString(), "NO.", strTemp);

                strTemp = "10";
                IniProg.IniWriteValue(i.ToString(), "CenterX", strTemp);

                strTemp = "10";
                IniProg.IniWriteValue(i.ToString(), "CenterY", strTemp);

                strTemp = "200";
                IniProg.IniWriteValue(i.ToString(), "InnerR", strTemp);

                strTemp = "400";
                IniProg.IniWriteValue(i.ToString(), "OuterR", strTemp);

                strTemp = "0";
                IniProg.IniWriteValue(i.ToString(), "StartA", strTemp);

                strTemp = "0";
                IniProg.IniWriteValue(i.ToString(), "EndA", strTemp);

                strTemp = "10";
                IniProg.IniWriteValue(i.ToString(), "MotorX", strTemp);

                strTemp = "10";
                IniProg.IniWriteValue(i.ToString(), "MotorY", strTemp);

                strTemp = "0.5";
                IniProg.IniWriteValue(i.ToString(), "R", strTemp);

                strTemp = "1";
                IniProg.IniWriteValue(i.ToString(), "Color", strTemp);

                strTemp = "1";
                IniProg.IniWriteValue(i.ToString(), "Type", strTemp);
            }
            //图像信息
            strTemp = "20";
            IniProg.IniWriteValue("Image", "Light0", strTemp);
            strTemp = "150";
            IniProg.IniWriteValue("Image", "Threshold0", strTemp);

            strTemp = "200";
            IniProg.IniWriteValue("Image", "Light1", strTemp);
            strTemp = "40";
            IniProg.IniWriteValue("Image", "Threshold1", strTemp);

            strTemp = "200";
            IniProg.IniWriteValue("Image", "Light2", strTemp);
            strTemp = "20";
            IniProg.IniWriteValue("Image", "Threshold2", strTemp);

            //参数信息
            strTemp = "0";
            IniProg.IniWriteValue("Param", "L1Set", strTemp);

            strTemp = "0";
            IniProg.IniWriteValue("Param", "L2Set", strTemp);

            strTemp = "0";
            IniProg.IniWriteValue("Param", "W1Set", strTemp);

            strTemp = "0";
            IniProg.IniWriteValue("Param", "W2Set", strTemp);

            strTemp = "0";
            IniProg.IniWriteValue("Param", "Y3Set", strTemp);

            strTemp = "0";
            IniProg.IniWriteValue("Param", "No1", strTemp);

            strTemp = "0";
            IniProg.IniWriteValue("Param", "No2", strTemp);

            strTemp = "1";
            IniProg.IniWriteValue("Param", "Dir", strTemp);//搜寻方向

            strTemp = "0";
            IniProg.IniWriteValue("Param", "Parity", strTemp);//搜寻极性

            if (num == 6)
            {
                if (MessageBox.Show("请问有无参考线?\n选“是”为四点测量(参考线)\n选“否”为六点测量", "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    strTemp = "1";
                    IniProg.IniWriteValue("Param", "MasterLine", strTemp);//有参考线

                    strTemp = "0";
                    IniProg.IniWriteValue("CheckBox6Point", "CheckBox", strTemp);//6点测量CheckBox
                }
                else
                {
                    strTemp = "0";
                    IniProg.IniWriteValue("Param", "MasterLine", strTemp);//无参考线

                    strTemp = "1";
                    IniProg.IniWriteValue("CheckBox6Point", "CheckBox", strTemp);//6点测量CheckBox
                }
            }
            else
            {
                //if (num == 4 || num == 9) { strTemp = "0"; }
                //else strTemp = "1";//当圆点数为6时,默认勾选参考线
                strTemp = "0";
                IniProg.IniWriteValue("Param", "MasterLine", strTemp); //默认都无参考线
            }
            strTemp = "1";
            IniProg.IniWriteValue("Param", "MarkColor", strTemp);

            strTemp = "2";
            IniProg.IniWriteValue("Param", "ClassTray", strTemp);//分堆方式

            strTemp = "1";
            IniProg.IniWriteValue("Param", "AverageSort", strTemp);//是否按平均值分堆

            strTemp = "1.0004";
            IniProg.IniWriteValue("Param", "XStand", strTemp);//涨缩值标准值

            strTemp = "1.0016";
            IniProg.IniWriteValue("Param", "YStand", strTemp);

            //参考角度
            strTemp = "0";
            IniProg.IniWriteValue("RefAngle", "L1Set", strTemp);
            strTemp = "0";
            IniProg.IniWriteValue("RefAngle", "L2Set", strTemp);
            strTemp = "0";
            IniProg.IniWriteValue("RefAngle", "W1Set", strTemp);
            strTemp = "0";
            IniProg.IniWriteValue("RefAngle", "W2Set", strTemp);
            strTemp = "0";
            IniProg.IniWriteValue("RefAngle", "Y3Set", strTemp);
            strTemp = "1";
            IniProg.IniWriteValue("CircleDia", "Mark", strTemp);
            strTemp = "1";
            IniProg.IniWriteValue("CircleDia", "Ref", strTemp);

            //相机定位设置
            strTemp = "0";
            IniProg.IniWriteValue("PosCameraSet", "X", strTemp);
            strTemp = "0";
            IniProg.IniWriteValue("PosCameraSet", "Y", strTemp);
            strTemp = "-1000";
            IniProg.IniWriteValue("PosCameraSet", "Angle", strTemp);

            //选择LED灯光
            strTemp = "0";
            IniProg.IniWriteValue("Select", "Led", strTemp);
            strTemp = "0";
            IniProg.IniWriteValue("Select", "PosUsing", strTemp);//定位相机


            //默认9点测量的12条边为0
            if (num == 9 || num == 6)
            {
                strTemp = "0";
                IniProg.IniWriteValue("TwelveLineStandard", "LA", strTemp);
                strTemp = "0";
                IniProg.IniWriteValue("TwelveLineStandard", "LB", strTemp);
                strTemp = "0";
                IniProg.IniWriteValue("TwelveLineStandard", "LC", strTemp);
                strTemp = "0";
                IniProg.IniWriteValue("TwelveLineStandard", "LD", strTemp);
                strTemp = "0";
                IniProg.IniWriteValue("TwelveLineStandard", "LE", strTemp);
                strTemp = "0";
                IniProg.IniWriteValue("TwelveLineStandard", "LF", strTemp);
                strTemp = "0";
                IniProg.IniWriteValue("TwelveLineStandard", "LG", strTemp);
                strTemp = "0";
                IniProg.IniWriteValue("TwelveLineStandard", "LH", strTemp);
                strTemp = "0";
                IniProg.IniWriteValue("TwelveLineStandard", "LI", strTemp);
                strTemp = "0";
                IniProg.IniWriteValue("TwelveLineStandard", "LJ", strTemp);
                strTemp = "0";
                IniProg.IniWriteValue("TwelveLineStandard", "LK", strTemp);
                strTemp = "0";
                IniProg.IniWriteValue("TwelveLineStandard", "LL", strTemp);
            }
        }
        private void SaveParam()
        {
            string strPath;

            strPath = Application.StartupPath + "\\DOC";
            if (!Directory.Exists(strPath))
            {
                Directory.CreateDirectory(strPath);
            }
            strPath += "\\Setting.ini";
            CIni   IniSetting = new CIni(strPath);
            string strTemp;

            strTemp = txtCheckCameraXUnit.Text.Trim();
            if (strTemp == "")
            {
                strTemp = "0.001";
            }
            IniSetting.IniWriteValue("Unit", "CameraX", strTemp);
            strTemp = txtCheckCameraYUnit.Text.Trim();
            if (strTemp == "")
            {
                strTemp = "0.001";
            }
            IniSetting.IniWriteValue("Unit", "CameraY", strTemp);
            strTemp = txtPosCameraUnit.Text.Trim();
            if (strTemp == "")
            {
                strTemp = "0.001";
            }
            IniSetting.IniWriteValue("Unit", "CameraPos", strTemp);

            strTemp = txtMotorXUnit.Text.Trim();
            if (strTemp == "")
            {
                strTemp = "0.001";
            }
            IniSetting.IniWriteValue("Unit", "X", strTemp);
            strTemp = txtMotorYUnit.Text.Trim();
            if (strTemp == "")
            {
                strTemp = "0.001";
            }
            IniSetting.IniWriteValue("Unit", "Y", strTemp);
            strTemp = txtMotorCYUnit.Text.Trim();
            if (strTemp == "")
            {
                strTemp = "0.001";
            }
            IniSetting.IniWriteValue("Unit", "CY", strTemp);
            strTemp = txtMotorCZUnit.Text.Trim();
            if (strTemp == "")
            {
                strTemp = "0.001";
            }
            IniSetting.IniWriteValue("Unit", "CZ", strTemp);
            strTemp = txtCameraXEncoder.Text.Trim();
            if (strTemp == "")
            {
                strTemp = "0.001";
            }
            IniSetting.IniWriteValue("Unit", "EncoderX", strTemp);
            strTemp = txtCameraYEncoder.Text.Trim();
            if (strTemp == "")
            {
                strTemp = "0.001";
            }
            IniSetting.IniWriteValue("Unit", "EncoderY", strTemp);
            strTemp = txtLeftTopX.Text.Trim();
            if (strTemp == "")
            {
                strTemp = "0";
            }
            IniSetting.IniWriteValue("X", "LeftTop", strTemp);
            strTemp = txtLeftTopY.Text.Trim();
            if (strTemp == "")
            {
                strTemp = "0";
            }
            IniSetting.IniWriteValue("Y", "LeftTop", strTemp);

            strTemp = txtRightTopX.Text.Trim();
            if (strTemp == "")
            {
                strTemp = "0";
            }
            IniSetting.IniWriteValue("X", "RightTop", strTemp);
            strTemp = txtRightTopY.Text.Trim();
            if (strTemp == "")
            {
                strTemp = "0";
            }
            IniSetting.IniWriteValue("Y", "RightTop", strTemp);

            strTemp = txtRightBottomX.Text.Trim();
            if (strTemp == "")
            {
                strTemp = "0";
            }
            IniSetting.IniWriteValue("X", "RightBottom", strTemp);
            strTemp = txtRightBottomY.Text.Trim();
            if (strTemp == "")
            {
                strTemp = "0";
            }
            IniSetting.IniWriteValue("Y", "RightBottom", strTemp);

            IniSetting.IniWriteValue("CHX", "HomeInitVel", txtHome1.Text.Trim());
            IniSetting.IniWriteValue("CHX", "HomeMaxVel", txtHome2.Text.Trim());
            IniSetting.IniWriteValue("CHX", "HomeACC", txtHome3.Text.Trim());
            IniSetting.IniWriteValue("CHX", "HomeDEC", txtHome4.Text.Trim());
            IniSetting.IniWriteValue("CHY", "HomeInitVel", txtHome5.Text.Trim());
            IniSetting.IniWriteValue("CHY", "HomeMaxVel", txtHome6.Text.Trim());
            IniSetting.IniWriteValue("CHY", "HomeACC", txtHome7.Text.Trim());
            IniSetting.IniWriteValue("CHY", "HomeDEC", txtHome8.Text.Trim());
            IniSetting.IniWriteValue("CHCY", "HomeInitVel", txtHome9.Text.Trim());
            IniSetting.IniWriteValue("CHCY", "HomeMaxVel", txtHome10.Text.Trim());
            IniSetting.IniWriteValue("CHCY", "HomeACC", txtHome11.Text.Trim());
            IniSetting.IniWriteValue("CHCY", "HomeDEC", txtHome12.Text.Trim());
            IniSetting.IniWriteValue("CHCZ", "HomeInitVel", txtHome13.Text.Trim());
            IniSetting.IniWriteValue("CHCZ", "HomeMaxVel", txtHome14.Text.Trim());
            IniSetting.IniWriteValue("CHCZ", "HomeACC", txtHome15.Text.Trim());
            IniSetting.IniWriteValue("CHCZ", "HomeDEC", txtHome16.Text.Trim());
            IniSetting.IniWriteValue("CHX", "InitVel", txtRun1.Text.Trim());
            IniSetting.IniWriteValue("CHX", "ACC", txtRun2.Text.Trim());
            IniSetting.IniWriteValue("CHX", "DEC", txtRun3.Text.Trim());
            IniSetting.IniWriteValue("CHX", "Speed", txtRun7.Text.Trim());
            IniSetting.IniWriteValue("CHY", "InitVel", txtRun4.Text.Trim());
            IniSetting.IniWriteValue("CHY", "ACC", txtRun5.Text.Trim());
            IniSetting.IniWriteValue("CHY", "DEC", txtRun6.Text.Trim());
            IniSetting.IniWriteValue("CHY", "Speed", txtRun8.Text.Trim());
            IniSetting.IniWriteValue("CHX", "InitPos", txtCHXInitPos.Text.Trim());
            IniSetting.IniWriteValue("CHY", "InitPos", txtCHYInitPos.Text.Trim());
            IniSetting.IniWriteValue("CHCY", "InitVel", txtRun9.Text.Trim());
            IniSetting.IniWriteValue("CHCY", "ACC", txtRun10.Text.Trim());
            IniSetting.IniWriteValue("CHCY", "DEC", txtRun11.Text.Trim());
            IniSetting.IniWriteValue("CHCY", "Speed", txtRun12.Text.Trim());
            IniSetting.IniWriteValue("CHCZ", "InitVel", txtRun13.Text.Trim());
            IniSetting.IniWriteValue("CHCZ", "ACC", txtRun14.Text.Trim());
            IniSetting.IniWriteValue("CHCZ", "DEC", txtRun15.Text.Trim());
            IniSetting.IniWriteValue("CHCZ", "Speed", txtRun16.Text.Trim());
            IniSetting.IniWriteValue("CHCY", "InitPos", txtCHCYInitPos.Text.Trim());
            IniSetting.IniWriteValue("CHCZ", "InitPos", txtCHCZInitPos.Text.Trim());

            IniSetting.IniWriteValue("CHCY", "WorkPos", txtCHCYWorkPos.Text.Trim());
            IniSetting.IniWriteValue("CHCZ", "WorkPos", txtCHCZWorkPos.Text.Trim());
            IniSetting.IniWriteValue("CHCZ", "WorkPos1", txtCHCZWorkPos1.Text.Trim());
            IniSetting.IniWriteValue("CHCZ", "LowVel", txtCHCZLowVel.Text.Trim());

            IniSetting.IniWriteValue("JogSpeed", "High", txtHighSpeed.Text.Trim());
            IniSetting.IniWriteValue("JogSpeed", "Mid", txtMidSpeed.Text.Trim());
            IniSetting.IniWriteValue("JogSpeed", "Low", txtLowSpeed.Text.Trim());
            IniSetting.IniWriteValue("CHX", "CaliCorr", txtXCaliCorr.Text.Trim());
            IniSetting.IniWriteValue("CHX", "RepairAngle", txtRepairXAngle.Text.Trim());
            IniSetting.IniWriteValue("CHY", "CaliCorr", txtYCaliCorr.Text.Trim());
            IniSetting.IniWriteValue("CHY", "RepairAngle", txtRepairYAngle.Text.Trim());
            IniSetting.IniWriteValue("RepairInterval", "X", txtRepairIntervalX.Text.Trim());
            IniSetting.IniWriteValue("RepairInterval", "Y", txtRepairIntervalY.Text.Trim());
            IniSetting.IniWriteValue("RepairStart", "X", txtRepairStartX.Text.Trim());
            IniSetting.IniWriteValue("RepairStart", "Y", txtRepairStartY.Text.Trim());
            IniSetting.IniWriteValue("Master", "PosX1", txtMasterPos1X.Text.Trim());
            IniSetting.IniWriteValue("Master", "PosY1", txtMasterPos1Y.Text.Trim());
            IniSetting.IniWriteValue("Master", "PosX2", txtMasterPos2X.Text.Trim());
            IniSetting.IniWriteValue("Master", "PosY2", txtMasterPos2Y.Text.Trim());
            IniSetting.IniWriteValue("Master", "PosX3", txtMasterPos3X.Text.Trim());
            IniSetting.IniWriteValue("Master", "PosY3", txtMasterPos3Y.Text.Trim());
            IniSetting.IniWriteValue("Master", "PosX4", txtMasterPos4X.Text.Trim());
            IniSetting.IniWriteValue("Master", "PosY4", txtMasterPos4Y.Text.Trim());
            IniSetting.IniWriteValue("Master", "NumHZ", txtMasterNumHZ.Text.Trim());
            IniSetting.IniWriteValue("Master", "L1", txtMasterL1.Text.Trim());
            IniSetting.IniWriteValue("Master", "L2", txtMasterL2.Text.Trim());
            IniSetting.IniWriteValue("Master", "W1", txtMasterW1.Text.Trim());
            IniSetting.IniWriteValue("Master", "W2", txtMasterW2.Text.Trim());
            IniSetting.IniWriteValue("Master", "Light", txtMasterLight.Text.Trim());
            IniSetting.IniWriteValue("Master", "Threshold", txtMasterThreshold.Text.Trim());

            IniSetting.IniWriteValue("Corr", "X1K", txtCorrX1K.Text.Trim());
            IniSetting.IniWriteValue("Corr", "X1Offset", txtCorrX1Offset.Text.Trim());
            IniSetting.IniWriteValue("Corr", "X2K", txtCorrX2K.Text.Trim());
            IniSetting.IniWriteValue("Corr", "X2Offset", txtCorrX2Offset.Text.Trim());
            IniSetting.IniWriteValue("Corr", "Y1K", txtCorrY1K.Text.Trim());
            IniSetting.IniWriteValue("Corr", "Y1Offset", txtCorrY1Offset.Text.Trim());
            IniSetting.IniWriteValue("Corr", "Y2K", txtCorrY2K.Text.Trim());
            IniSetting.IniWriteValue("Corr", "Y2Offset", txtCorrY2Offset.Text.Trim());

            //定位相机是否二值化
            if (chk_CameraThreshold.Checked)
            {
                IniSetting.IniWriteValue("Select", "CameraThre", "1");
            }
            else
            {
                IniSetting.IniWriteValue("Select", "CameraThre", "0");
            }
        }