ABB机器人运动指令
机器人运动指令
运动控制 | 指令 |
---|---|
绝对位置运动 | MOVAbsJ |
关节运动 | MOVJ |
直线运动 | MOVL |
圆弧运动 | MOVC |
绝对位置(MoveAbsJ)
绝对位置运动指令是机器人使用6个轴和外轴的角度值来定义目标位置数据:
参数 | 含义 |
---|---|
* | 目标点位置数据 |
v1000 | 运动速度数据,1000mm/s |
z50 | 转弯区数据 |
tool1 | 工具坐标数据 |
wobj1 | 工件坐标数据 |
MoveAbsJ指令下,机器人以单轴运行的方式运动至目标点,绝对不会存在奇点,运动状态完全不可控,避免在正常生产中使用此指令,常用于检查机器人零点位置,指令中TCP与Wobj只与运行速度有关,与运动位置无关。常用于机器人六个轴回到机械零点的位置:
点击*号,在新页面中点击表达式,点击编辑:
点击仅限选定内容,将第一个列表中的元素全部改成0,点击确定回到程序编辑界面,将程序指针移动到该语句(在调试菜单下可以操作),启动电机,按压示教器运行按钮,执行程序,完成后,急切人回回到机械零点:
关节运动 (MoveJ)
关节运动是MoveJ是在路径精度要求不高的情况下,机器人的工具中心点TCP从一个位置移动到另一个位置,两个位置间的移动路径不一定是直线:
MoveJ指令下,机器人以最快捷的方式运动到目标点,机器人运动状态不完全可控,但运动路径保持唯一,常用于机器人在空间大范围移动,非工作状态移动?,语句如下:
直线运送(MoveL)
线性运动是机器人的TCP从起点到终点之间的路径始终保持为直线。一般如焊接,涂胶等应用对路径要求高的场合使用此指令:
MoveL可能出现奇点,常用于工作状态移动,语句如下:
Z50与fine的区别:
1 | MoveL P10, V100, Z50, tool1/Wobj1; |
在接近P10的时候,Z50逼近但不靠近,形成半径50mm转弯曲线,但fine是精确达到:
IO控制指令
IO控制指令用于控制IO信号,以达到与机器人周边设备进行通信的目的:
IO指令 | 说明 | 用途 |
---|---|---|
Set | 数字信号置位指令 | 用于将 Digital Output 数字输出置位为1 |
Reset | 数字信号复位指令 | 用于将 Digital Output 数字输出置位为0 |
ProCall | 调用例行程序指令 | 在程序中指定的位置调用例行程序 |
RETURN | 返回例行程序指令 | 返回例行程序到调用此例行程序的位置 |
直线运动控制
要求:
机器默认位置为
pHome
, 启动程序后,机器人沿桌子边缘从P10
到P20
往复直线运动。
在MainModule1下新建4个例行程序:
实际在命名的时候,如果与之前已建立的有重复,会提示,更改名称即可,但有些保留名字如main()是不可以改的。
模块,例行程序,程序数据以及其作用域后续弄清楚了再Update.main()是主程序,在main()中调用
ProCall
其它3个例行程序:在
ENDIF
下一行插入WaitTime 1;
,先选点击IF
来选中整个IF程序块,再在这个程序块后插入WaitTime指令。1.例行程序
rInitAll()
:初始化两条速度控制指令:2.例行程序
rMoveRoutine()
:3.例行程序
rHome()
:调试例行程序,以
rMoveRoutine()
为列:在调试菜单下,将PP移至例行程序—:
选择rMoveRoutine例行程序,然后按压步进执行程序按钮,观察机器人是否按照预期动作:
调试的过程中如果提示未定义载荷错误:
可以按照提示先随便修改一个值好调试通过:
3个示例程序完成后,调试
main()
,直接启动程序即可:
Training:正方形运动
要求:
机器人默认位置
pHome
,启动程序后,机器人从默认位置到P10
,再依次直线经过P20
,P30
,P40
,回到P10
,结束后回到pHome
.
只需要变更上面程序的
rMoveRoute
,将P20
改成P40,再增加P30
,P40
程序数据robtarget
即可。
结果演示:
MoveC:圆弧运动
需要三个点确定一个圆弧运动:起点p10
,终点p40
,曲率p30
.
MoveC指令下,机器人状态可控,运动路径唯一,常用于工作状态移动:
示例1:
要求:默认点为pHome,让机器人从P10,经过P20,到P30结束,后回到pHome.
- 在俯视视图下,使用手动线性模式拖动SpintecTool的顶部到起点
P10
.由于圆弧起点被遮挡,可以先右击SpinterTool,反选可见,调整完成后,再到左侧面板将SpintecTool设置为可见即可:
修改
rMoveRoutine()
例行程序:点击例行程序中的程序数据p10
,在点击修改位置,即可更新p10
为圆弧起点:依次修改其它语句,完成后步进调试例行程序
rMoveRoutine()
:
结果演示:
圆周运动控制
要求:默认点pHome,起始点P10,经过P20,P30,P40,回到P10,最后再回到pHome.
**修改rMoveRoutine()
**程序如下:
圆弧运动MoveC()
一般步超过240°,一个完成的圆,至少需要两条圆弧指令来完成。(一个圆被分的圆弧越多越圆?)
结果演示: