示例#1
0
 public void ref_Staff()
 {
     try
     {
         DataTable dt = SqlControl.getVehicleList();
         DataRow   dr = null;
         if (dt != null)
         {
             this.dataGridView1.Rows.Clear();
             foreach (DataRow dR in dt.Rows)
             {
                 DataGridViewRow dr1 = new DataGridViewRow();
                 foreach (DataGridViewColumn c in this.dataGridView1.Columns)
                 {
                     dr1.Cells.Add(c.CellTemplate.Clone() as DataGridViewCell);
                 }
                 dr1.Cells[0].Value = dR["VEHICLENAME"].ToString();
                 dr1.Cells[1].Value = dR["LEFTTURNLEFT"].ToString();
                 dr1.Cells[2].Value = dR["LEFTTURNRIGHT"].ToString();
                 dr1.Cells[3].Value = dR["RIGHTTURNLEFT"].ToString();
                 dr1.Cells[4].Value = dR["RIGHTTURNRIGHT"].ToString();
                 dr1.Cells[5].Value = dR["LEFTTURNLEFTWC"].ToString();
                 dr1.Cells[6].Value = dR["LEFTTURNRIGHTWC"].ToString();
                 dr1.Cells[7].Value = dR["RIGHTTURNLEFTWC"].ToString();
                 dr1.Cells[8].Value = dR["RIGHTTURNRIGHTWC"].ToString();
                 this.dataGridView1.Rows.Add(dr1);
             }
         }
     }
     catch (Exception)
     {
     }
 }
示例#2
0
 private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
 {
     try
     {
         if (e.ColumnIndex == dataGridView1.Columns["btnsave"].Index)
         {
             int index = e.RowIndex;
             if (dataGridView1.Rows[index].Cells[1].Value.ToString() == "admin")
             {
                 MessageBox.Show("禁止修改管理员用户", "系统提示");
                 return;
             }
             qzj_vehicle model = new qzj_vehicle();
             model.VEHICLENAME      = dataGridView1.Rows[index].Cells[0].Value.ToString();
             model.LEFTTURNLEFT     = double.Parse(dataGridView1.Rows[index].Cells[1].Value.ToString());
             model.LEFTTURNRIGHT    = double.Parse(dataGridView1.Rows[index].Cells[2].Value.ToString());
             model.RIGHTTURNLEFT    = double.Parse(dataGridView1.Rows[index].Cells[3].Value.ToString());
             model.RIGHTTURNRIGHT   = double.Parse(dataGridView1.Rows[index].Cells[4].Value.ToString());
             model.LEFTTURNLEFTWC   = double.Parse(dataGridView1.Rows[index].Cells[5].Value.ToString());
             model.LEFTTURNRIGHTWC  = double.Parse(dataGridView1.Rows[index].Cells[6].Value.ToString());
             model.RIGHTTURNLEFTWC  = double.Parse(dataGridView1.Rows[index].Cells[7].Value.ToString());
             model.RIGHTTURNRIGHTWC = double.Parse(dataGridView1.Rows[index].Cells[8].Value.ToString());
             if (SqlControl.updateVehicle(model))
             {
                 MessageBox.Show("更改成功", "系统提示");
             }
             else
             {
                 MessageBox.Show("未知原因导致信息更改失败", "系统提示");
             }
         }
         else if (e.ColumnIndex == dataGridView1.Columns["btndelete"].Index)
         {
             int index = e.RowIndex;
             if (dataGridView1.Rows[index].Cells[0].Value.ToString() == "DEFAULT")
             {
                 MessageBox.Show("禁止删除DEFAULT车型信息", "系统提示");
             }
             else
             {
                 SqlControl.deleteVehicle(dataGridView1.Rows[index].Cells[0].Value.ToString());
                 MessageBox.Show("删除成功", "系统提示");
                 ref_Staff();
             }
         }
     }
     catch (Exception er)
     {
         MessageBox.Show("操作失败:" + er.Message, "系统提示");
     }
 }
