Aerotech系列文章(3)运动设置命令Motion Setup Commands

该文章介绍了A3200控制器中用于设定运动斜坡类型的命令,包括直线、S曲线和正弦曲线三种类型。通过A3200MotionSetupRampTypeAxis函数设置任务ID、轴掩码和斜坡类型,然后举例展示了如何在代码中应用这些设置进行运动控制操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.运动设置命令Motion Setup Commands

  • 斜坡类型:

直线,S曲线,与正弦曲线

Enumerator:

RAMPTYPE_Linear 

Linear-based ramp type.

RAMPTYPE_Scurve 

S-curve-based ramp type.

RAMPTYPE_Sine 

Sine-based ramp type.

  • 函数原型:

BOOL DLLENTRYDECLARATION A3200MotionSetupRampTypeAxis(

A3200Handle handle,

TASKID taskId,

AXISMASK axisMask,

RAMPTYPE Type)

  • 功能:

指定斜坡类型,这个命令与AeroBasic中的“RAMP TYPE”等效

  • 参数:

【输入】handle , 控制器的句柄,在上面执行各种命令

【输入】taskId, 任务ID, 命令运行所在的任务

【输入】axisMask,轴掩码,用来指定命令运行的轴

【输入】Type,斜坡类型

  • 返回类型:

BOOL, 成功返回真TRUE,失败返回假FALSE

  • 例子用法:

A3200Handle handle;

A3200Connect(&handle);

  • A3200MotionSetupRampTypeAxis(handle, TASKID_01, (AXISMASK)(AXISMASK_00 | AXISMASK_01),RAMPTYPE_Linear);
  • 实际的程序代码:
//3.1 setup ramp type

    A3200Handle handle;

    A3200Connect(&handle);

    A3200MotionEnable(handle, TASKID_01, (AXISMASK)(AXISMASK_00 | AXISMASK_01));

    A3200MotionHome(handle, TASKID_01, (AXISMASK)(AXISMASK_00 | AXISMASK_01));

    qDebug() << "wait 1 seconds ...";

    Sleep(1000);



    //A3200MotionSetupRampTypeAxis(handle, TASKID_01, (AXISMASK)(AXISMASK_00 | AXISMASK_01),RAMPTYPE_Linear);

    //A3200MotionSetupRampTypeAxis(handle, TASKID_01, (AXISMASK)(AXISMASK_00 | AXISMASK_01),RAMPTYPE_Scurve);

    A3200MotionSetupRampTypeAxis(handle, TASKID_01, (AXISMASK)(AXISMASK_00 | AXISMASK_01),RAMPTYPE_Sine);



    DOUBLE distance[2];

    distance[0] = 120;

    distance[1] = 50;

    A3200MotionLinearVelocity(handle, TASKID_01, (AXISMASK)(AXISMASK_00 | AXISMASK_01), distance, 100);

    A3200Disconnect(handle);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值