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

下载本文档

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

文档简介

1、ABBa-J-6ABB机器人的程序编程 6.1任务目标 掌握常用的PAPID程序指令。 掌握基本RAPID程序编写、调试、自动运行和保存模块。 6.2任务描述 建立程序模块test12.24,模块test12.24下建立例行程序 main和Routine1,在main程序下进行运动指 令的基本操作练习。 掌握常用的RAPID指令的使用方法。 建立一个可运行的基本 RAP ID程序,内容包括程序编写、调试、自动运行和保存模块。 6.3知识储备 6.3.1程序模块与例行程序 RAP ID程序中包含了一连串控制机器人的指令,执行这些指令可以实现对机器人的控制操作。 应用程序是使用称为 RAP ID编

2、程语言的特定词汇和语法编写而成的。RAPID是一种英文编程语言,所包 含的指令可以移动机器人、设置输出、读取输入,还能实现决策、重复其他指令、构造程序、与系统操作 员交流等功能。RAPID程序的基本架构如图所示: 程序模块1 程序数据 主程序main 例行程序 中断程序 功能 程序模块2 程序模块3 程序模块4 程序数据 程序数据 例行程序 例行程序 中断程序 中断程序 功能 功能 RAP ID程序 RAP ID程序的架构说明: 1) RAP ID程序是由程序模块与系统模块组成。一般地,只通过新建程序模块来构建机器人的程序,而 系统模块多用于系统方面的控制。 2) 可以根据不同的用途创建多个程

3、序模块,如专门用于主控制的程序模块,用于位置计算的程序模块, 用于存放数据的程序模块,这样便于归类管理不同用途的例行程序与数据。 3) 每一个程序模块包含了程序数据、例行程序、中断程序和功能四种对象,但不一定在一个模块中都 有这四种对象,程序模块之间的数据、例行程序、中断程序和功能是可以互相调用的。 精选文库 27 4)在RAP ID程序中,只有一个主程序 main,并且存在于任意一个程序模块中,并且是作为整个 RAPID 程序执行的起点。 Aii:S 刨慚 巳苒止f述車 門 穆 JiDtbdit %备IS与愉 数学表达式赋值:reg2:=reg1+4; (1)添加常量赋值指令的操作 JkP丄

4、帼- T K0Ol/luAi ttl/ Aiun PROC mainC) ENDPROC := Cowact EP POK u bwC BoviJ Ad wL PtvvCidl Rv*t IS Tim Set 7 t CuuDn 1. 在指令列表中选择“:=” 调就 活动;bod结黒:twol 舌型讨逋SiffT; ;- - 樹Jfi娠- *-:- 新建finished () 号*褊辑*瞬圈需炖沁卿 2. 单击更改数据类型”,选 择num数字型数据。 eitjoinT handlcr_type IcoTidat a idmtnn indcTiTdnTo inpnndntn F7- - - *.

5、I L AA inmura inTtypea io4ev iuurii tKLalB lit ii I BUI luuddata loadl 古 II IoikIubuuiw 3.在列表中找到 “ num并选 lECunit Bjtsetdata num 中,然后单击确定”。 uvjiuu orient poriilnuB porilraliffciuB patlirccid puw PUEC Ljawty let; rcblaildatn propdit p nu 毗udder 欄图 iRvfi 4. 5. 6. 选中 “ reg1。” 选中“_OF_LIST EOF BIN EOF NIJ

6、l gravity length nbr rcgl reg2 reff3 ) 8.单击确定” 9.在这里就能看到所增加的 指令。 (2 )添加带数学表达式的赋值指令的操作 T_KI)II l/l rjdlilt U UUt 护軒与稈帛 15 PROC main () 5; regl END PROC 严f Covant IF : If HvcAtuJ I#7t Iffvrl. c PrnrCallj 1 Keset EETTEJ Set J丄1 下-T 1 WfiS 帛 CoHDfl 1.在指令列表中选择“:=” 萌试 修戏位置 nun 结卑: nus I 5 /1 口JM 新建 length

7、 nbr regl reg 2 reg3 reg 4 rtjgj 2. 选中“ reg2” 编辑 更改姻理 丫舌恥 reg2 : ISHiH 新趣 hiM)_OF_LTST EOF BIN EOF Mil gravity length Jibr regl reg? regS 數抵 ffl屈ijpe 马 -n 编辑*更躺焜类型 皆liAJt达式 話谕: null结黑: IJUU 善或过j3主 揑而二ru 工匕2:= regl 3. 选中“EXP,显示为蓝 色咼亮。 新 END_OF_L1ST EOF BIX EOF MU gravi ty 1ength nbr rcgl reg 3 号*需 酎她