示例#3
0
        private void ZjyTest_Load(object sender, EventArgs e)
        {
            labelWorkMode.Text = (controller.workMode == controller.ENUM_WORDMODE.WORKMODE_DEBUG ? "调校模式" : "检验模式");
            string sendstring;

            if (VEHICLENAME == "")
            {
                logControl.saveLogInf("[车型名称为空,采用默认值]");
                if (SqlControl.getVehicleXz("DEFAULT", out vehiclemodel))
                {
                    logControl.saveLogInf("[获取默认车型数据成功]:" + vehiclemodel.VEHICLENAME + "|"
                                          + vehiclemodel.LEFTTURNLEFT + "|" + vehiclemodel.LEFTTURNRIGHT + "|" + vehiclemodel.RIGHTTURNLEFT + "|" + vehiclemodel.RIGHTTURNRIGHT + "|"
                                          + vehiclemodel.LEFTTURNLEFTWC + "|" + vehiclemodel.LEFTTURNRIGHTWC + "|" + vehiclemodel.RIGHTTURNLEFTWC + "|" + vehiclemodel.RIGHTTURNRIGHTWC + "|");
                }
                else
                {
                    Msg(labelOrder3, panelOrder3, "获取车辆数据失败", 0);
                    return;
                }
            }
            else if (SqlControl.getVehicleXz(VEHICLENAME, out vehiclemodel))
            {
                logControl.saveLogInf("[获取车型数据成功]:" + vehiclemodel.VEHICLENAME + "|"
                                      + vehiclemodel.LEFTTURNLEFT + "|" + vehiclemodel.LEFTTURNRIGHT + "|" + vehiclemodel.RIGHTTURNLEFT + "|" + vehiclemodel.RIGHTTURNRIGHT + "|"
                                      + vehiclemodel.LEFTTURNLEFTWC + "|" + vehiclemodel.LEFTTURNRIGHTWC + "|" + vehiclemodel.RIGHTTURNLEFTWC + "|" + vehiclemodel.RIGHTTURNRIGHTWC + "|");
            }
            else
            {
                logControl.saveLogInf("[未获取到车型数据,采用默认值]");
                if (SqlControl.getVehicleXz("DEFAULT", out vehiclemodel))
                {
                    logControl.saveLogInf("[获取默认车型数据成功]:" + vehiclemodel.VEHICLENAME + "|"
                                          + vehiclemodel.LEFTTURNLEFT + "|" + vehiclemodel.LEFTTURNRIGHT + "|" + vehiclemodel.RIGHTTURNLEFT + "|" + vehiclemodel.RIGHTTURNRIGHT + "|"
                                          + vehiclemodel.LEFTTURNLEFTWC + "|" + vehiclemodel.LEFTTURNRIGHTWC + "|" + vehiclemodel.RIGHTTURNLEFTWC + "|" + vehiclemodel.RIGHTTURNRIGHTWC + "|");
                }
                else
                {
                    Msg(labelOrder3, panelOrder3, "获取车辆数据失败", 0);
                    return;
                }
            }
            Msg(labelllxz, panelll, "(" + vehiclemodel.LEFTTURNLEFT.ToString("0.0") + "±" + vehiclemodel.LEFTTURNLEFTWC.ToString("0.0") + ")", 2);
            Msg(labellrxz, panellr, "(" + vehiclemodel.LEFTTURNRIGHT.ToString("0.0") + "±" + vehiclemodel.LEFTTURNRIGHTWC.ToString("0.0") + ")", 2);
            Msg(labelrlxz, panelrl, "(" + vehiclemodel.RIGHTTURNLEFT.ToString("0.0") + "±" + vehiclemodel.RIGHTTURNLEFTWC.ToString("0.0") + ")", 2);
            Msg(labelrrxz, panelrr, "(" + vehiclemodel.RIGHTTURNRIGHT.ToString("0.0") + "±" + vehiclemodel.RIGHTTURNRIGHTWC.ToString("0.0") + ")", 2);
            buttonStart_Click(sender, e);
        }
