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 = "绝对圆弧插补"; } } }