8、炬- T / V 4. 选中 “ reg1。” 5.单击“ +按钮。 整tt入玉这式 桔动:nuD 抵助粗委2: Suffi:nuD 挖K: 97 tvpa reg2 : = rcgl +童駆羽 6. 选中“ num2 DO nu m1:=nu m1-1; ENDWHILE 当num1num2的条件满足的情况下,就一直执行num1:=num1-1的操作。 5.其他的常用指令 (1) ProcCall调用例行程序指 令 通过使用此指令在指定的位置调用例行程序。 PRDC Routine2) IF dil = 1 THE ENDir ENDPROC ENBMODULE A. Goman FF LO

9、K VuvhMpxT b?a| ovd. ProrTall KEIUKI Sfft 1. 2. 的例行程序的位置。 在添加指令的列表中, 选择“ ProcCal指令。 精选文库 邀令 7程用HI 逛m至fife的干fi岳* 活动讨IB露; 二 main Routine! Renting 1- 3. 选中要调用的例行程序 Rout ine1,然后单击确 leaPiutiiiaaVaH - T_nMl l/Iudul el/Biut uif* 2 齢与赶FFaft PROC Routine2()门 IF dil = 1 THE END IF ENDPROC ENCMODULE A CoBoon C

10、amuct IF POK IP IChTCaJ oveC IdvqL 1 ProoCnll ECcjct KETURir Sfft 4.调用例行程序指令执行 的结果。 33 朋声明 (2) RETURN返回例行程序指令 RETURN返回例行程序指令,当此指令被执行时,则马上结束本例行程序的执行,返回程序指针到调用 此例行程序的位置。 PROC Routinel () MoveL plO , vlOOO, fine , toollWOb j Rontine2; END PROC PBOC Routines() IF dil = 1 THEN RETURN; ELSE Stop; END IF E

11、MDPROC 当di1=1时,执行RETURN指令,程序指针返回到调用Routine2的位置并继续向下执行 Set do1这个指 令。 (3) WaitTime时间等待指令 WaitTime时间等待指令,用于程序在等待一个指定的时间以后,再继续向下执行 WaitTime 4; Reset do1; 等待4s以后,程序向下执行 Reset do1指令。 TP ReadNum TP ReadFK TP Write 禾口 642常用RAP ID指令的使用方法 1. 用户输入两个数字,按钮选择一个运算符,屏幕输出运算结果(使用 IF指令) 2. 用户输入一个 0-100 的分数值,程序输出 A(90-

12、100)、B(80-89)、C(60-79)、D(0-60)四个评级。(IF ELSEIF 语句的使用) 3. 使用 WHILE或FOR循环,计算1+2+3+99+100的结果。 4.RAPID编程中的功能(FUNCTION)的使用介绍 使用自定义功能,自己实现Offs功能和Abs功能(需掌握带参数的功能、功能返回值以及复杂数据的 赋值方法,随堂联系 Practise10-1 ,需要教师指导)。 功能Abs: PROC Romtinel) ENDPROC 功能Offs: PROC Routine) p20:s Offs; END PROC PROC RouhxnoS 10时,将reg1 重置为

13、1 。 (2)使用ITimer指令进行定时间隔为1s的中断触发,每次触发使系统用户变量reg2进行+1的操作,当 reg210时,将reg2重置为1。 643建立一个可运行的基本 RAP ID程序 在之前的章节中,已大概了解RAPID程序编程的相关操作及基本的指令。现在就通过一个实例来体验 一下ABB机器人便捷的程序编辑。 编制一个程序的基本流程是这样的: 1)确定需要多少个程序模块。多少个程序模块是由应用的复杂性所决定的,比如可以将位置计算、程 序数据、逻辑控制等分配到不同的程序模块,方便管理。 2)确定各个程序模块中要建立的例行程序,不同的功能就放到不同的程序模块中去,如夹具打开、夹 具关