示例#4
0
 private void button1_Click(object sender, EventArgs e)
 {
     try
     {
         qzj_vehicle model = new qzj_vehicle();
         model.VEHICLENAME      = textBoxVehicleName.Text;
         model.LEFTTURNLEFT     = double.Parse(textBoxll.Text);
         model.LEFTTURNRIGHT    = double.Parse(textBoxlr.Text);
         model.RIGHTTURNLEFT    = double.Parse(textBoxrl.Text);
         model.RIGHTTURNRIGHT   = double.Parse(textBoxrr.Text);
         model.LEFTTURNLEFTWC   = double.Parse(textBoxllwc.Text);
         model.LEFTTURNRIGHTWC  = double.Parse(textBoxlrwc.Text);
         model.RIGHTTURNLEFTWC  = double.Parse(textBoxrlwc.Text);
         model.RIGHTTURNRIGHTWC = double.Parse(textBoxrrwc.Text);
         if (model.VEHICLENAME.Trim() == "")
         {
             MessageBox.Show("请先填写车型名称", "系统提示");
             return;
         }
         if (SqlControl.checkVehicleIsAlive(model.VEHICLENAME))
         {
             MessageBox.Show("此车型信息已存在,请勿重复添加", "系统提示");
         }
         else if (SqlControl.insertVehicle(model))
         {
             MessageBox.Show("添加成功", "系统提示");
         }
         else
         {
             MessageBox.Show("添加失败", "系统提示");
         }
         ref_Staff();
     }
     catch
     {
         MessageBox.Show("数据格式有误", "系统提示");
     }
 }
