ABBa-J-6ABB机器人的程序编程_第1页
ABBa-J-6ABB机器人的程序编程_第2页
ABBa-J-6ABB机器人的程序编程_第3页
ABBa-J-6ABB机器人的程序编程_第4页
ABBa-J-6ABB机器人的程序编程_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实用文档

ABB|a]-J-6ABB机器人的程序编程

6.1任务目标

>掌握常用的PAPID程序指令。

>掌握基本RAPID程序编写、调试、自动运行和保存模块。

6.2任务描述

♦建立程序模块testl2.24,模块testl2.24下建立例行程序main和Routlnel,在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

程序执行的起点。

操作步骤:

-用网啕信—能工…区

色HotEdit5备份与恢复

刁校准

g输入输出

号手动操纵,控制面板

gq自动生产窗口事件日志1.单击“程序编辑器〃,查看

FlexPendant资源管理器RAPID程序。

会程序数据*系统信息

■51注销@重新启动

C2|DefaultUser

■VKevProcraaJiaac-T_RM31/lodiilel/Bain

任务与程序▼相块▼例行程序▼

2.单击"例行程序",查看例行

L3PROCmain()

L4程序列表。

isENDPROC

VT_EOD1/Butlulel

例行程序活动过茂去:

|名称/|程埃|类型

1main()lodulel

Procedure3.单击“后退〃或"模块”标签查

看模块列表。

4.在〃模块"和"例行程序”视图

中,可以点击“文件”一”新建〃

去建立模块或例行程序.

文件'号.砺例行酊后&

O

6.3.2在示教器上进行指令编程的基本操作

ABB机器人的RAPID编程提供了丰富的指令来完成各种简单与复杂的应用。下面就从最常用的指令开始

学习RAPID编程,领略RAPID丰富的指令集提供的编程便利性。

文案大全

实用文档

1.打开ABB菜单,选择“程序

编辑器”。

「Kc^PrograBNaac-T_ROB1/lodulc1/aain

2.选中要插入指令的程序位

置,高显为蓝色。

3.单击“添加指令”,打开指

令列表。

4.单击此按钮可切换到其他

分类的指令列表。

6.4任务实施

6.4.1基本RAPID指令练习

建立程序模块testl2.24,模块testl2.24下建立例行程序main和Routinel,在main程序下进行运动指

令的基本操作练习。

1.赋值指令

":="赋值指令用「对程序数据进行赋值。赋值可以是一个常帚或数学表达式。

下面的操作步骤以添加一个常量赋值与数学表达式赋值说明此指令的使用:

常量赋值:regl:=5;

数学表达式赋值:reg2:=regl+4;

(1)添加常量赋值指令的操作

文案大全

实用文档

文案大全

实用文档

上播入表达式

活动:num结果:num

话动过迎3:提示:nua

<—

regl:=|V

功能一

工£.工。共:

新建E\D_OF_LIST8.单击“确定”。

EOF_BINEOF_NUM

gravitylength

nbrregl()

reg2reg3•)

.编辑▲更改数据类型…确定取消

¥McrfrograaliaBc-T_R0B1/lodulc1/aain

任务与理序▼桎块▼例行双序▼

13PROCmain()Common

14:-5;

2=CoapactIF

1W口KT

FORIF

lovcAbsJ■ovcC9.在这里就能看到所增加的

■ovej■oveL指令。

ProcCallReset

RETURHSet

<-上一个下一个—>

添加指令[编辑▲调试▲修改位者显示声明

(2)添加带数学表达式的赋值指令的操作

KcrfrograMJiaBc-T__RDB1/lodule1/aain

任务与程序▼模块▼例行梃序▼

13▲

PR()Cmain()Common

:-5;

:=Co^pairtIF

15TTMT

FDRIF

■oveAbsJloveC

1.在指令列表中选择":="。

lovejloveL

ProcCallReset

RETURNSet

<—上一个下一个一〉

添加指令]编辑'调试'修改位置显示声明

文案大全

实用文档

〒插入去达式

活动:num结果:num

活动过建2S:提示:ra*

Eja:=<EXP>;4—

数据功能f

:机8关8

新建length2.选中"reg2",

nbrregl

reg2reg3■

reg4reg5()

O)

编辑.更改数据类型…确定取消

3.选中“<EXP>〃,显示为蓝

色高亮。

4.选中"regl"。

a5.单击“+〃按钮。

文案大全

实用文档

*•插入表达式

活动:num结果:num

舌动过挖者:提示:Btype

6.选中“<EXP>",显示为蓝

4—

reg2:=regl+.9

色高亮。

雌功能—►

1:殳ioT17.打开“编辑”菜单,选择

新建OptionalArguments_OF_LIST

EOF_BIN添加记录组件_NUM“仅限选定内容〃,然后在

□a

删除记录组件

gravitygth弹出的软铤盘画面中输

数组索引

nbr1()

的入"4",单击”确定〃。

reg2

仅限选定内容3•)

编辑▼更改数据类型…确定取消

生•

¥插入表达式

活动:num结果:num

活动过述2S:提示:ma

reg2:-regl+<—

雌功能一

】至!“共18.确认正确后,单击“确

新建END_OF_LISTi

EOF_BINEOF_NUM定”。

C3H

gravitylength

nbrreg1()

reg2reg3•)

芍▲编辑▲更改数据类型…确定取消

逶加指令

n是否需要在当前选定的项目之上或之下插入

U指令?

9.单击“下方〃,添加指令成

功。

上方下方取消

10.单击"添加指令〃,将指令

■列表收起来

U文案大全

实用文档

例行程序

*提示:编程画面操作技

:etoolO,wobj巧

由,[[0,0,0]

101,[0,0,》放大/缩小画面。

向上/向下翻页。

6E,TRUE,H

0,0],[1,0,向上/向下移动。

2.机器人运动指令

机器人在空间中运动主要有关节运动(MoveJ)、线性运动(MoveL)、圆弧运动(MoveC)和绝对位置

运动(MoveAbsJ)四种方式。

(1)绝对位置运动指令

绝对位置运动指令是机器人的运动使用六个轴和外轴的角度值来定义目标位置数据。

操作步骤:

感手动操纵

位置______________________

坐标中的位置:VorkObject

机械单元:BOB」...X:146.1皿

绝对精度:OffY:81.2皿1.进入“手动操纵”画面,确认

Z:395.9mm

动作模式:线性...ql:0.00783己选定工具坐标与工件坐标

q2:-0.75315

坐标系:工具...

q3:0.05804(*提示:在添加或修改机器

工具坐标:tooll...q4:0.65523

工件坐标:wobjl...位置格式...人的运动指令之前,一定要

有效载荷:loadO...

惇纵杆方向_________________确认所使用的工具坐标与工

操纵杆锁定:无...

件坐标)。

增量:无...XYZ

对准...转到…启动…

文案大全

实用文档

VKcvPrograaKaBC-T_ROBl/lodulol/aaixi

2.选中指令的位置,打开“添

加指令"菜单,选择

“MoveAbsJ”指令。

指令解析:

MoveAbsJ*\NoEOffs,vlOOO,z50,tooll\Wobj:=wobjl;

参数含义

*目标点位置数据

\NoEOffs外轴不带偏移数据

vlOOO运动速度数据IDOOmm/s

z50转弯区数据

tooll工具坐标数据

wob.i1工件坐标数据

*提示:MoveAbsJ常用于机器人六个轴回到机械零点(0°)的位置。

(2)关节运动指令

关节运动指令是对路径精度要求不高的情况下,机器人的工具中心点TCP从•个位置移动到另•个位

置,两个位置之间的路径不一定是直线。

文案大全

实用文档

指令解析:

MoveJplO,vlOOO,z50,tooll\Wobj:=wobjl;

参数含义

P10目标点位置数据

vlOOO运动速度数据

关节运动适合机器人大范围运动时使用,不容易在运动过程中出现关节轴进入机械死点的问题。

*注意:H标点位置数据定义机器人TCP点的运动H标,可以在示教器中单击“修改位置”进行修改。

运动速度数据定义速度(mm/s)

转弯区数据定义转变区的大小mm。

工具坐标数据定义当前指令使用的工具

工件坐标数据定义当前指令使用的工件坐标

(3)线性运动指令

线性运动是机器人的TCP从起点到终点之间的路径始终保持为直线。一般如焊接、涂胶等应用对路径

要求高的场合使用此指令。

(4)圆弧运动指令

圆弧路径是在机器人可到达的控件范围内定义三个位置点,第一个点是圆弧的起点,第二个点用于圆

弧的曲率,第三个点是圆弧的终点。

指令解析:

文案大全

实用文档

MoveLplO,vlOOO,fine,tooll\Wobj:=wobjl;

MoveCp30,p40,vlOOO,zl,tooll\Wobj:=wobjl;

参数含义

P10圆弧的第一个点

p30圆弧的第二个点

P40圆弧的第三个点

fine\zl转弯区数据

(5)运动指令的使用示例

指令:

MoveLpl,v200,zlO,tooll\Wobj:=wobjl;

MoveLp2,vlOO,fine,tooll\Wobj:=wobjl;

MoveJp3,vSOO,fine,tooll\Wobj:=wobjl;

图不:

说明:

机器人的TCP从当前位置向pl点以线性运动方式前进,速度是200mm/s,转弯区数据是10mm,距离

pl点还有10mm的时候开始转弯,使用的工具数据是tooll,工件坐标数据是wobjl。

机器人的TCP从pl向p2点以线性运动方式前进,速度是100mm/s,转弯区数据是fine,机器人在p2

点梢作停顿,使用的工具数据是tooll,工件坐标数据是wobjl。

机器人的TCP从p2向p3点以关节运动方式前进,速度是S00mm/s,转弯区数据是fine,机器人在p3

点停止,使用的工具数据是toolL工件坐标数据是wobjl。

提示:

文案大全

实用文档

*关于速度:速度一般最高为50000mm/s,在手动限速状态下,所有的运动速度被限速在250mm/s

*关于转弯区:fine指机器人TCP达到目标点,在目标点速度降为零。机器人动作有所停顿然后再向下

运动,如果是一段路径的最后一个点,一定要为fine。转弯区数值越大,机器人的动作路径就越圆滑与

流畅。

3.1/0控制指令

I/。控制指令用于控制I/O信号,以达到与机器人周边设备进行通信的目的。

(1)Set数字信号置位指令

Set数字信号置位指令用于将数字输出(DigitalOutput)置位为"1"。

Setdol;

参数含义

dol数字输出信号

(2)Reset数字信号复位指令

Reset数字信号复位指令用于将数字输出(DigitalOutput)置位为"0〃。

Resetdol;

*提示:如果在Set、Reset指令前有运动指令MoveJ、MoveL、MoveC、MoveAbsJ的转弯区数据,必须

使用fine才可以准确地输出I/O信号状态的变化。

(3)WaitDI数字输入信号判断指令

WaitDI数字输入信号判断指令用于判断数字输入信号的值是否与目标一致。

WaitDIdil,1;

参数含义

dil数字输入信号

1判断的目标值

在例子中,程序执行此指令时,等待dil的值为1。如果dil为1,则程序继续往下执行;如果到达最

大等待时间300s(此时间可根据实际进行设定)以后,dil的值还不为1,则机器人报警或进入出错处理程

序。

(4)WaitDO数字输出信号判断指令

WaitDO数字输出信号判断指令用于判断数字输出信号的值是否与目标一致。

WaitDOdol,1;

参数以及说明同WaitDi指令0

文案大全

实用文档

(5)WaitUntil信号判断指令

WaitUntil信号判断指令可用于布尔量、数字量和I/O信号值的判断,如果条件到达指令中的设定值,程

序线续往下执行,否则就一直等待,除非设定了最大等待时间。

WaitUntildil=1;

WaitUntildol=0;

WaitUntilflag=TRUE;

WaitUntilnuml=4;

参数含义

flagl布尔量

numl数字量

4.条件逻辑判断指令

条件逻辑判断指令用于对条件进行判断后,执行相应的操作,是RAPID中重要的组成部分。

(1)CompactIF紧凑型条件判断指令

Compacts紧凑型条件判断指令用于当一个条件满足了以后,就执行一句指令。

IFflagl=TRUESetdol;

如果flagl的状态为TRUE,则dol被置位为1.

(2)IF条件判断指令

IF条件判断指令,就是根据不同的条件去执行不同的指令。

指令解析:

IFnuml=lTHEN

flag:=TRUE;

ELSEIFnuml=2THEN

flagl:=FALSE;

ELSE

Setdol;

ENDIF

如果numl为1,则flagl会赋值为TRUE。如果numl为2,则flagl会赋值为FALSE。除了以上两种条

件之外,则执行dol置位为1.

*条件判定的条件数量可以根据实际情况进行增加与减少.

文案大全

实用文档

(3)FOR重复执行判断指令

FOR重复执行判断指令,是用于一个或多个指令需要重复执行次数的情况

FORiFROM1TO10DO

Routinel;

ENDFOR

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

(4)WHILE条件判断指令

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

WHILEnuml>num2DO

numl:=numl-l;

ENDWHILE

当numl>num2的条件满足的情况卜,就一直执行numl:=numl-l的操作。

5.其他的常用指令

(1)ProcCall调用例行程序指令

通过使用此指令在指定的位置调用例行程序。

1.选中为要调用

的例行程序的位置。

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

选择"ProcGII”指令。

文案大全

实用文档

添加指令-子程序调用

迭驿有待添加至程序的子程序・话动过途者:

□mainRoutinel

□Routine2

3.选中要调用的例行程序

Routinel,然后单击“确

c±r//

7E。

碓取消

<>

"V*NcrfrograBNaMc-T_ROB1/Iodulc1/Routinc2

任努与程序枝块例行程序

PROCRoutine2()Connon

IFdil1THE

Routinel;

ENDIF

4.调川例行程序指令执行

24ENDPROC

的结果。

ENDMODULE

添加指令编辑调试修改位置隐藏声明

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

RETURN返何例行程序指令,当此指令被执行时,则马上结束本例行程序的执行,返回程序指针到调用

此例行程序的位置。

PROCRoutinel()

MoveLplO,vlOOO,fine,tooll\WObj

Routine2;

Setdol;

ENDPROC

PROCRoutine2()

IFdil=1THEN

RETURN;

ELSE

Stop;

ENDIF

ENDPROC

文案大全

实用文档

当dil=l时,执行RETURN指令,程序指针返回到调用Routine2的位置并继续向下执行Setdol这个指

令。

(3)WaitTime时间等待指令

WaitTime时间等待指令,用于程序在等待一个指定的时间以后,再继续向下执行

WaitTime4;

Resetdol;

等待4s以后,程序向下执行Resetdol指令。

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功能(需掌握带参数的功能、功能返回值以及复杂数据的

赋值方法,随堂联系practiselO-1,,需要教师指导)。

功能Abs:

PROCRoutinel()

regl:=Abs(r*eg5);

ENDPROC

功能Offs:

PROCRoutinel()

p20:=Offs(plO,100z200r300);

ENDPROC

PROCRontine2()

p20:=plO;

p20.trans.x:=p20.trans.x+100;

p20.trans.y:=p20.tz?a.ns.y+200;

p20.txa.ns.z:=p20.tra,ns.z+300;

ENDPROC

5.掌握中断程序的使用

文案大全

实用文档

(1)使用di信号触发中断程序,每次触发,均使系统用户变量regl进行+1的操作,当regl>10时,将regl

重置为lo

(2)使用ITimer指令进行定时间隔为1s的中断触发,每次触发使系统用户变量reg2进行+1的操作,当

reg2>10时,将reg2重置为1。

6.4.3建立一个可运行的基本RAPID程序

在之前的章节中,己大概了解RAPID程序编程的相关操作及基本的指令。现在就通过一人实例来体验

一下ABB机器人便捷的程序编辑。

编制一个程序的基本流程是这样的:

1)确定需要多少个程序模块。多少个程序模块是由应用的复杂性所决定的,比如可以将位置计算、程

序数据、逻辑控制等分配到不同的程序模块,方便管理。

2)确定各个程序模块中要建立的例行程序,不同的功能就放到不同的程序模块中去,如夹具打开、夹

具关闭这样的功能就可以分别建立成例行程序,方便调用与管理。

1.确定工作要求:

机器人空闲时,在

位置煮pHome等

待。如果外部信号

dil输入为1时,机

器人沿着物体的一

条边从plO到p20

走一关直线,结束

文案大全

实用文档

以后回到pHome

点。

2.ABB菜单中,选

择“程序编辑器”。

3.单击“取消”(如

果系统中不存在程

序的话会出现此对

话框)。

4.打开“文件”菜单,

新建模块...

选择“新建模块”。

加载模块...

另存模块为..・Q此应用比较

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论