Download presentation
Presentation is loading. Please wait.
Published byHanna Laine Modified 6年之前
1
工业机器人入门实用教程 (ABB机器人) 主讲人:王老师
2
第七章 第01章 ABB机器人认知 第02章 机器人手动操纵 第03章 机器人零点校准 第04章 机器人坐标系建立 第05章 机器人示教
第02章 机器人手动操纵 第03章 机器人零点校准 第04章 机器人坐标系建立 第05章 机器人示教 第06章 机器人输入输出 第07章 机器人基本指令 第08章 编程实例 第09章 异常事件 第10章 RobotStudio离线仿真 第七章
3
第7章 机器人基本指令 教学内容: 学习目标: 7.1 常用数据类型 7.2 编程基础知识 1、了解ABB机器人常用数据类型
第7章 机器人基本指令 教学内容: 7.1 常用数据类型 7.2 编程基础知识 学习目标: 1、了解ABB机器人常用数据类型 2、掌握ABB机器人基本运行指令 3、掌握ABB机器人掌握功能函数使用 4、掌握ABB机器人输入输出指令 5、掌握ABB机器人流程指令 6、掌握ABB机器人计时指令 7、掌握ABB机器人中断指令 8、掌握ABB机器人其他指令
4
01 7.1 常用数据类型 更多免费资源
5
02 7.1 常用数据类型 ABB机器人程序常用数据类型有3类:变量VAR、可变量PRES、常量CONST。 1、变量VAR
变量型数据在程序执行的过程中和停止时,会保持当前的值。但如果程序指针被移到主程序后,数据就会丢失。 2、可变量PRES 可变量PRES最大的特点是:无论程序的指针如何,都会保持最后赋予的值。在机器人执行的RAPID程序中也可以对可变量存储类型数据进行赋值操作,在程序执行以后,赋值的结果会一直保持,直到对其进行重新赋值。 3、常量CONST 常量CONST的特点是在定义时已赋予了数值,且不能在程序中进行修改,除了手动修改。
6
03 7.2 编程基础知识:基本运行指令 1、MoveJ:关节运动,机器人用最快捷的方式运动至目标点。此时机器人运动状态不完全可控,但运动路径保持唯一。常用于机器人在空间大范围移动。 MoveJ P2,v100,fine,tool1\wobj:=wobj0; 2、MoveL:线性运动,机器人以线性移动方式运动至目标点。当前点与目标点二点决定一条直线,机器人运动状态可控制,且运动路径唯一,但可能出现奇点。常用于机器人在工作状态下移动。 MoveL P3,v500,fine,tool1\wobj:=wobj0;
7
04 7.2 编程基础知识:基本运行指令 MoveL P1,v200,z10,tool1\w obj:=wobj0;
MoveL P2,v100,fine,tool1\ wobj:=wobj0; MoveJ P3,v500,fine,tool1\wobj:=wobj0;
8
05 7.2 编程基础知识:基本运行指令 3、MoveC:圆周运动,机器人通过中间点以圆弧移动方式运动至目标点。当前点、中间点与目标点三点决定一段圆弧,机器人运动状态可控制,运动路径保持唯一。常用于机器人在工作状态下移动。 MoveL 起点,v200,z10,tool1\wobj:=wobj0; MoveC 圆弧上点,终点,v500,fine,tool1\wobj:=wobj0;
9
06 7.2 编程基础知识:基本运行指令 MoveAbsJ:机器人以单轴运行的方式运动至目标点。此运动方式绝对不存在奇点,且运动状态完全不可控制。要避免在正常生产中使用此命令。指令中TCP与Wobj只与运动速度有关,与运动位置无关。常用于检查机器人零点位置。 MoveAbsJ *,v100, fine,tool0\wobj:=wobj0; 在编辑状态下,单击【*】,单击【调试】→【查看值】,将rax_1至rax_6值输入0,单击【确定】,运行该指令,则机器人回到机械零点位置。
10
07 7.2 编程基础知识:基本运行指令
11
08 7.2 编程基础知识:基本运行指令 将对应值修改为0
12
09 7.2 编程基础知识:功能函数 机器人常用的功能函数有工件坐标偏移函数offs()、工具偏移函数Reltool()和读取机器人当前位置数据函数CRobT()等。 1、工件坐标偏移函数offs() 功能函数offs()坐标方向与机器人工件坐标系方向一致。 程序: MoveL offs (P1,100,50,0),v100,z100, tool1; 注释: P1为开始位置; 100表示从开始位置沿X轴方向偏移100mm; 50表示从开始位置沿Y轴方向偏移50mm; 0表示从开始位置沿Z轴方向偏移0mm。
13
Movel RelTool (P1,100,50,0\Rx:=15\Ry:=45\Rz:=30 ),v100,z100,tool1;
7.2 编程基础知识:功能函数 2、工件坐标偏移函数Reltool() 功能函数RelTool()坐标方向与机器人工具(Tool)坐标系方向一致。 程序: Movel RelTool (P1,100,50,0\Rx:=15\Ry:=45\Rz:=30 ),v100,z100,tool1; 注释: P1为开始位置; 100表示从开始位置沿X轴方向偏移100mm; 50表示从开始位置沿Y轴方向偏移50mm; 0表示从开始位置沿Z轴方向没有偏移; 15表示从开始位置绕X轴方向偏差角度为15度; 45表示从开始位置绕Y轴方向偏差角度为45度; 30表示从开始位置绕Z轴方向偏差角度为30度。 更多免费资源
14
11 7.2 编程基础知识:功能函数 2、读取当前位置CRobT()函数() CRobT()根据提供的工具工件坐标系来读取当前位置参数功能。
读取当前机器人TCP位置数据。 PERS robtarget p10; p10:= CRobT(\Tool:= tool1\WObj := wobj0); 读取当前机器人TCP位置数据,指定工具数据为tool1,工件坐标数据为wobj0(若不指定,则默认工具数据为tool0,默认工件坐标系数据为wobj0),并将读取的目标点数据赋值给p10。
15
12 7.2 编程基础知识:输入输出指令 1、di—机器人数字输入信号
输入信号通常用于判断外部设备给机器人发送的信号。外围设备满足某个条件才可以让机器人继续运行。 WaitDI:等待数字输入信号指令。 WaitDI di1,1; 当di1等于1时,机器人继续执行后面执行,否则一直等待。 2、do—机器人数字输出信号 输出信号有两种状态:1为接通;0为断开。
16
13 7.2 编程基础知识:输入输出指令 Set do1; 将一个do1的信号赋予值为1; Reset do1;
PulseDO\PLength:=2,DO1; 输出2秒时间脉冲信号(DO1)。
17
14 7.2 编程基础知识:流程指令 IF:条件指令 满足不同条件,执行对应程序 IF reg> 5 THEN Set do1;
ELSE Reset do1; ENDIF 如果reg> 5条件满足,则执行Set Do1指令,否则 Reset do1;
18
15 7.2 编程基础知识:流程指令 FOR:循环指令 根据指定的次数,重复执行对应的程序。 FOR i FROM 1 TO 10 DO
Routinel; ENDFOR 重复执行10次Routinel里的程序。 WHILE:判断指令 如果条件满足,则重复执行对应程序 WHILE Reg1 <reg2 Do Reg1 := Reg1+ 1; ENDWHILE 如果变量Reg1<reg2条件成立,则一直重复执行,Reg1加1,直到条件不满足为止。
19
16 7.2 编程基础知识:流程指令 TEST:当前指令通过判断相应数据变量与其对应的值,控制需要执行的相应指令。 TEST count
CASE 1: Reg1 := Reg1+ 1; CASE 2: Reg1 := Reg1+ 2; DEFAULT: Reg1 := Reg1+ 3; ENDTEST 根据count值执行相应case,没有对应值则执行default。
20
17 7.2 编程基础知识:计时指令 计时指令主要有:ClkReset、ClkStart、ClkStop三种指令。由于这些指令不可以独立使用。 ClkReset clock1; 计时器清零 ClkStart clock1; 计时器开始计时 RunCycle; 程序名 ClkStop clock1; 计时器停止计时 读取计时器内容 CycleTime:= ClkRead(clock1) TPWrite“RunCycle Time :”\Num:= CycleTime; 打印运行时间 限制: 机器人时钟计时超过4,294,967秒(即49天17小时2分47秒),机器人将出错。
21
18 7.2 编程基础知识:中断指令 中断指令主要有:IDelete、CONNECT、ISignalDI、Iwatch、ISleep四种基本指令。由于该指令不可以独立使用 VARintnum intno1; 定义中断数据intno1。 IDelete intno1; 取消当前中断符intno1的连接,预防误触发。 CONNECT intno1 WITH tTrap; 将中断符与中断程序(tTrap)连接。 ISignalDI di1,1, intno1; 当输入信号di1为1时,触发该中断程序。 IWatch intno1; 激活中断监控。系统启动后默认为激活状态,只要中断条件满足,即会触发中断。 ISleep intno1; 使中断监控失效,在失效期间,该中断程序不会被触发。
22
19 7.2 编程基础知识:其他指令 ProcCall: 调用一个例行程序指令; Return:
在不适用参数变量时,机器人运行至此指令时,无论是主程序main、标准例行程序PROC、中断程序TRAP都代表当前例行程序结束; Exit: 停止程序执行并禁止在运行处开始; WaitTime: 等待时间,单位s; WaitRob\InPos: 等待机器人执行到当前令。 更多免费资源
23
THANK YOU
Similar presentations