ABB机器人的程序编程.docx
- 文档编号:1413683
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:38
- 大小:2.06MB
ABB机器人的程序编程.docx
《ABB机器人的程序编程.docx》由会员分享,可在线阅读,更多相关《ABB机器人的程序编程.docx(38页珍藏版)》请在冰豆网上搜索。
ABB机器人的程序编程
ABB[a]-J-6ABB机器人的程序编程
6.1任务目标
Ø掌握常用的PAPID程序指令。
Ø掌握基本RAPID程序编写、调试、自动运行和保存模块。
6.2任务描述
◆建立程序模块test12.24,模块test12.24下建立例行程序main和Routine1,在main程序下进行运动指令的基本操作练习。
◆掌握常用的RAPID指令的使用方法。
◆建立一个可运行的基本RAPID程序,内容包括程序编写、调试、自动运行和保存模块。
6.3知识储备
6.3.1程序模块与例行程序
RAPID程序中包含了一连串控制机器人的指令,执行这些指令可以实现对机器人的控制操作。
应用程序是使用称为RAPID编程语言的特定词汇和语法编写而成的。
RAPID是一种英文编程语言,所包含的指令可以移动机器人、设置输出、读取输入,还能实现决策、重复其他指令、构造程序、与系统操作员交流等功能。
RAPID程序的基本架构如图所示:
RAPID程序
程序模块1
程序模块2
程序模块3
程序模块4
程序数据
主程序main
例行程序
中断程序
功能
程序数据
例行程序
中断程序
功能
…
…
…
…
程序数据
例行程序
中断程序
功能
RAPID程序的架构说明:
1)RAPID程序是由程序模块与系统模块组成。
一般地,只通过新建程序模块来构建机器人的程序,而系统模块多用于系统方面的控制。
2)可以根据不同的用途创建多个程序模块,如专门用于主控制的程序模块,用于位置计算的程序模块,用于存放数据的程序模块,这样便于归类管理不同用途的例行程序与数据。
3)每一个程序模块包含了程序数据、例行程序、中断程序和功能四种对象,但不一定在一个模块中都有这四种对象,程序模块之间的数据、例行程序、中断程序和功能是可以互相调用的。
4)在RAPID程序中,只有一个主程序main,并且存在于任意一个程序模块中,并且是作为整个RAPID程序执行的起点。
操作步骤:
1.单击“程序编辑器”,查看RAPID程序。
2.单击“例行程序”,查看例行程序列表。
3.单击“后退”或“模块”标签查看模块列表。
4.在“模块”和“例行程序”视图中,可以点击“文件”—“新建”去建立模块或例行程序。
6.3.2在示教器上进行指令编程的基本操作
ABB机器人的RAPID编程提供了丰富的指令来完成各种简单与复杂的应用。
下面就从最常用的指令开始学习RAPID编程,领略RAPID丰富的指令集提供的编程便利性。
1.打开ABB菜单,选择“程序编辑器”。
2.选中要插入指令的程序位置,高显为蓝色。
3.单击“添加指令”,打开指令列表。
4.单击此按钮可切换到其他分类的指令列表。
6.4任务实施
6.4.1基本RAPID指令练习
建立程序模块test12.24,模块test12.24下建立例行程序main和Routine1,在main程序下进行运动指令的基本操作练习。
1.赋值指令
“:
=”赋值指令用于对程序数据进行赋值。
赋值可以是一个常量或数学表达式。
下面的操作步骤以添加一个常量赋值与数学表达式赋值说明此指令的使用:
常量赋值:
reg1:
=5;
数学表达式赋值:
reg2:
=reg1+4;
(1)添加常量赋值指令的操作
1.在指令列表中选择“:
=”。
2.单击“更改数据类型…”,选择num数字型数据。
3.在列表中找到“num”并选中,然后单击“确定”。
4.选中“reg1”。
5.选中“
6.打开“编辑”菜单,选择“仅限选定内容”。
7.通过软键盘输入数字“5”,然后单击“确定”。
8.单击“确定”。
9.在这里就能看到所增加的指令。
(2)添加带数学表达式的赋值指令的操作
1.在指令列表中选择“:
=”。
2.选中“reg2”。
3.选中“
4.选中“reg1”。
5.单击“+”按钮。
6.选中“
7.打开“编辑”菜单,选择“仅限选定内容”,然后在弹出的软键盘画面中输入“4”,单击“确定”。
8.确认正确后,单击“确定”。
9.单击“下方”,添加指令成功。
10.单击“添加指令”,将指令列表收起来
*提示:
编程画面操作技巧
放大/缩小画面。
向上/向下翻页。
向上/向下移动。
2.机器人运动指令
机器人在空间中运动主要有关节运动(MoveJ)、线性运动(MoveL)、圆弧运动(MoveC)和绝对位置运动(MoveAbsJ)四种方式。
(1)绝对位置运动指令
绝对位置运动指令是机器人的运动使用六个轴和外轴的角度值来定义目标位置数据。
操作步骤:
1.进入“手动操纵”画面,确认已选定工具坐标与工件坐标(*提示:
在添加或修改机器人的运动指令之前,一定要确认所使用的工具坐标与工件坐标)。
2.选中指令的位置,打开“添加指令”菜单,选择“MoveAbsJ”指令。
指令解析:
MoveAbsJ*\NoEOffs,v1000,z50,tool1\Wobj:
=wobj1;
参数
含义
*
目标点位置数据
\NoEOffs
外轴不带偏移数据
v1000
运动速度数据1000mm/s
z50
转弯区数据
tool1
工具坐标数据
wobj1
工件坐标数据
*提示:
MoveAbsJ常用于机器人六个轴回到机械零点(0°)的位置。
(2)关节运动指令
关节运动指令是对路径精度要求不高的情况下,机器人的工具中心点TCP从一个位置移动到另一个位置,两个位置之间的路径不一定是直线。
指令解析:
MoveJp10,v1000,z50,tool1\Wobj:
=wobj1;
参数
含义
p10
目标点位置数据
v1000
运动速度数据
关节运动适合机器人大范围运动时使用,不容易在运动过程中出现关节轴进入机械死点的问题。
*注意:
目标点位置数据定义机器人TCP点的运动目标,可以在示教器中单击“修改位置”进行修改。
运动速度数据定义速度(mm/s)
转弯区数据定义转变区的大小mm。
工具坐标数据定义当前指令使用的工具
工件坐标数据定义当前指令使用的工件坐标
(3)线性运动指令
线性运动是机器人的TCP从起点到终点之间的路径始终保持为直线。
一般如焊接、涂胶等应用对路径要求高的场合使用此指令。
(4)圆弧运动指令
圆弧路径是在机器人可到达的控件范围内定义三个位置点,第一个点是圆弧的起点,第二个点用于圆弧的曲率,第三个点是圆弧的终点。
指令解析:
MoveLp10,v1000,fine,tool1\Wobj:
=wobj1;
MoveCp30,p40,v1000,z1,tool1\Wobj:
=wobj1;
参数
含义
p10
圆弧的第一个点
p30
圆弧的第二个点
p40
圆弧的第三个点
fine\z1
转弯区数据
(5)运动指令的使用示例
指令:
MoveLp1,v200,z10,tool1\Wobj:
=wobj1;
MoveLp2,v100,fine,tool1\Wobj:
=wobj1;
MoveJp3,v500,fine,tool1\Wobj:
=wobj1;
图示:
200mm/s
10mm
100mm/s
500mm/s
p1
p2
p3
说明:
机器人的TCP从当前位置向p1点以线性运动方式前进,速度是200mm/s,转弯区数据是10mm,距离p1点还有10mm的时候开始转弯,使用的工具数据是tool1,工件坐标数据是wobj1。
机器人的TCP从p1向p2点以线性运动方式前进,速度是100mm/s,转弯区数据是fine,机器人在p2点稍作停顿,使用的工具数据是tool1,工件坐标数据是wobj1。
机器人的TCP从p2向p3点以关节运动方式前进,速度是500mm/s,转弯区数据是fine,机器人在p3点停止,使用的工具数据是tool1,工件坐标数据是wobj1。
提示:
*关于速度:
速度一般最高为50000mm/s,在手动限速状态下,所有的运动速度被限速在250mm/s
*关于转弯区:
fine指机器人TCP达到目标点,在目标点速度降为零。
机器人动作有所停顿然后再向下运动,如果是一段路径的最后一个点,一定要为fine。
转弯区数值越大,机器人的动作路径就越圆滑与流畅。
3.I/O控制指令
I/O控制指令用于控制I/O信号,以达到与机器人周边设备进行通信的目的。
(1)Set数字信号置位指令
Set数字信号置位指令用于将数字输出(DigitalOutput)置位为“1”。
Setdo1;
参数
含义
do1
数字输出信号
(2)Reset数字信号复位指令
Reset数字信号复位指令用于将数字输出(DigitalOutput)置位为“0”。
Resetdo1;
*提示:
如果在Set、Reset指令前有运动指令MoveJ、MoveL、MoveC、MoveAbsJ的转弯区数据,必须使用fine才可以准确地输出I/O信号状态的变化。
(3)WaitDI数字输入信号判断指令
WaitDI数字输入信号判断指令用于判断数字输入信号的值是否与目标一致。
WaitDIdi1,1;
参数
含义
di1
数字输入信号
1
判断的目标值
在例子中,程序执行此指令时,等待di1的值为1。
如果di1为1,则程序继续往下执行;如果到达最大等待时间300s(此时间可根据实际进行设定)以后,di1的值还不为1,则机器人报警或进入出错处理程序。
(4)WaitDO数字输出信号判断指令
WaitDO数字输出信号判断指令用于判断数字输出信号的值是否与目标一致。
WaitDOdo1,1;
参数以及说明同WaitDi指令。
(5)WaitUntil信号判断指令
WaitUntil信号判断指令可用于布尔量、数字量和I/O信号值的判断,如果条件到达指令中的设定值,程序继续往下执行,否则就一直等待,除非设定了最大等待时间。
WaitUntildi1=1;
WaitUntildo1=0;
WaitUntilflag=TRUE;
WaitUntilnum1=4;
参数
含义
flag1
布尔量
num1
数字量
4.条件逻辑判断指令
条件逻辑判断指令用于对条件进行判断后,执行相应的操作,是RAPID中重要的组成部分。
(1)CompactIF紧凑型条件判断指令
CompactIF紧凑型条件判断指令用于当一个条件满足了以后,就执行一句指令。
IFflag1=TRUESetdo1;
如果flag1的状态为TRUE,则do1被置位为1。
(2)IF条件判断指令
IF条件判断指令,就是根据不同的条件去执行不同的指令。
指令解析:
IFnum1=1THEN
flag:
=TRUE;
ELSEIFnum1=2THEN
flag1:
=FALSE;
ELSE
Setdo1;
ENDIF
如果num1为1,则flag1会赋值为TRUE。
如果num1为2,则flag1会赋值为FALSE。
除了以上两种条件之外,则执行do1置位为1.
*条件判定的条件数量可以根据实际情况进行增加与减少。
(3)FOR重复执行判断指令
FOR重复执行判断指令,是用于一个或多个指令需要重复执行次数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ABB 机器人 程序 编程
![提示](https://static.bdocx.com/images/bang_tan.gif)