Esempio n. 1
0
        private void But插补启动_Click(object sender, EventArgs e)
        {
            if (nNum插补轴数 < 2)
            {
                MessageBox.Show("没有选择插补功能!或者没有选择两个以上的轴", "提示");
                return;              //退出当前程序
            }
            if (Radio多轴插补速度.Checked) //'设定插补矢量运动曲线的Min_Vel起始速度, Max_Vel运行速度, Tacc加速时间, Tdec减速时间
            {
                Dmc2610.d2610_set_vector_profile(Min_Vel起始速度, Max_Vel运行速度, Tacc加速时间, Tdec减速时间);
                La速度方式.Text = "多轴插补速度";
            }

            if (Radio两轴直线插补.Checked == false & Radio三轴直线插补.Checked == false & Radio四轴直线插补.Checked == false
                & radio六轴直线插补.Checked == false & Radio圆弧插补.Checked == false)
            {
                if (nNum插补轴数 >= 2)
                {
                    MessageBox.Show("没有选择插补功能!", "提示");
                    return;//退出当前程序
                }
            }
            if (X轴运动检测 == 0 || Y轴运动检测 == 0 || Z轴运动检测 == 0 || U轴运动检测 == 0 || A轴运动检测 == 0 || B轴运动检测 == 0)
            {
                MessageBox.Show("其它轴在运行中!", "提示");
                return;//退出当前if程序
            }
            if (Radio多轴插补速度.Checked == false)
            {
                MessageBox.Show("没有选择多轴插补速度!", "提示");
                return;//退出当前if程序
            }
            if (Radio三轴直线插补.Checked)
            {
                if ((CheckX轴.Checked & CheckY轴.Checked & CheckZ轴.Checked) != true || nNum插补轴数 > 3)
                {
                    MessageBox.Show("三轴直线插补请选择X/Y/Z三个轴!", "提示");
                    return; //退出当前if程序
                }
            }
            else if (Radio四轴直线插补.Checked & nNum插补轴数 < 4)
            {
                MessageBox.Show("四轴直线插补请选择四个轴!", "提示");
                return;    //退出当前if程序
            }
            else if (Radio四轴直线插补.Checked)
            {
                if ((CheckX轴.Checked & CheckY轴.Checked & CheckZ轴.Checked & CheckU轴.Checked) != true || nNum插补轴数 > 4)
                {
                    MessageBox.Show("四轴直线插补请选择X/Y/Z/U四个轴!", "提示");
                    return;//退出当前if程序
                }
            }
            else if (radio六轴直线插补.Checked & nNum插补轴数 < 6)
            {
                MessageBox.Show("六轴直线插补请选择六个轴!", "提示");
                return;              //退出当前if程序
            }
            if (Radio两轴直线插补.Checked) //两轴直线插补打开
            {
                if (CheckX轴.Checked & CheckY轴.Checked != false & nNum插补轴数 < 3)
                {
                    Dmc2610.d2610_t_line2(nAxis轴号[0], Dist位置设定[0], nAxis轴号[1], Dist位置设定[1], 模式);//模式'0相对位移,1绝对位移
                    La运行方式.Text = "两轴直线插补";
                }
                else
                {
                    MessageBox.Show("两轴直线插补请选X/Y择两个轴!", "提示");
                    return;//退出当前if程序
                }
            }
            else if (Radio三轴直线插补.Checked)                                                         //三轴直线插补打开
            {
                Dmc2610.d2610_t_line3(ref nAxis轴号[0], Dist位置设定[0], Dist位置设定[1], Dist位置设定[2], 模式); //模式 '0相对位移,1绝对位移
                La运行方式.Text = "三轴直线插补";
            }

            else if (Radio四轴直线插补.Checked)                                                                  //四轴直线插补打开
            {
                Dmc2610.d2610_t_line4(nAxis轴号[0], Dist位置设定[0], Dist位置设定[1], Dist位置设定[2], Dist位置设定[3], 模式); // 模式'0相对位移,1绝对位移
                La运行方式.Text = "四轴直线插补";
            }
            else if (radio六轴直线插补.Checked)                               //六轴直线插补打开
            {
                Dmc2610.d2610_t_line6(nAxis轴号[0], ref Dist位置设定[0], 模式); // 模式'0相对位移,1绝对位移
                La运行方式.Text = "六轴直线插补";
            }

            if (Radio圆弧插补.Checked)
            {
                //if ((CheckZ轴.Checked & CheckX轴.Checked == true) || (CheckZ轴.Checked & CheckY轴.Checked == true) || (CheckX轴.Checked & CheckU轴.Checked == true)
                //    || (CheckU轴.Checked & CheckY轴.Checked == true) || (CheckA轴.Checked & CheckB轴.Checked == true) || (CheckX轴.Checked & CheckB轴.Checked == true)
                //    || (CheckA轴.Checked & CheckX轴.Checked == true) || (CheckY轴.Checked & CheckB轴.Checked == true) || (CheckY轴.Checked & CheckA轴.Checked == true))
                if (CheckX轴.Checked != true || CheckY轴.Checked != true || nNum插补轴数 > 2)
                {
                    MessageBox.Show("圆弧插补只能选择XY两个轴!", "提示");
                    return;//退出当前if程序
                }
            }
            if (Radio圆弧插补.Checked & Radio多轴插补速度.Checked == false & Radio两轴直线插补.Checked == false & Radio三轴直线插补.Checked == false)
            {
                MessageBox.Show("没有选择多轴插补速度!", "提示");
                return;//退出当前if程序
            }
            else if (Radio圆弧插补.Checked & nNum插补轴数 < 2)
            {
                MessageBox.Show("插补不能少于两个轴!", "提示");
                return;//退出当前if程序
            }
            else if (Radio圆弧插补.Checked & Radio多轴插补速度.Checked)
            {
                if (radio相对模式.Checked)
                {
                    Dmc2610.d2610_rel_arc_move(ref nAxis轴号[0], ref Dist位置设定[0], ref Dist位置设定[1], 模式); //模式 '0顺时针转,1逆时针转位移
                    La速度方式.Text = "相对圆弧插补";
                }
                if (radio绝对模式.Checked)
                {
                    Dmc2610.d2610_arc_move(ref nAxis轴号[0], ref Dist位置设定[0], ref Dist位置设定[1], 模式);//模式 '0顺时针转,1逆时针转位移
                    La速度方式.Text = "绝对圆弧插补";
                }
            }
        }