14、闭这样的功能就可以分别建立成例行程序,方便调用与管理。 frT.Ml 怖席 ft 1 an 1 I 1 Uiili 却 ttDccdure CdlibOm Uiilily ProcetkiTt! Ldiiil adult Uf迂 Diility 娠* V * 1 1.建立RAPID程序实例(事前准备建立board10和di1) 精选文库 71 以后回到PHome 点。 雋B町迢总二 aotEdxt 输人tt出 挫制曲梅 手话醐 自动生产宙U 専ft 盡 2. ABB菜单中,选 flcTPlcndiiit贺靠管理器择“程序编辑器”。 3.单击“取消” (如 咼否馬旻新輦崔字,或比歳现有程序? 果

15、系统中不存在程 序的话会出现此对 话框)。 新逮 跖肯 4.打开文件”菜单, jna模块 选择新建模块”。 另存模块为. Q此应用比较 更改声明 简单,所以只需建 文件 一个程序模块就足 够了。 业 汚加荼的桂按石.恋略丢光程序指宅 1. .是召誉倉孑 5.单击是”进行确 定。 It Sfiyt - T.WBI 新模块 Modulel AW?. |Pr 吒 rfwi 事# / |!奠 iS 1臭茂 -J 2 3 BASE X ladulel 劉械块 UlitU 显示横块 T RDOI NnVTnETFnPJBn 斑 II 如ti4flj 凸*止;址it* 叫 冈 -T_H9ft1/fenf|n

16、lp| rtfiWRi 6.定义程序模块的 名称后,单击“确 程序模块的 名称可以根据需要 自己定义,以方便 管理。 7. “ Modulel ;单击 “显示模块”。 8.单击例行程 MODULE Modulel 序”。 复制创行曲一 稻动例再程序- 9.打开“文件”, 单击“新建例行程 莹命名, 序”。 Jffl除例行程庁 文件 例行稈序声明 名称: main 1 ADC 1 理 1册 療S: 无 1 1 1 SJciEA: nuia 1 模块: |lndijlel 抑fc声朗:1 r 厂 处底程序;1 r r 结集 WfrCft 话动为逋3: 老ft / 丨Sit i臬S wiint) I

17、ndi 订 cJ Prorrdiirr rHoni ( lodilel Ptocethire rIniiAllU lodulel Procettire TlnvcSniit inrC) lodiil cl Prnccilirr 文伴. J - 显5谕爭程序JqjR 10.首先建立一个 主程序main,然后 单击“确定”,根据 第9、10步骤建立 相关的例行程序。 rHome用于机器人 回等待位。rIn itAII 初 始化。 rMoveRout ine存 放直线运动路径。 11.选择 “ rHome; 然后单击“显示例 行程序”。 机械单亓: ROB.I. 絶对m: orr 话作般式: 帥 唯

18、标聚: T具 工具坐杯: Icol 1., 工杵坐标: nhji., 丽载荷; 1nnd0. 提纵朴锁宝= 九-. 眉虽: 兀, 鬲握皿 12.到手动操纵” 菜单内,确认已选 中要使用的工具坐 标与工件坐标。 姑- T_MUIt l/Aodnlja 1/ cUmo 在奔勻e常 10 PROC rHome) 13. 回到程序编辑 END PROC PROC rInitAllO ENDPROC PROC rMoveRou tine ) END PROC := SapiuK IT POR IF nvcAbsJ ov d?vJ oveL ProcCall Keart PKTWW S*T Cdudoti

19、 -上一亍 卜一亍一 器, 令” 表。 单击“添加指 ,打开指令列 选中“ ” 为插入指令的位 置,在指令列表中 修改包直 PrograBfiane - T_K)B l/ladul rHome; 18.单击修改”进 行确认。 19.单击“例行程 序”标签。 20.选中 “ rInitAll 例行程序。 21.在此例行程序 中,加入在程序正 式运行前,需要作 初始化的内容,如 速度限定、夹具复 END PRO C TX 、 位等。具体根据需 要添加。在此例行 程序rInitAII中只增 加了两条速度控制 的指令(在添加指 令列表的Setting类 别中)和调用了回 等待位的例行程序 rHome。

