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°,一个完成的圆,至少需要两条圆弧指令来完成。(一个圆被分的圆弧越多越圆?)
结果演示:
