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

下载本文档

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

文档简介

ABB 机器人编程1 程序解析 1 此程序是典型的 ABB 机器人官方编程思路与方法 分为主程序 初始化例行程序和轨迹程序 2 思路清晰 结构编排明确 方便使用者阅读 VERSION 1 LANGUAGE ENGLISH MODULE MainModule PERS tooldata tGripper TRUE 0 0 100 1 0 0 0 25 0 0 10 1 0 0 0 0 0 0 PERS wobjdata WobBox FALSE TRUE 1 1 1 0 0 0 0 0 0 0 1 0 0 0 CONST robtarget pPointA 1 1 1 1 1 1 1 1 0 0 0 9E 09 9E 09 9E 09 9E 09 9E 09 9E 09 CONST robtarget pPointB 1 1 1 1 1 1 1 1 0 0 0 9E 09 9E 09 9E 09 9E 09 9E 09 9E 09 CONST robtarget PHome 1 1 1 1 1 1 1 1 0 0 0 9E 09 9E 09 9E 09 9E 09 9E 09 9E 09 PERS loaddata load Empty 1 0 0 0 1 0 0 0 0 0 0 PERS loaddata load Box 20 0 0 0 1 0 0 0 0 0 0 以上是固定的数据存放位置 PROC main 主程序 是一个程序的开始 rInitial Accset 60 60 此部分其实可放入到 rInitial 中去 这样管理起来更方便 velset 100 100 此部分其实可放入到 rInitial 中去 这样管理起来更方便 WHILE TRUE DO rBox 在此指令后插入 0 3 秒的等待指令 防止 CPU 过负荷的情况出现 ENDWHILE ENDPROC PROC rInitial SetDo DOGrip 0 WaitDI DIGripReleased 1 MoveJ pHome v300 z50 tGripper ENDPROC PROC rBox MoveJ offs pPointA 0 200 500 v1500 z100 tGripper MoveJ offs pPointA 0 200 0 v1500 z50 tGripper A TPErase IF DIAllowPick 1 THEN WaitTime 0 ELSEIF DIAllowPick 0 THEN TPWrite Signal of AllowPick no ready Please Check GOTO A ENDIF MoveL pPointA v800 fine tGripper SetDo DOGrip 1 WaitDI DIGripPicked 1 Gripload load Box 这一句很重要的 设定机器人的实际负荷情况 有利于机器人伺 服控制的优化 MoveJ offs pPointA 0 0 500 v1000 z100 tGripper MoveJ offs pPointB 0 0 200 v1000 z50 tGripper WObj WobBox MoveL pPointB v1000 fine tGripper WObj WobBox SetDo DOGrip 0 WaitDI DIGripReleased 1 Gripload load Empty MoveL offs pPointB 0 200 0 v800 z50 tGripper WObj WobBox MoveJ offs pPointB 0 200 500 v1500 z100 tGripper WObj WobBox ENDPROC ENDMODULE ABB 机器人编程 02 程序解析 1 此程序编写的思路是完全按照比赛题目中的要求的进行 就是按步就班式的 2 思路清晰 结构编排明确 方便使用者阅读 3 有相应的写屏信息提示 方便操作员对机器人运行状态的了解 4 有一点小问题 就是缺少初始化的部分 MODULEMainModule CONSTrobtargetPHOME 1149 87 13 55 451 35 0 0 0 0 0 0 0 1 9E 09 9E 09 9 E 09 9E 09 9E 09 9E 09 CONSTrobtargetPA 250 14 652 34 650 90 0 0 0 0 1 0 2 1 9E 09 9E 09 9E 09 9E 09 9E 09 9E 09 CONSTrobtargetP20 250 14 652 35 828 56 0 0 0 0 1 0 3 1 9E 09 9E 09 9E 09 9E 09 9E 09 9E 09 CONSTrobtargetP30 695 24 18 14 826 55 0 0 0 0 0 0 2 1 9E 09 9E 09 9E 09 9E 09 9E 09 9E 09 CONSTrobtargetP40 1227 51 18 14 826 55 0 0 0 0 0 0 3 1 9E 09 9E 09 9E 09 9E 09 9E 09 9E 09 CONSTrobtargetPB 1227 52 18 15 424 02 0 0 0 0 0 0 2 1 9E 09 9E 09 9E 09 9E 09 9E 09 9E 09 PROCmain 在主程序里 过于臃肿 将具体功能尽量细分到例行 程序 TPErase MoveJPHOME v1000 z50 tool0 OpenGripper WaitTime5 WHILEtrueDO IFPLC 1THEN TPErase TPWrite Warning Begin to move the new staff WaitTime1 ClkResetclock1 ClkStartclock1 MovFromAtoB ClkStopclock1 reg1 ClkRead clock1 TPErase TPWrite Goods handling in place it take time in second Num reg1 运行时 间的显示 WaitTime5 ELSETPErase TPWrite Waiting for new goods 运行状态的提醒 WaitDIPLC 1 ENDIF ENDWHILE ENDPROC PROCOpenGripper 将对夹具的控制做在一个例行程序里 方便管理 SetG0 ResetG1 ENDPROC PROCCloseGripper 将对夹具的控制做在一个例行程序里 方便管理 SetG1 ResetG0 ENDPROC PROCMovFromAtoB MoveJP30 v1000 z50 tool0 MoveJP20 v1000 z50 tool0 MoveLPA v50 fine tool0 WaitTime1 CloseGripper WaitTime1 MoveJP20 v50 z50 tool0 MoveJP30 v1000 z50 tool0 MoveJP40 v1000 z50 tool0 MoveLPB v50 fine tool0 WaitTime1 OpenGripper WaitTime1 MoveLP40 v50 z50 tool0 MoveJP30 v1000 z50 tool0 MoveJPHOME v1000 z50 tool0 ENDPROC ENDMODULE ABB 机器人编程 03 程序解析 1 此程序是典型的 ABB 机器人官方编程思路与方法 分为主程序 初始化例行程序和轨迹程序 2 思路清晰 结构编排明确 方便使用者阅读 3 但有点要注意的初始化例行程序只在开始时 执行一次 正常运行时 不再执行 但此程序是每 个循环都会进行一次初始化 是有点问题的 PROC main InitAll 此初始化程序应与循环执行的程序隔离开 使用 WHILE 指令 Circle WaitTime 0 5 ENDPROC PROC InitAll Reset Do fixOn WaitDI On ConfJ On ConfL On VelSet 80 1000 AccSet 70 70 MoveJ PHome v150 fine Tool0 WObj Wobj2 RETURN ENDPROC PROC Circle MoveJ Home v60 z0 Tool0 WObj Wobj2 waitDI work reset waitDI MoveJ Home v150 fine Tool0 WObj Wobj2 ENDPROC PROC fixopen Set Do fixopen ENDPROC PROC fixclose Reset Do fixclose ENDPROC PROC Work MOVEJ A0 v150 z10 Tool0 WObj Wobj2 fixopen waittime 2 MOVEL A1 v30 fine Tool0 WObj Wobj2 fixclose waittime 2 MOVEJ B0 v150 z10 Tool0 WObj Wobj2 MOVEj B1 v30 fine Tool0 WObj Wobj2 fixopen waittime 2 MoveJ PHome v150 fine Tool0 WObj Wobj2 ENDPROC ABB 机器人编程 04 程序解析 程序解析 1 此程序是典型的 ABB 机器人官方编程思路与方法 2 思路清晰 结构编排明确 方便使用者阅读 3 此程序有一个亮点 就是有一个回等待点的例行程序 rMoveHome 这个好处在于可以在手动状态 下 就能方便的回到机器人的等待位置 4 有足够的写屏信息 很好地提示运行状态 PROC Main rInitial rMoveHome While True Do Velset 100 3000 AccSet 70 70 rpickworkpiece rplaceworkpiece endwhile proc rpickworkpiece if workpiece false MoveJ pickup v2000 z5 too10 A TPErase IF DI10 pickup 1 THEN pickup 为 PLC 发来拾取信号 WaitTime 0 ELSEIF DI10 pickup 0 THEN TPWrite PLC pickup signal no ready GOTO A ENDIF MoveJ Offs pickup 0 0 300 v500 z200 too10 SetDo DO10 pickup1 1 wait time 1 workpiece ture endif endproc proc rplaceworkpiece if workpiece ture MoveJ placemiddle v2000 z5 too10 MoveJ placeworkpiece v2000 z5 too10 MoveJ Offs placeworkpiece 0 0 300 v500 z200 too10 SetDo DO10 pickup1 0 A TPErase IF DI10 pickon 1 THEN pickon 为 PLC 检测已放好信号 WaitTime 0 ELSEIF DI10 pickup 0 THEN TPWrite PLC pickON signal no ready GOTO A workpiece false ENDIF endproc PROC rInitial TpReadFk nInput Is the pack machine ready No Yes 机器是否准备好 If nInput 4 Then bReady False stop ElseIF nInput 5 then bReady True ENDIF bFirstPickBoard True TpReadFk nInput Do you want to place workpiece No Yes 机器人抓头是否 工件 If nInput 4 Then workpiece False ElseIF nInput 5 then workpiece True ENDPROC PROC rMoveHome 定义原点 此例行程序可以方便地回到等待位置 MoveJ pHome v500 z50 tGripper ENDPROC ABB 机器人编程 05 程序解析 1 此程序是典型的 ABB 机器人官方编程思路与方法 2 思路清晰 结构编排明确 方便使用者阅读 3 此程序共分了 3 个程序模块 清楚地将不同用途的语句分开 方便阅读 这种编程在进行一些复 杂系统的编程是非常有用的 4 里面编程中运用了很多编程技巧 节省了机器人示教的时间 如使用 OFFS 功能 5 在写屏信息提示方面也非常丰富 6 此程序非常适合大家的参考与提高 7 有一个小问题 缺少搬运重要的负荷重量设定数据 MODULE Data 此模块专门用于存放程序数据的 target CONST jointtarget home pos 0 0 0 0 90 0 9E9 9E9 9E9 9E9 9E9 9E9 CONST jointtarget delta pos 2 2 2 2 2 2 9E9 9E9 9E9 9E9 9E9 9E9 CONST jointtarget jhome 0 0 0 0 90 0 9E9 9E9 9E9 9E9 9E9 9E9 PERS robtarget roFetch 2000 0 233 2 0 0 1 0 0 0 0 0 9E9 9E9 9E9 9E9 9E9 9E9 PERS robtarget roDeFetch 2000 1000 233 2 0 0 1 0 0 0 0 0 9E9 9E9 9E9 9E9 9E9 9E9 VAR wzstationary home VAR shapedata joint space VAR num nu inhome VAR bool flag1 FALSE ENDMODULE VERSION 1 LANGUAGE ENGLISH MODULE CalibData 此模块用于存放需要设定的程序数据 TASK PERS tooldata Tooldata 1 TRUE 0 0 1000 1 0 0 0 1 0 0 1 1 0 0 0 0 0 0 TASK PERS wobjdata Workobject 1 FALSE TRUE 0 0 0 1 0 0 0 0 0 0 1 0 0 0 ENDMODULE MODULE MainModule PROC main CheckHome CheckGriper Production ENDPROC PROC CheckHome IF DOutput do inhome 1 THEN nu inhome 1 ELSE nu inhome 0 ENDIF TEST nu inhome CASE 0 GoHome CASE 1 RETURN DEFAULT TPWrite error Stop ENDTEST ENDPROC PROC CheckGriper IF di griperclosed 1 THEN ControlGriper ELSE RETURN ENDIF ENDPROC PROC Production WHILE TRUE DO WaitUntil di plc 1 MoveL Offs roFetch 0 0 500 v1000 z100 Tooldata 1 WObj Workobject 1 利用 OFFS 此功能 减少示教 MoveL roFetch v1000 fine Tooldata 1 WObj Workobject 1 CloseGriper MoveL Offs roFetch 0 0 500 v1000 z100 Tooldata 1 WObj Workobject 1 MoveL Offs roDeFetch 0 0 500 v1000 z100 Tooldata 1 WObj Workobject 1 MoveL roDeFetch v1000 fine Tooldata 1 WObj Workobject 1 OpenGriper MoveL Offs roDeFetch 0 0 500 v1000 z100 Tooldata 1 WObj Workobject 1 ENDWHILE ENDPROC PROC CloseGriper flag1 FALSE Reset do opengriper Set do closegriper WaitDI di griperclosed 1 MaxTime 3 TimeFlag flag1 WHILE flag1 TRUE DO TPWrite CANN T CLOSE GRIPER Stop NoRegain ENDWHILE ENDPROC PROC OpenGriper flag1 FALSE Set do opengriper Reset do closegriper WaitDI di griperopend 1 MaxTime 3 TimeFlag flag1 WHILE flag1 TRUE DO TPWrite CANN T OPEN GRIPER Stop NoRegain ENDWHILE ENDPROC PROC DEF Zone 对机器人是否在等待位进行检测 WZHomeJointDef Inside joint space home pos delta p

温馨提示

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

评论

0/150

提交评论