完整版ABB机器人的程序编程.docx

上传人:b****8 文档编号:23790200 上传时间:2023-05-20 格式:DOCX 页数:44 大小:4.28MB
下载 相关 举报
完整版ABB机器人的程序编程.docx_第1页
第1页 / 共44页
完整版ABB机器人的程序编程.docx_第2页
第2页 / 共44页
完整版ABB机器人的程序编程.docx_第3页
第3页 / 共44页
完整版ABB机器人的程序编程.docx_第4页
第4页 / 共44页
完整版ABB机器人的程序编程.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

完整版ABB机器人的程序编程.docx

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

完整版ABB机器人的程序编程.docx

完整版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;

图示:

p3

10mmp1

 

 

200mm/s

1050

0m0m

 

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

FORiFROM1TO10DORoutine1;

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,然后单击“确定”。

 

(2)RETURN返回例行程序指令

 

4.调用例行程序指令执行的结果。

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

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

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.选中“”,然后打开“编辑”菜单,选择“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.左手按下使能键,进入“电动机开启”状态。

按以下“单步

向前”按键,并小心观察机器人的移动。

在按下“程序停止”键后,才可以松

开使能键。

 

 

5.在指令左侧出现一个小机器人,说明机器人已到达pHome这个等待位置。

 

6.机器人回到了pHome这个等待位置。

3.对RAPID程序进行调试——rMoveRoutine

1.打开“调试”菜单,选择“PP移至例行程序”,选中“rMoveRoutine”例行程序,然后单击“确定”。

 

2.单步进行调试运动指令的位置是否合适。

 

3.机器人TCP点从p10到p20进行线性运动。

4.选中要调试

的指令后,使用“PP移至光标”,可以将程序指针移至想要执行的指令,进行执行,

方便程序的调试。

此功能只能将PP在同一个例行程序中跳转

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

当前位置:首页 > 幼儿教育 > 唐诗宋词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1