NRC_RunqueueInsertIMOV(int vel, int acc, int dec, const NRC_Position& deviation, int pl=0)
运行队列插入 IMOV 指令
调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列
deviation.coord 为 NRC_ACS 时,该指令将使用关节插补方式,deviation.coord 为其他值时,使用直线插补方式
类型
int=>运行队列插入 IMOV 指令
返回值 | 说明 |
---|---|
0 | 表示函数正常调用 |
-101 | 无效的输入参数 |
-102 | 目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值 |
-103 | 目标对象当前处于不可操作状态 |
参数 Option
参数 | 类型 | 说明 |
---|---|---|
vel | int | 机器人的运行速度;deviation.coord 为 NRC_ACS 时,为机器人最大速度的百分比,参数范围:0 < vel <= 100; deviation.coord 不为 NRC_ACS 时,为机器人末端位置点绝对运行速度,单位为 毫米每秒(mm/s),参数范围:vel > 1 |
acc | int | 机器人运行加速度,参数范围:0 < vel <= 100; deviation.coord 为 NRC_ACS 时,为机器人各关节最大加速度的百分比 ;deviation.coord 不为 NRC_ACS 时,为机器人笛卡尔最大加速度的百分比 |
dec | int | 机器人运行减速度,参数范围:0 < vel <= 100;deviation.coord 为 NRC_ACS 时,为机器人各关节最大减速度的百分比;deviation.coord 不为 NRC_ACS 时,为机器人笛卡尔最大减速度的百分比 |
deviation | const NRC_Position& | 机机器人运动偏移量,详见 NRC_Position |
pl | int | 平滑度,将和后面一条移动指令进行平滑过渡,数值越大,越平滑,轨迹偏差也越大,参数范围:0 <= pl <= 5 |
示例代码
NRC_Position dev1 = { NRC_ACS, { 10, 20, -10, 10, 0, 0 } };
NRC_RunqueueInsertIMOV(50,5,5,dev1,5);
//运行队列插入IMOV指令,速度50mm/s,加速度5,减速度 5,PL=5