示例#5
0
        private void test_Process()
        {
            try
            {
                int    STABLETIME = (int)(controller.stable_time * 20);
                int    TURNTIME   = (int)(controller.turn_time * 20);
                int    ZEROTIME   = (int)(controller.zero_time * 20);
                string sendstring;
                double leftangle, rightangle;
                double leftturnleft = 0, leftturnright = 0, rightturnleft = 0, rightturnright = 0;
                bool   leftturnleftpd = false, leftturnrightpd = false, rightturnleftpd = false, rightturnrightpd = false, zhpd = false;
                Msg(labelOrder3, panelOrder3, "请上转盘", 0);
                int carAlready = 0;

                /*while (carAlready < 30)
                 * {
                 *  if (!controller.isCarAlready) carAlready = 0;
                 *  else carAlready++;
                 *  Thread.Sleep(50);
                 * }*/
                Thread.Sleep(1500);
                Msg(labelOrder3, panelOrder3, "车辆到位", 0);
                Thread.Sleep(1000);
                controller.setClearLeft(out sendstring);
                controller.setClearRight(out sendstring);
                Thread.Sleep(100);
                controller.straightCar(out sendstring);
                Thread.Sleep(100);
                controller.unLockTable(out sendstring);
                Thread.Sleep(1000);
                int stablecount = 0;
                Msg(labelOrder3, panelOrder3, "向左打方向盘", 0);
                //while (controller.angleLeft < 5)
                //{
                //   Msg(labelLeftData, panelLeftData, controller.angleLeft.ToString("0.0"), 0, Math.Abs(controller.angleLeft - vehiclemodel.LEFTTURNLEFT) <= vehiclemodel.LEFTTURNLEFTWC ? Color.Lime : Color.Red);
                //    Msg(labelRightData, panelRightData, controller.angleRight.ToString("0.0"), 0, Math.Abs(controller.angleRight - vehiclemodel.RIGHTTURNLEFT) <= vehiclemodel.LEFTTURNLEFTWC ? Color.Lime : Color.Red);
                //   Thread.Sleep(50);
                //}
                while (stablecount < TURNTIME)//大于5度2秒以上
                {
                    leftangle  = controller.angleLeft;
                    rightangle = controller.angleRight;
                    Msg(labelLeftData, panelLeftData, leftangle.ToString("0.0"), 0, Math.Abs(leftangle - vehiclemodel.LEFTTURNLEFT) <= vehiclemodel.LEFTTURNLEFTWC ? Color.Lime : Color.Red);
                    Msg(labelRightData, panelRightData, rightangle.ToString("0.0"), 0, Math.Abs(-rightangle - vehiclemodel.RIGHTTURNLEFT) <= vehiclemodel.LEFTTURNLEFTWC ? Color.Lime : Color.Red);
                    if (controller.angleLeft < 5)
                    {
                        stablecount = 0;
                    }
                    else//显示过程中的最大值
                    {
                        if (controller.workMode == controller.ENUM_WORDMODE.WORKMODE_DEBUG)//在调试模式下一直等到连续两秒左右都在合格范围内了才继续进行
                        {
                            leftturnleft  = leftangle;
                            rightturnleft = rightangle;
                            if ((Math.Abs(leftturnleft - vehiclemodel.LEFTTURNLEFT) <= vehiclemodel.LEFTTURNLEFTWC) && (Math.Abs(-rightturnleft - vehiclemodel.RIGHTTURNLEFT) <= vehiclemodel.RIGHTTURNLEFTWC))//如果在合格范围内,开始计时
                            {
                                stablecount++;
                            }
                            else
                            {
                                stablecount = 0;
                            }
                        }
                        else//在检验模式下,要等到连续两秒左盘没有超过目前最大值时认为稳定
                        {
                            /*if (leftangle > leftturnleft)
                             * {
                             *  leftturnleft = leftangle;
                             *  rightturnleft = rightangle;
                             *  stablecount = 0;
                             * }
                             * else
                             * {
                             *  stablecount++;
                             * }*/
                            leftturnleft  = leftangle;
                            rightturnleft = rightangle;
                            stablecount++;

                            /* if ((Math.Abs(leftturnleft - vehiclemodel.LEFTTURNLEFT) <= vehiclemodel.LEFTTURNLEFTWC) && (Math.Abs(-rightturnleft - vehiclemodel.RIGHTTURNLEFT) <= vehiclemodel.RIGHTTURNLEFTWC))//如果在合格范围内,开始计时
                             * {
                             *   stablecount++;
                             * }
                             * else
                             * {
                             *   stablecount = 0;
                             * }*/
                        }
                        Msg(labelLzlldata, panelLzlldata, leftturnleft.ToString("0.0"), 0, Math.Abs(leftturnleft - vehiclemodel.LEFTTURNLEFT) <= vehiclemodel.LEFTTURNLEFTWC ? Color.Lime : Color.Red);
                        Msg(labelRzlldata, panelRzlldata, rightturnleft.ToString("0.0"), 0, Math.Abs(-rightturnleft - vehiclemodel.RIGHTTURNLEFT) <= vehiclemodel.LEFTTURNLEFTWC ? Color.Lime : Color.Red);
                    }
                    Thread.Sleep(50);
                }
                stablecount = 0;
                Msg(labelOrder3, panelOrder3, "稳定1秒", 0);
                while (stablecount < STABLETIME)
                {
                    leftangle  = controller.angleLeft;
                    rightangle = controller.angleRight;
                    Msg(labelLeftData, panelLeftData, leftangle.ToString("0.0"), 0, Math.Abs(leftangle - vehiclemodel.LEFTTURNLEFT) <= vehiclemodel.LEFTTURNLEFTWC ? Color.Lime : Color.Red);
                    Msg(labelRightData, panelRightData, rightangle.ToString("0.0"), 0, Math.Abs(-rightangle - vehiclemodel.RIGHTTURNLEFT) <= vehiclemodel.LEFTTURNLEFTWC ? Color.Lime : Color.Red);
                    if (controller.angleLeft < 5)
                    {
                        stablecount = 0;
                    }
                    else//显示过程中的最大值
                    {
                        if (controller.workMode == controller.ENUM_WORDMODE.WORKMODE_DEBUG)//在调试模式下一直等到连续两秒左右都在合格范围内了才继续进行
                        {
                            leftturnleft  = leftangle;
                            rightturnleft = rightangle;
                            if ((Math.Abs(leftturnleft - vehiclemodel.LEFTTURNLEFT) <= vehiclemodel.LEFTTURNLEFTWC) && (Math.Abs(-rightturnleft - vehiclemodel.RIGHTTURNLEFT) <= vehiclemodel.LEFTTURNLEFTWC))//如果在合格范围内,开始计时
                            {
                                stablecount++;
                            }
                            else
                            {
                                stablecount = 0;
                            }
                        }
                        else//在检验模式下,要等到连续两秒左盘没有超过目前最大值时认为稳定
                        {
                            /*if (leftangle > leftturnleft)
                             * {
                             *  leftturnleft = leftangle;
                             *  rightturnleft = rightangle;
                             *  stablecount = 0;
                             * }
                             * else
                             * {
                             *  stablecount++;
                             * }*/

                            leftturnleft  = leftangle;
                            rightturnleft = rightangle;
                            stablecount++;
                        }
                        Msg(labelLzlldata, panelLzlldata, leftturnleft.ToString("0.0"), 0, Math.Abs(leftturnleft - vehiclemodel.LEFTTURNLEFT) <= vehiclemodel.LEFTTURNLEFTWC ? Color.Lime : Color.Red);
                        Msg(labelRzlldata, panelRzlldata, rightturnleft.ToString("0.0"), 0, Math.Abs(-rightturnleft - vehiclemodel.RIGHTTURNLEFT) <= vehiclemodel.LEFTTURNLEFTWC ? Color.Lime : Color.Red);
                    }
                    Thread.Sleep(50);
                }
                leftturnleftpd = (Math.Abs(leftturnleft - vehiclemodel.LEFTTURNLEFT) <= vehiclemodel.LEFTTURNLEFTWC);
                Msg(labelllpd, panelllpd, leftturnleftpd ? "○" : "×", 0, leftturnleftpd ? Color.Lime : Color.Red);
                rightturnleftpd = (Math.Abs(-rightturnleft - vehiclemodel.RIGHTTURNLEFT) <= vehiclemodel.RIGHTTURNLEFTWC);
                Msg(labelrlpd, panelrlpd, rightturnleftpd ? "○" : "×", 0, rightturnleftpd ? Color.Lime : Color.Red);
                Msg(labelOrder3, panelOrder3, "右打方向", 0);
                stablecount = 0;
                while (controller.angleRight < 5)
                {
                    leftangle  = controller.angleLeft;
                    rightangle = controller.angleRight;
                    Msg(labelLeftData, panelLeftData, leftangle.ToString("0.0"), 0, Math.Abs(-leftangle - vehiclemodel.LEFTTURNRIGHT) <= vehiclemodel.LEFTTURNRIGHTWC ? Color.Lime : Color.Red);
                    Msg(labelRightData, panelRightData, rightangle.ToString("0.0"), 0, Math.Abs(rightangle - vehiclemodel.RIGHTTURNRIGHT) <= vehiclemodel.RIGHTTURNRIGHTWC ? Color.Lime : Color.Red);
                    Thread.Sleep(50);
                }
                Msg(labelOrder3, panelOrder3, "向右打方向盘", 0);
                stablecount = 0;
                while (stablecount < TURNTIME)//大于5度2秒以上
                {
                    leftangle  = controller.angleLeft;
                    rightangle = controller.angleRight;
                    Msg(labelLeftData, panelLeftData, leftangle.ToString("0.0"), 0, Math.Abs(-leftangle - vehiclemodel.LEFTTURNRIGHT) <= vehiclemodel.LEFTTURNRIGHTWC ? Color.Lime : Color.Red);
                    Msg(labelRightData, panelRightData, rightangle.ToString("0.0"), 0, Math.Abs(rightangle - vehiclemodel.RIGHTTURNRIGHT) <= vehiclemodel.RIGHTTURNRIGHTWC ? Color.Lime : Color.Red);
                    if (controller.angleRight < 5)
                    {
                        stablecount = 0;
                    }
                    else//显示过程中的最大值
                    {
                        if (controller.workMode == controller.ENUM_WORDMODE.WORKMODE_DEBUG)//在调试模式下一直等到连续两秒左右都在合格范围内了才继续进行
                        {
                            leftturnright  = leftangle;
                            rightturnright = rightangle;
                            if ((Math.Abs(-leftturnright - vehiclemodel.LEFTTURNRIGHT) <= vehiclemodel.LEFTTURNRIGHTWC) && (Math.Abs(rightturnright - vehiclemodel.RIGHTTURNRIGHT) <= vehiclemodel.RIGHTTURNRIGHTWC))//如果在合格范围内,开始计时
                            {
                                stablecount++;
                            }
                            else
                            {
                                stablecount = 0;
                            }
                        }
                        else//在检验模式下,要等到连续两秒左盘没有超过目前最大值时认为稳定
                        {
                            /* if (rightangle > rightturnright)
                             * {
                             *   rightturnright = rightangle;
                             *   leftturnright = leftangle;
                             *   stablecount = 0;
                             * }
                             * else
                             * {
                             *   stablecount++;
                             * }*/
                            rightturnright = rightangle;
                            leftturnright  = leftangle;
                            stablecount++;
                        }
                        Msg(labelLzrldata, panelLzrldata, leftturnright.ToString("0.0"), 0, Math.Abs(-leftturnright - vehiclemodel.LEFTTURNRIGHT) <= vehiclemodel.LEFTTURNRIGHTWC ? Color.Lime : Color.Red);
                        Msg(labelRzrldata, panelRzrldata, rightturnright.ToString("0.0"), 0, Math.Abs(rightturnright - vehiclemodel.RIGHTTURNRIGHT) <= vehiclemodel.RIGHTTURNRIGHTWC ? Color.Lime : Color.Red);
                    }
                    Thread.Sleep(50);
                }
                stablecount = 0;
                Msg(labelOrder3, panelOrder3, "稳定1秒", 0);
                while (stablecount < STABLETIME)
                {
                    leftangle  = controller.angleLeft;
                    rightangle = controller.angleRight;
                    Msg(labelLeftData, panelLeftData, leftangle.ToString("0.0"), 0, Math.Abs(-leftangle - vehiclemodel.LEFTTURNRIGHT) <= vehiclemodel.LEFTTURNRIGHTWC ? Color.Lime : Color.Red);
                    Msg(labelRightData, panelRightData, rightangle.ToString("0.0"), 0, Math.Abs(rightangle - vehiclemodel.RIGHTTURNRIGHT) <= vehiclemodel.RIGHTTURNRIGHTWC ? Color.Lime : Color.Red);
                    if (controller.angleRight < 5)
                    {
                        stablecount = 0;
                    }
                    else//显示过程中的最大值
                    {
                        if (controller.workMode == controller.ENUM_WORDMODE.WORKMODE_DEBUG)//在调试模式下一直等到连续两秒左右都在合格范围内了才继续进行
                        {
                            leftturnright  = leftangle;
                            rightturnright = rightangle;
                            if ((Math.Abs(-leftturnright - vehiclemodel.LEFTTURNRIGHT) <= vehiclemodel.LEFTTURNRIGHTWC) && (Math.Abs(rightturnright - vehiclemodel.RIGHTTURNRIGHT) <= vehiclemodel.RIGHTTURNRIGHTWC))//如果在合格范围内,开始计时
                            {
                                stablecount++;
                            }
                            else
                            {
                                stablecount = 0;
                            }
                        }
                        else//在检验模式下,要等到连续两秒左盘没有超过目前最大值时认为稳定
                        {
                            /*if (rightangle > rightturnright)
                             * {
                             *  rightturnright = rightangle;
                             *  leftturnright = leftangle;
                             *  stablecount = 0;
                             * }
                             * else
                             * {
                             *  stablecount++;
                             * }*/
                            rightturnright = rightangle;
                            leftturnright  = leftangle;
                            stablecount++;
                        }
                        Msg(labelLzrldata, panelLzrldata, leftturnright.ToString("0.0"), 0, Math.Abs(-leftturnright - vehiclemodel.LEFTTURNRIGHT) <= vehiclemodel.LEFTTURNRIGHTWC ? Color.Lime : Color.Red);
                        Msg(labelRzrldata, panelRzrldata, rightturnright.ToString("0.0"), 0, Math.Abs(rightturnright - vehiclemodel.RIGHTTURNRIGHT) <= vehiclemodel.RIGHTTURNRIGHTWC ? Color.Lime : Color.Red);
                    }
                    Thread.Sleep(50);
                }
                leftturnrightpd = (Math.Abs(-leftturnright - vehiclemodel.LEFTTURNRIGHT) <= vehiclemodel.LEFTTURNRIGHTWC);
                Msg(labellrpd, panellrpd, leftturnrightpd ? "○" : "×", 0, leftturnrightpd ? Color.Lime : Color.Red);
                rightturnrightpd = (Math.Abs(rightturnright - vehiclemodel.RIGHTTURNRIGHT) <= vehiclemodel.RIGHTTURNRIGHTWC);
                Msg(labelrrpd, panelrrpd, rightturnrightpd ? "○" : "×", 0, rightturnrightpd ? Color.Lime : Color.Red);
                Msg(labelOrder3, panelOrder3, "请回零", 0);
                stablecount = 0;
                while (stablecount < ZEROTIME)//当左盘和右盘均回到规定的回零限值后
                {
                    leftangle  = controller.angleLeft;
                    rightangle = controller.angleRight;
                    Msg(labelLeftData, panelLeftData, leftangle.ToString("0.0"), 0, controller.isLeftZero ? Color.Lime : Color.Red);
                    Msg(labelRightData, panelRightData, rightangle.ToString("0.0"), 0, controller.isRightZero ? Color.Lime : Color.Red);
                    if (!controller.isLeftZero || !controller.isRightZero)
                    {
                        stablecount = 0;
                    }
                    else
                    {
                        stablecount++;
                    }
                    Thread.Sleep(50);
                }
                zhpd = (leftturnleftpd && leftturnrightpd && rightturnleftpd && rightturnrightpd);
                Msg(labelOrder3, panelOrder3, zhpd ? "转向角 ○" : "转向角 ×", 0);
                controller.lockTable(out sendstring);
                Thread.Sleep(100);
                controller.backStraight(out sendstring);
                Thread.Sleep(1000);
                qzj_record record = new qzj_record();
                record.CLID           = System.Guid.NewGuid().ToString().Replace("-", "");
                record.STATIONID      = "";
                record.LSH            = "";
                record.CLHP           = VIN;
                record.VEHICLENAME    = VEHICLENAME;
                record.MAXSPEED       = "";
                record.JCSJ           = DateTime.Now;
                record.LEFTTURNLEFT   = leftturnleft;
                record.RIGHTTURNLEFT  = rightturnleft;
                record.LEFTTURNRIGHT  = leftturnright;
                record.RIGHTTURNRIGHT = rightturnright;
                record.XZ             = vehiclemodel.LEFTTURNLEFT.ToString() + "-" + vehiclemodel.LEFTTURNLEFTWC + "|"
                                        + vehiclemodel.RIGHTTURNLEFT.ToString() + "-" + vehiclemodel.RIGHTTURNLEFTWC + "|"
                                        + vehiclemodel.LEFTTURNRIGHT.ToString() + "-" + vehiclemodel.LEFTTURNRIGHTWC + "|"
                                        + vehiclemodel.RIGHTTURNRIGHT.ToString() + "-" + vehiclemodel.RIGHTTURNRIGHTWC;
                record.LEFTTURNLEFTPD   = leftturnleftpd ? "合格" : "不合格";
                record.RIGHTTURNLEFTPD  = rightturnleftpd ? "合格" : "不合格";
                record.LEFTTURNRIGHTPD  = leftturnrightpd ? "合格" : "不合格";
                record.RIGHTTURNRIGHTPD = rightturnrightpd ? "合格" : "不合格";
                record.ZHPD             = zhpd ? "合格" : "不合格";
                record.HASUPLOAD        = (workMode == ENUM_WORK_MODE.WORK_MODE_NET) ? "Y" : "N";
                if (!SqlControl.insertRecord(record))
                {
                    Msg(labelOrder3, panelOrder3, "数据保存失败", 0);
                    Thread.Sleep(2000);
                }
                else if (workMode == ENUM_WORK_MODE.WORK_MODE_NET)
                {
                    if (!writeTestResult(record))
                    {
                        Msg(labelOrder3, panelOrder3, "写结果数据失败", 0);
                        Thread.Sleep(2000);
                    }
                }
                stablecount = 0;

                /*while(stablecount<20)//车离开光电累计1秒后,检测流程退出
                 * {
                 *  if (!controller.isCarAlready) stablecount++;
                 *  Thread.Sleep(50);
                 * }*/
                Thread.Sleep(1500);
                controller.scanState = 0;
                CloseForm();
            }
            catch (Exception er)
            {
                logControl.saveLogInf("[exception:]" + er.Message);
                CloseForm();
            }
        }