20、 SeH 3DEfn 1B? BcBL?lcdalcl/rlutAll ft勢与祥輪 13 PROC rinitAll0 VelSet 100, 5000; rHome; ENDPROC 22.单击“例行程 序”标签。 H衍程序 mninO rHuueO rlnltUlC) rlmrrKoul i nr() 文件 *=? Indijl rl ludilbl lodulcl IcicLjLc ProcrKnu.t lAe( Io 111 Froceikire 文tt a 示 ttfrsjr PROC main () V Tjnn/1 士hl M竹剖I* END PROC PEDC main( r

21、InitAll; WHILEDO ENDWHILE END PROC 30.选中“ main主 程序,进行程序执 行主体架构的设 定。 31.在开始位置调 用初始化例行程 序。 32.添加“ WHILE 指令,并将条件设 定为“ TRUE。 33.添加“IF指令 到图中所示位置。 PROC mainO rinitAll; WHILE TRUE DO IF TEEH END IF EMDHHILE END PROC VT_KlDlZliHh WHILE TRUTL DO %ir 03 THEN 10 1END IF 1=ENDHHII.E lA EKDFROC 肚i】=1 溯I晴 调试 5 Q使

22、用WHILE 指令构建一个死循 环的目的在于将初 始化程序与正常运 行的路径程序隔离 开。初始化程序只 在一开始时执行一 次,然后就根据条 件循环执行路径运 动。 w 至ft滞 sn 脊上両桑础 ?东遇ffrt吝 叭1 AIK:1 吏療为 M 扁1 M-iii 34.选中 “ - Shi Fl s c V h n 111 / Hujiic Kild 取消 Q此处不能直 接判断数字输出信 号的状态,如 do1=1,这是错误 的,要使用功能 DOutput()。 36.在IF指令的循 环中,调用两个例 行程序 rMoveRout ine和 rHome。 在选中IF指令的下 方,添加WaitTime

23、 PROC main() 指令,参数是0.3s。 rInitAll; 主程序解读: WHILE TRUE DO 1)首先进入初始化 IF dll = 1 THEN 程序进行相关初始 rMoveRou ti ne ; rHome; 化的设置。 END IF 2)进行WHILE的 WaitTime 0.3; 死循环,目的是将 ENDHHILE 初始化程序隔离 ENDPROC 开。 3)如果di1=1,则 机器人执行对应的 路径程序。 4)等待0.3s的这 个指令的目的是防 止系统CPU过负荷 而设定的。 PT移至lain PF移至戏标 PP移至MfiS床. 光标移至PF 覺标移至v 礬至feS 取

24、消週例行程序 查呑值 查看系绕数据 摟垂齐程序 37.打开调试”菜 单。 单击检查程序” 对程序的语法进行 检查。 显示声明 2.对RAP ID程序进行调试 38.单击确定完 成。如果有错,系 统会提示出错的具 体位置与建议操 作。 pHome 在完成了程序的编辑以后,接下来的工作就是对这个程序进行调试,调试的目的有以下两个: 1)检查程序的位置点是否正确。 2)检查程序的逻辑控制是否有不完善的地方。 DO 1 THEN IT移卒光标 光転苒孕PP 霑至险S 消阴用H有程库 1.打开调试” 菜单,选择 “ P移至例行 0.3; 程序”。 16 la 选宇的例行稈序:rHniip 此51*4虞畏

25、一十Wfjff帛。 塞a s块 i oain loduLei tUuudc lu JliIcI rlnltAJl lodiil el rloveHoutine lodiiLel 土 、 r fiter 取消 加PP 至行库 2. 选 中 “rHome ”例 行程序,然后 单击“确定”。 3. PP是程序 指针(黄色小 箭头)的简 称。程序指针 PROC rHome () Move J pHome, v300 , fine , tolcClXWOb j : ENDPROC 永远指向将 要执行的指 令。所以图中 的指令将会 是被执行的 指令。 .业手按下使能陋 退 W 单步向商 柠纾停止 ErtO

26、iMa 4.左手按下使 能键,进入 “电动机开 启”状态。 按以下“单步 向前”按键, 并小心观察 机器人的移 动。 在按下 程序停止”键 后,才可以松 开使能键。 16 PROC rHome () MoveJ v300, fine, toollWObj: ENDPROC 5.在指令左 侧出现一个 小机器人,说 明机器人已 至U达 pHome 这个等待位 置。 3.对RAP ID程序进行调试 rMoveRouti ne 1.打开调试” 诜宇的tt行稈序: 从舛悬中tt压一亍才* TfnwRrJiitinp ft* / 1 2 1 快 i Er i ( Hjoin er dulcl tHldu,

27、 f?序 liiJiilrl rlnllAll ejr lucLlcI il(T7c Rout inc lodulcl 菜单,选择“ PP 移至例行程序”, “ rMoveRouti ne ” 例行程序,然后 单击“确定”。 ?r VvPrcutrHlftK-T_HOt I/Inl1/ AmiltMitinc a块 PROC rMoveRoutine() MoveJ plO, Move I, p20 , ENDPROC v300r f v300, f PP 序土 kill r?样 tAfc n- 至flfjS弟 光特移至FT 桶律一 Bee ti WHILE TRUE DO IF dil = 1 THEN r

温馨提示

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

评论

0/150

提交评论