编程基础——移动数据读入指令
Posted 机器人弗居
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程基础——移动数据读入指令相关的知识,希望对你有一定的参考价值。
在PAPID程序中,控制系统信息、机器人和外部轴移动数据、系统I/O信号状态等,均可通过程序指令或函数命令读入到程序中,以便在程序中对相应机器人的工作状态进行监控,或进行相关参数的运算和处理。
今天小海与大家一起来学习ABB机器人移动数据的读取,包括XYZ位置读取、TCP位置读取、关节位置读取、电机转角读取、工具数据读取、工件数据读取、速度倍率读取和TCP最大速度读取的用法和特点。
ertert
XYZ位置读取指令
XYZ位置读取指令的格式:
CPos([\Tool] [\Wobj]);
\Tool:工具数据,未指定时为当前工具数据;
\Wobj:工件数据,未指定时为当前工件数据;
执行结果:读取机器人当前XYZ的位置;
数据类型:pos;
到位区间要求:转弯半径在50mm以下;
ertert
TCP位置读取指令
TCP位置读取指令的格式:
CRobT([\TaskRef] | [\TaskName] [\Tool] [\Wobj]);
\TaskRef | \TaskName:任务代号或名称,未指定时为当前任务;
\Tool:工具数据,未指定时为当前工具数据;
\Wobj:工件数据,未指定时为当前工件数据;
执行结果:读取机器人当前TCP的位置;
数据类型:robtarget;
到位区间要求:转弯半径在50mm以下;
ertert
关节位置读取指令
关节位置读取指令的格式:
CJointT([\TaskRef] | [\TaskName]);
\TaskRef | \TaskName:任务代号或名称,未指定时为当前任务;
执行结果:读取机器人当前的关节位置;
数据类型:jointtarget;
到位区间要求:fine;
ertert
电机转角读取指令
电机转角读取指令的格式:
ReadMotor([\MecUnit],Axis);
\MecUnit:机械单元名称,未指定时为当前机器人机械单元;
Axis:轴序号1~6;
执行结果:读取机器人电机的当前转角;
数据类型:num,单位为弧度;
ertert
工具数据读取指令
工具数据读取指令的格式:
CTool([\TaskRef] | [\TaskName]);
\TaskRef | \TaskName:任务代号或名称,未指定时为当前任务;
执行结果:读取机器人当前使用的有效工具数据;
数据类型:tooldata;
ertert
工件数据读取指令
工件数据读取指令的格式:
CWobj([\TaskRef] | [\TaskName]);
\TaskRef | \TaskName:任务代号或名称,未指定时为当前任务;
执行结果:读取机器人当前使用的有效工件数据;
数据类型:tooldata;
ertert
速度倍率读取指令
速度倍率读取指令的格式:
CSpeedOverride([\CTask];
\CTask:当前任务(switch型),未指定时为系统总值;
执行结果:示教器速度倍率调整值,可用来读取SpeedRefresh Override的移动速度倍率;
数据类型:num;
ertert
TCP最大速度读取指令
TCP最大速度读取指令的格式:
MaxRobSpeed();
执行结果:当前机器人最大TCP移动速度;
数据类型:num,单位mm/s;
ertert
PAPID移动数据读入函数命令的编程参考实例如下:
MODULE MainModule
CONST robtarget TestPoint10:=[[0,0,0],[1,0,0,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
VAR pos TestPos;
VAR robtarget TestPoint20;
VAR jointtarget TestJpos;
VAR tooldata TestTool;
VAR wobjdata TestWobj;
VAR num TestSpeedOverride;
VAR num TestMaxSpeed;
PROC main()
MoveJ TestPoint10,v1000,fine,tool0;
!定义到程序位点TestPoint10
TestPos:=CPos(\Tool:=tool0,\WObj:=wobj0);
!当前XYZ坐标读入到TestPos
TestPoint20:=CRobT(\Tool:=tool0,\WObj:=wobj0);
!当前TCP位置读入到TestPoint20
TestJpos:=CJointT();
!当前关节位置读入到TestJpos
TestTool:=CTool();
!当前工具数据读入到TestTool
TestWobj:=CWObj();
!当前工件数据读入到TestWobj
SpeedRefresh 90;
!当前机器人移动速率调整为90%
TestSpeedOverride:=CSpeedOverride(\CTask);
!当前机器人速度倍率调整值90%读入到TestSpeedOverride
TestMaxSpeed:=MaxRobSpeed();
!TCP最大移动速度读入到TestMaxSpeed
ENDPROC
ENDMODULE
ertert
有趣的灵魂在等你
长按二维码识别
以上是关于编程基础——移动数据读入指令的主要内容,如果未能解决你的问题,请参考以下文章