ABB机器人的程序编程.docx

上传人:b****1 文档编号:2194610 上传时间:2023-05-02 格式:DOCX 页数:51 大小:1,006.04KB
下载 相关 举报
ABB机器人的程序编程.docx_第1页
第1页 / 共51页
ABB机器人的程序编程.docx_第2页
第2页 / 共51页
ABB机器人的程序编程.docx_第3页
第3页 / 共51页
ABB机器人的程序编程.docx_第4页
第4页 / 共51页
ABB机器人的程序编程.docx_第5页
第5页 / 共51页
ABB机器人的程序编程.docx_第6页
第6页 / 共51页
ABB机器人的程序编程.docx_第7页
第7页 / 共51页
ABB机器人的程序编程.docx_第8页
第8页 / 共51页
ABB机器人的程序编程.docx_第9页
第9页 / 共51页
ABB机器人的程序编程.docx_第10页
第10页 / 共51页
ABB机器人的程序编程.docx_第11页
第11页 / 共51页
ABB机器人的程序编程.docx_第12页
第12页 / 共51页
ABB机器人的程序编程.docx_第13页
第13页 / 共51页
ABB机器人的程序编程.docx_第14页
第14页 / 共51页
ABB机器人的程序编程.docx_第15页
第15页 / 共51页
ABB机器人的程序编程.docx_第16页
第16页 / 共51页
ABB机器人的程序编程.docx_第17页
第17页 / 共51页
ABB机器人的程序编程.docx_第18页
第18页 / 共51页
ABB机器人的程序编程.docx_第19页
第19页 / 共51页
ABB机器人的程序编程.docx_第20页
第20页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

ABB机器人的程序编程.docx

《ABB机器人的程序编程.docx》由会员分享,可在线阅读,更多相关《ABB机器人的程序编程.docx(51页珍藏版)》请在冰点文库上搜索。

ABB机器人的程序编程.docx

ABB机器人的程序编程

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;

图示:

肇庆市技师学院

p3p110mm5001

200mm/s0m0m

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数字信号复位指令

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重复执行判断指令,是用于一个或多个指令需要重复执行次数的情况

FORiFROM1TO10DO

Routine1;

ENDFOR

例行程序Routine1,重复执行10次。

(4)WHILE条件判断指令

WHILE条件判断指令,用于在给定条件满足的情况下,一直重复执行对应的指令。

WHILEnum1>num2DO

num1:

=num1-1;

ENDWHILE

肇庆市技师学院

当num1>num2的条件满足的情况下,就一直执行num1:

=num1-1的操作。

5.其他的常用指令

(1)ProcCall调用例行程序指令通过使用此指令

在指定的位置调用例行程序。

1.选中“”为要调用

的例行程序的位置。

2.在添加指令的列表中,

选择“ProcCall”指令。

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)四个评级。

(ELSEIFIF

语句的使用)

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.回到程序编辑器,单击“添加指令”,打开指令列表。

选中“”为插入指令的位置,在指令列表中选择“MoveJ”。

14.双击“*”,进入指令参数修改画面。

肇庆市技师学院

15.通过新建或选择对应的参数数据,设定为图中所示的数值。

16.选择合适的动作模式,使用摇杆将机器人运动到图中的位置,作为机器人的空闲等待点。

17.选中“pHome”目标点,单击“修改位置”,将机器人的当前位置数据记录下来。

肇庆市技师学院

18.单击“修改”进

行确认。

19.单击“例行程

序”标签。

20.选中“rInitAll”

例行程序。

21.在此例行程序

中,加入在程序正式运行前,需要作

初始化的内容,如

速度限定、夹具复

位等。

具体根据需

要添加。

在此例行程序rInitAll中只增

肇庆市技师学院

加了两条速度控制

的指令(在添加指

令列表的Setting类

别中)和调用了回

等待位的例行程序

rHome。

22.单击“例行程

序”标签。

23.选择

“rMoveRoutin”e

例行程序,然后单

击“显示例行程

序”。

24.添加“MoveJ”

指令,并将参数设

定为图中所示。

肇庆市技师学院

25.选择合适的动作模式,使用摇杆将机器人运动到图中的位置,作为机器人的p10点。

26.选中“p10”点,单击“修改位置”,将机器人的当前位置记录到p10中去。

27.添加“MoveL”指令,并将参数设置为如图所示。

28.选择合适的动作模式,使用摇杆将机器人运动到图中的位置,作为机器人的p20点。

肇庆市技师学院

29.选中“p20”点,单击“修改位置”,将机器人的当前位置记录到p20中去。

单击“例行程序”标签。

30.选中“main”主程序,进行程序执行主体架构的设定。

31.在开始位置调用初始化例行程序。

32.添加“WHILE”指令,并将条件设定为“TRUE”。

肇庆市技师学院

33.添加“IF”指令到图中所示位置。

使用WHILE

指令构建一个死循

环的目的在于将初

始化程序与正常运

行的路径程序隔离

开。

初始化程序只

在一开始时执行一

次,然后就根据条

件循环执行路径运动。

34.选中“”,

然后打开“编辑”

菜单,选择

“ABC…”。

肇庆市技师学院

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.左手按下使

能键,进入

“电动机开

启”状态。

按以下“单步

向前”按键,

并小心观察

机器人的

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2