跳到主要内容

NRC_JobfileInsertIMOV(int line, int vel, int acc, int dec, const NRC_Position& deviation, int pl=0)

作业文件插入 IMOV 指令

调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件

deviation.coord 为 NRC_ACS 时,该指令将使用关节插补方式,deviation.coord 为其他值时,使用直线插补方式

类型

int=>作业文件插入 IMOV 指令

返回值说明
0表示函数正常调用
-101无效的输入参数
-102目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值
-103目标对象当前处于不可操作状态

参数 Option

参数类型说明
lineint将指令插入到第 line 行,参数范围:0 < line < (NRC_GetJobfileLineSum()+1)
velint机器人的运行速度;deviation.coord 为 NRC_ACS 时,为机器人最大速度的百分比,参数范围:0 < vel <= 100; deviation.coord 不为 NRC_ACS 时,为机器人末端位置点绝对运行速度,单位为 毫米每秒(mm/s),参数范围:vel > 1
accint机器人运行加速度,参数范围:0 < vel <= 100; deviation.coord 为 NRC_ACS 时,为机器人各关节最大加速度的百分比 ;deviation.coord 不为 NRC_ACS 时,为机器人笛卡尔最大加速度的百分比
decint机器人运行减速度,参数范围:0 < vel <= 100;deviation.coord 为 NRC_ACS 时,为机器人各关节最大减速度的百分比;deviation.coord 不为 NRC_ACS 时,为机器人笛卡尔最大减速度的百分比
deviationconst NRC_Position&机机器人运动偏移量,详见 NRC_Position
plint平滑度,将和后面一条移动指令进行平滑过渡,数值越大,越平滑,轨迹偏差也越大,参数范围:0 <= pl <= 5

示例代码

NRC_Position dev1 = { NRC_ACS, { 10, 20, -10, 10, 0, 0 } };
NRC_JobfileInsertIMOV(5,50,5,5,dev1,5);
//作业文件插入IMOV指令,速度50mm/s,加速度5,减速度 5,PL=5