private void button_stop_Click(object sender, EventArgs e) { if (Dmc1000_Dll.d1000_check_done(Model.XCH) == 0 || //在运行 Dmc1000_Dll.d1000_check_done(Model.YCH) == 0 || Dmc1000_Dll.d1000_check_done(Model.ZCH) == 0 || Dmc1000_Dll.d1000_check_done(Model.UCH) == 0) {//当减速时间为0时,为急停效果 Dmc1000_Dll.d1000_decel_stop(Model.XCH); Dmc1000_Dll.d1000_decel_stop(Model.YCH); Dmc1000_Dll.d1000_decel_stop(Model.ZCH); Dmc1000_Dll.d1000_decel_stop(Model.UCH); return; } }
private void button_start_Click(object sender, EventArgs e) { UpdateControl(); if (Dmc1000_Dll.d1000_check_done(Model.nAxis) == 0) { return; //若在运行,则返回 } Dmc1000_Dll.d1000_set_sd(Model.nAxis, checkBoxSD.Checked ? 1 : 0); int nDir = checkBoxDir.Checked ? 1 : -1; int nStart = Convert.ToInt16(textBoxOSpd.Text); int nMSpeed = Convert.ToInt16(textBoxMSpd.Text); double nTAcc = Convert.ToDouble(textBoxTAcc.Text); int nPulse = Convert.ToInt16(textBoxPulse.Text); if (checkBoxPMode.Checked) //脉冲+方向 { Dmc1000_Dll.d1000_set_pls_outmode(Model.nAxis, checkBoxPLog.Checked ? 1 : 0); //1-pulse/dir 模式,脉冲下降沿有效;0-pulse/dir 模式,脉冲上升沿有效 } else//脉冲+脉冲 { Dmc1000_Dll.d1000_set_pls_outmode(Model.nAxis, checkBoxPLog.Checked ? 3 : 2);//3-CW/CCW 模式,脉冲下降沿有效;2-CW/CCW 模式,脉冲上升沿有效 } if (radioButtonM.Checked)//定长运动 { if (radioButtonS.Checked) { Dmc1000_Dll.d1000_start_s_move(Model.nAxis, nPulse * nDir, nStart, nMSpeed, nTAcc);//S形 } else if (radioButtonT.Checked) { Dmc1000_Dll.d1000_start_t_move(Model.nAxis, nPulse * nDir, nStart, nMSpeed, nTAcc);//T形 } } }