C#之雷赛控制板卡-单轴连续运动
·
C#之雷赛控制板卡-单轴连续运动
C#之雷赛控制板卡-连续运动代码操作流程-原理
一直运动,直到限位
/// <summary>
/// 连续运动
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button4_Click(object sender, EventArgs e)
{
// 1.获取参数
// 1.获取参数
// 1.1起始速度
double startSpeed = Convert.ToDouble(tbxStartSpeed.Text.Trim());
// 1.2运行速度
double runSpeed = Convert.ToDouble(tbxRunSpeed.Text.Trim());
// 1.3停止速度
double StopSpeed = Convert.ToDouble(tbxStopSpeed.Text.Trim());
// 1.4加速时间
double AccTime = Convert.ToDouble(tbxAccTime.Text.Trim());
// 1.5减速时间
double DecTime = Convert.ToDouble(tbxDecTime.Text.Trim());
// 1.6S段时间
double STime = Convert.ToDouble(tbxSTime.Text.Trim());
// 1.7 选择的轴
ushort axis = Axises[comboBox1.SelectedIndex];
// 1.8 移动的距离
int distance = Convert.ToInt32(tbxMoveLocation.Text.Trim());
// 1.9 设置为相对运动,0为相对运动,1为绝对运动
ushort mode = 0;
// 1.10 获取运动方向
ushort dir = 0;
// 2.运动
if (IsInitFlag)
{
// 设置单轴运动曲线
LTDMC.dmc_set_profile(CardNum, axis, startSpeed, runSpeed, AccTime, DecTime, StopSpeed);
// 设置S段时间
LTDMC.dmc_set_s_profile(CardNum, axis, mode, STime);
// 设置减速停止时间
LTDMC.dmc_set_dec_stop_time(CardNum, axis, DecTime);
// 启动连续运动
int res = LTDMC.dmc_vmove(CardNum, axis, dir);
if (res != 0)
{
MessageBox.Show("连续运动失败!");
return;
}
}
}
更多推荐

所有评论(0)