ABB机器人的程序编程.docx
- 文档编号:20133480
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:19
- 大小:51.81KB
ABB机器人的程序编程.docx
《ABB机器人的程序编程.docx》由会员分享,可在线阅读,更多相关《ABB机器人的程序编程.docx(19页珍藏版)》请在冰豆网上搜索。
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
工件坐标数据
指令解析:
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;
图示:
p2
说明:
机器人的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数字信号复位指令
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=1THENflag:
=TRUE;
ELSEIFnum1=2THENflag1:
=FALSE;
ELSE
Setdo1;
ENDIF
如果num1为1,则flag1会赋值为TRUE。
如果num1为2,则flag1会赋值为FALSE。
除了以上两种条件之外,则执行do1置位为1.
*条件判定的条件数量可以根据实际情况进行增加与减少。
(3)FOR重复执行判断指令
FOR重复执行判断指令,是用于一个或多个指令需要重复执行次数的情况
FORiFROM1TO10DO
Routine1;
ENDFOR
例行程序Routine1,重复执行10次。
(4)WHILE条件判断指令
WHILE条件判断指令,用于在给定条件满足的情况下,一直重复执行对应的指令。
WHILEnum1>num2DOnum1:
=num1-1;
ENDWHILE
当num1>num2的条件满足的情况下,就一直执行num1:
=num1-1的操作。
5.其他的常用指令
(1)ProcCall调用例行程序指令
通过使用此指令在指定的位置调用例行程序。
1.选中“
2.在添加指令的列表中,选择“ProcCal指l令”。
3.选中要调用的例行程序
Routine1,然后单击“确定”。
4.调用例行程序指令执行的结果。
2)RETURN返回例行程序指令
RETURN返回例行程序指令,当此指令被执行时,则马上结束本例行程序的执行,返回程序指针到调用此例行程序的位置。
当di1=1时,执行RETURN指令,程序指针返回到调用Routine2的位置并继续向下执行Setdo1这个指令。
(3)WaitTime时间等待指令
WaitTime时间等待指令,用于程序在等待一个指定的时间以后,再继续向下执行
WaitTime4;
Resetdo1;
等待4s以后,程序向下执行Resetdo1指令。
6.4.2常用RAPID指令的使用方法
1.用户输入两个数字,按钮选择一个运算符,屏幕输出运算结果(使用TPReadNum、TPReadFK、TPWrite
和IF指令)
2.用户输入一个0-100的分数值,程序输出A(90-100)、B(80-89)、C(60-79)、D(0-60)四个评级。
(IFELSEIF语句的使用)
3.使用WHILE或FOR循环,计算1+2+3+⋯⋯+99+100的结果。
4.RAPID编程中的功能(FUNCTION)的使用介绍
使用自定义功能,自己实现Offs功能和Abs功能(需掌握带参数的功能、功能返回值以及复杂数据的赋值方法,随堂联系practise10-1,,需要教师指导)。
功能Abs:
功能Offs:
5.掌握中断程序的使用
(1)使用di信号触发中断程序,每次触发,均使系统用户变量reg1进行+1的操作,当reg1>10时,将
reg1重置为1。
(2)使用ITimer指令进行定时间隔为1s的中断触发,每次触发使系统用户变量reg2进行+1的操作,
当reg2>10时,将reg2重置为1。
6.4.3建立一个可运行的基本RAPID程序
在之前的章节中,已大概了解RAPID程序编程的相关操作及基本的指令。
现在就通过一个实例来体验一下ABB机器人便捷的程序编辑。
编制一个程序的基本流程是这样的:
1)确定需要多少个程序模块。
多少个程序模块是由应用的复杂性所决定的,比如可以将位置计算、程序数据、逻辑控制等分配到不同的程序模块,方便管理。
2)确定各个程序模块中要建立的例行程序,不同的功能就放到不同的程序模块中去,如夹具打开、夹具关闭这样的功能就可以分别建立成例行程序,方便调用与管理。
1.建立RAPID程序实例(事前准备建立board10和di1)
1.确定工作要求:
机器人空闲时,在位置点pHome等待。
如果外部信号di1输入为1时,机器人沿着物体的一条边从p10到p20走一条直线,结束以后回到pHome点。
2.ABB菜单中,选择“程序编辑器”。
3.单击“取消”(如果系统中不存在程序的话会出现此对
话框)。
4.打开“文件”菜单,选择“新建模块”。
此应用比较
简单,所以只需建一个程序模块就足够了。
5.单击“是”进行确
定。
6.定义程序模块的名称后,单击“确定”。
程序模块的名称可以根据需要自己定义,以方便管理。
7.选中
“Module1,”单击
“显示模块”。
8.单击“例行程序”。
9.打开“文件”,单击“新建例行程序”。
10.首先建立一个主程序main,然后单击“确定”,根据第9、10步骤建立
相关的例行程序。
rHome用于机器人回等待位。
rInitAll初始化。
rMoveRoutine存放直线运动路径。
11.选择“rHome”,然后单击“显示例行程序”。
12.到“手动操纵”菜单内,确认已选中要使用的工具坐标与工件坐标。
13.回到程序编辑器,单击“添加指令”,打开指令列表。
选中“
14.双击“*,”进入指令参数修改画面。
15.通过新建或选择对应的参数数据,设定为图中所示的数值。
16.选择合适的动
作模式,使用摇杆
将机器人运动到图
中的位置,作为机器人的空闲等待点。
17.选中“pHome”目标点,单击“修改位置”,将机器人的当前位置数据记录下来。
18.单击“修改”进行确认。
19.单击“例行程序”标签。
20.选中“rInitAll例行程序。
21.在此例行程序中,加入在程序正式运行前,需要作初始化的内容,如速度限定、夹具复位等。
具体根据需要添加。
在此例行程序rInitAll中只增加了两条速度控制的指令(在添加指令列表的Setting类别中)和调用了回等待位的例行程序rHome。
22.单击“例行程序”标签。
23.选择“rMoveRoutine”例行程序,然后单击“显示例行程序”。
24.添加“MoveJ”指令,并将参数设定为图中所示。
25.选择合适的动作模式,使用摇杆将机器人运动到图中的位置,作为机器人的p10点。
26.选中“p10”点,单击“修改位置”,将机器人的当前位置记录到p10中去。
27.添加“MoveL”指令,并将参数设置为如图所示。
28.选择合适的动作模式,使用摇杆将机器人运动到图中的位置,作为机器人的p20点。
29.选中“p20”点,单击“修改位置”,将机器人的当前位置记录到p20中
去。
单击“例行程
序”标签。
30.选中“main主”程序,进行程序执行主体架构的设定。
31.在开始位置调用初始化例行程序。
32.添加“WHILE”指令,并将条件设定为“TRUE”。
33.添加“IF指”令到图中所示位置。
使用WHILE指令构建一个死循环的目的在于将初始化程序与正常运行的路径程序隔离开。
初始化程序只在一开始时执行一次,然后就根据条件循环执行路径运动。
34.选中“
35.使用软键盘输
入“di=1”,然后单击“确定”。
此处不能直接判断数字输出信号的状态,如do1=1,这是错误的,要使用功能DOutput()。
36.在IF指令的循环中,调用两个例行程序rMoveRoutine和rHome。
在选中IF指令的下方,添加WaitTime指令,参数是0.3s。
主程序解读:
1)首先进入初始化程序进行相关初始化的设置。
2)进行WHILE的死循环,目的是将初始化程序隔离开。
3)如果di1=1,则机器人执行对应的路径程序。
4)等待0.3s的这个指令的目的是防止系统CPU过负荷
而设定的。
37.打开“调试”菜单。
单击“检查程序”,对程序的语法进行检查。
38.单击“确定”完成。
如果有错,系统会提示出错的具体位置与建议操作。
2.对RAPID程序进行调试——pHome
在完成了程序的编辑以后,接下来的工作就是对这个程序进行调试,调试的目的有以下两个:
1)检查程序的位置点是否正确。
2)检查程序的逻辑控制是否有不完善的地方。
1.打开“调试”菜单,选择“PP移至例行程序”。
2.选中“rHome”例行程序,然后单击“确定”。
3.PP是程序指针(黄色小箭头)的简称。
程序指针永远指向将要执行的指令。
所以图中
的指令将会是被执行的指令。
4.左手按下使能键,进入“电动机开启”状态。
按以下“单步向前”按键,并小心观察机器人的移动。
在按下“程序停止”键后,才可以松开使能键。
5.在指令左侧出现一个小机器人,说明机器人已到达pHome这个等待位置。
6.机器人回到了pHome这个等待位置。
3.对RAPID程序进行调试——rMoveRoutine
菜单,选择“PP移至例行程序”,选中“rMoveRoutine”例行程序,然后单击“确定”。
2.单步进行调试运动指令的位置是否合适。
3.机器人TCP点从p10到p20进行线性运动。
4.选中要调试的指令后,使用“PP移至光标”,可以将程序指针移至想要执行的指令,进行执行,方便程序的调试。
此功能只能将PP在同一个例行程序中跳转。
如要将PP移至其他例行程序,可使用“PP移至例行程序”功能。
4.对RAPID程序进行调试——main主程序
1.打开“调试”菜单,单击“PP
移至Main”。
2.PP便会自动指向主程序的第一句指令。
3.左手按下使能键,进入“电动机开启”状态。
按一下“程序启动”按键,并小心观察机器人的移动。
5.RAPID程序自动运行的操作
在手动状态下,完成了调试确认运动与逻辑控制正确之后,就可以将机器人系统投入自动运行状态,
以下就RAPID程序自动运行的操作:
1.将状态钥匙左旋至左侧的自动状态。
2.单击“确定”,确认状态的切换。
3.单击“PP移至Mian”,将PP指向主程序的第一句指令。
4.单击“是”。
5.按下白色按钮,开启电动机。
按下“程序启动”按钮。
6.这时,可以观
察到程序已在自
动运行过程中。
7.单击“快捷菜单”按钮。
单击“速度”按钮(第5个按钮),就可以在此设定程序中机器人运动的速度。
6.RAPID程序模块的保存
1.进入“程序编辑器”,单击“模块”标签。
选中需要保存的程序模块。
2.打开“文件”菜单,选择“另存模块为⋯”,就可以将程序模块保
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ABB 机器人 程序 编程