版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、程序清单MODULE Module1 CONST robtarget pHome:=476.257603671,0,487.823041378,0.49999989,0,0.866025467,0,0,0,0,0,9E9,9E9,9E9,9E9,9E9,9E9; !定义初始工作点 CONST robtarget pPickBase:=254.691923959,-406.456321401,122.099725032,0.493741266,0.509221861,0.496098245,-0.500798551,-1,0,-1,1,9E9,9E9,9E9,9E9,9E9,9E9; !定义
2、取工件点 CONST robtarget pPickCover:=96.809609878,-410.558832569,122.643559039,0.493800607,0.509207192,0.498261486,-0.498602536,-1,0,0,1,9E9,9E9,9E9,9E9,9E9,9E9; !定义取工件环点 CONST robtarget pPlaceInCasting:=396.110507095,-56.918596192,225.595904039,0.70972185,0.000673696,0.704466064,0.004691194,-1,-1,0,1,9
3、E9,9E9,9E9,9E9,9E9,9E9; !定义放置到压铸机构点 CONST robtarget pPickFromCasting:=399.105225703,-56.829603396,261.949150887,0.706432059,0.004390228,0.707753576,0.004398563,-1,-1,0,1,9E9,9E9,9E9,9E9,9E9,9E9; !定义从压铸机构取出点 CONST robtarget pPlaceInStore:=138.360272171,502.599223653,312.785607909,0.493944296,-0.50149
4、8613,0.499454926,0.505037573,0,-1,0,1,9E9,9E9,9E9,9E9,9E9,9E9; !定义放置到仓库基准点 CONST robtarget pChecking:=523.943259806,-57.088150515,473.210150845,0.709598646,0.00075987,0.704590293,0.004658657,-1,-1,0,1,9E9,9E9,9E9,9E9,9E9,9E9; !定义视觉检测点 CONST robtarget pPushToTrash:=-77.766200016,380.605666682,139.824
5、260826,0.290011937,-0.214895135,0.932571461,0.00486081,1,1,-1,1,9E9,9E9,9E9,9E9,9E9,9E9; !定义放置到垃圾箱点 PERS string CheckedColour:="G" !定义视觉检测到的颜色 PERS num nCounter:=0; !定义放置到垃圾箱的高度变量 PROC rTeaching() !工作点示教子程序 MoveJ pHome,v1000,fine,Gripper407_1WObj:=wobj0; !初始工作点 MoveJ pPickBase,v1000,fine,G
6、ripper407_1WObj:=wobj0; !取工件点 MoveJ pPickCover,v1000,fine,Gripper407_1WObj:=wobj0; !取工件环点 MoveJ pPlaceInCasting,v1000,fine,Gripper407_1WObj:=wobj0; !放置到压铸机构点 MoveJ pPickFromCasting,v1000,fine,Gripper407_1WObj:=wobj0; !从压铸机构取出点 MoveJ pPlaceInStore,v1000,fine,Gripper407_1WObj:=wobj0; !放置到仓库基准点 MoveJ p
7、Checking,v1000,fine,Gripper407_1WObj:=wobj0; !视觉检测点 ENDPROC PROC Initial() !初始化子程序 nCounter:=0; !定义在开始后放置到垃圾箱的最低高度 Reset do_CastClamp; !压铸机构平行气夹松开 Reset do_CastXmove; !压铸机构X方向回原点 Reset do_CastZmove; !压铸机构Z方向收回 Reset do_TransmitBase; !关停传送带(工件) Reset do_TransmitCover; !关停传送带(工件环) Reset do_WorkpieceBa
8、se; !送料机构(工件)收回 Reset do_WorkpieceCover; !送料机构(工件环)收回 Reset do_Gripper; !松开机器人上的气爪 Reset do_Checking; !视觉检测复位 MoveJ pHome,v1000,z5,Gripper407_1WObj:=wobj0; !回到初始工作点 WaitTime 1; rPushBase; !推出第一个工件并开传送带 rPushCover; !推出第一个工件环并开传送带 ENDPROC PROC rPushBase() !送料机构推出工件子程序 Set do_WorkpieceBase; !推出工件 WaitT
9、ime 0.5; Reset do_WorkpieceBase; !推杆收回 WaitTime 0.1; Set do_TransmitBase; !打开传送带 ENDPROC PROC rPushCover() !送料机构推出工件环子程序 Set do_WorkpieceCover; !推出工件环 WaitTime 0.5; Reset do_WorkpieceCover; !推杆收回 WaitTime 0.1; Set do_TransmitCover; !打开传送带 ENDPROC PROC rPickWorkpieceBase() !机器人从传送带上取工件子程序 ReSet do_Gr
10、ipper; !松开气爪 MoveJ offs(pPickBase,0,0,100),v1000,z10,Gripper407_1WObj:=wobj0; !运动到抓取点的正上方100 WaitDI di_WorkpieceBaseInPos,1; !等待工件从传送带上传送到位 Reset do_TransmitBase; !关闭传送带 MoveLDO pPickBase,v500,fine,Gripper407_1WObj:=wobj0,do_Gripper,1; !运动到抓取点并抓取 WaitTime 0.5; MoveL offs(pPickBase,0,0,100),v1000,z10
11、,Gripper407_1WObj:=wobj0; !运动到抓取点的正上方100 rPushBase; !调用送料机构推出工件子程序 ENDPROC PROC rPlaceWorkpieceBase() !机器人将工件放置到压铸台子程序 MoveJ offs(pPlaceInCasting,0,0,100),v1000,z10,Gripper407_1WObj:=wobj0; !运动到压铸台的正上方100 MoveLDO pPlaceInCasting,v500,fine,Gripper407_1WObj:=wobj0,do_Gripper,0; !运动到压铸台的并放下工件 Reset do_
12、Gripper; WaitTime 0.5; MoveL offs(pPlaceInCasting,0,0,100),v500,z10,Gripper407_1WObj:=wobj0; !运动到压铸台的正上方100 ENDPROC PROC rPickWorkpieceCover() !机器人从传送带上取工件环子程序 Reset do_Gripper; !松开气爪 MoveJ offs(pPickCover,0,0,100),v1000,z10,Gripper407_1WObj:=wobj0; !运动到抓取点的正上方100 WaitDI di_WorkpieceCoverInPos,1; !等
13、待工件从传送带上传送到位 Reset do_TransmitCover; !关闭传送带 MoveLDO pPickCover,v200,fine,Gripper407_1WObj:=wobj0,do_Gripper,1; !运动到抓取点并抓取 WaitTime 0.5; MoveL offs(pPickCover,0,0,100),v1000,z10,Gripper407_1WObj:=wobj0; !运动到抓取点的正上方100 rGetColour; !调用视觉检测子程序 rPushCover; !调用送料机构推出工件环子程序 ENDPROC PROC rPlaceWorkpieceCove
14、r() !机器人将工件环放置到压铸台子程序 MoveJ offs(pPlaceInCasting,0,0,100),v1000,z10,Gripper407_1WObj:=wobj0; !运动到压铸台的正上方100 MoveLDO offs(pPlaceInCasting,3,0,36),v200,fine,Gripper407_1WObj:=wobj0,do_Gripper,0; !运动到压铸台的并放下工件环 WaitTime 0.5; MoveL offs(pPlaceInCasting,0,0,100),v500,z10,Gripper407_1WObj:=wobj0; !运动到压铸台的
15、正上方100 ENDPROC PROC rCasting() !压铸子程序 Set do_CastClamp; !夹紧平行气夹 WaitTime 0.5; Set do_CastXmove; !X方向运行到工作点 WaitDI di_CastXmoveInWork,1; !等待X方向运行到位 Set do_CastZmove; !Z方向向下压铸 WaitTime 0.5; Reset do_CastZmove; !Z方向收回 WaitTime 0.5; Reset do_CastXmove; !X方向回原点 WaitDI di_CastXmoveInHome,1; !等待X方向回到原点 Res
16、et do_CastClamp; !松开平行气夹 WaitTime 0.5; ENDPROC PROC rPickCasting() !从压铸机构取出成品子程序 MoveJ offs(pPickFromCasting,0,0,100),v1000,z10,Gripper407_1WObj:=wobj0; !运动到压铸台取出点的正上方100 MoveLDO offs(pPickFromCasting,0,0,-28),v500,fine,Gripper407_1WObj:=wobj0,do_Gripper,1; !运动到压铸台取出点并夹紧工件 WaitTime 0.5; MoveL offs(p
17、PickFromCasting,0,0,100),v500,z0,Gripper407_1WObj:=wobj0; !运动到压铸台取出点的正上方100 ENDPROC PROC rStoring(num layer,num col) !存储到仓库子程序 MoveJ offs(pPlaceInStore,col*95-95,-150,240-120*layer),v1000,z10,Gripper407_1WObj:=wobj0; !运动到存储点外侧150(Y方向负150) !“col”为列,“95”为列宽,“layer”为层,从上层至下层为1-3,“120”为层高 MoveL offs(pPl
18、aceInStore,col*95-95,0,240-120*layer),v500,z0,Gripper407_1WObj:=wobj0; !运动到存储点 WaitTime 0.6; Reset do_Gripper; !松开气夹 WaitTime 0.5; MoveJ offs(pPlaceInStore,col*95-95,-150,240-120*layer),v1000,z10,Gripper407_1WObj:=wobj0; !运动到存储点外侧150(Y方向负150) ENDPROC PROC rPushToTrash() !放置到垃圾库子程序 MoveJ Offs(pPushTo
19、Trash,0,0,250),v1000,fine,Gripper407_1WObj:=wobj0; !运动到放置点的正上方250 MoveJDO Offs(pPushToTrash,0,0,nCounter*10),v1000,fine,Gripper407_1WObj:=wobj0,do_Gripper,0; !运动到放置点 !"nCounter"为计数,每放置一个后向上10mm WaitTime 0.5; MoveJ Offs(pPushToTrash,0,0,250),v1000,fine,Gripper407_1WObj:=wobj0; !运动到放置点的正上方25
20、0 nCounter:=nCounter+1; !计数加1 ENDPROC PROC rGetColour() !工件颜色判断子程序 IF di_CoverYellow=1 THEN CheckedColour:="Y" !若检测到黄色,则CheckedColour赋值"Y" ELSEIF di_CoverGreen=1 THEN CheckedColour:="G" !若检测到绿色,则CheckedColour赋值"G" ELSEIF di_CoverBlue=1 THEN CheckedColour:=&quo
21、t;B" !若检测到蓝色,则CheckedColour赋值"B" ELSE CheckedColour:="non" !若检测失败,则CheckedColour赋值"non" ENDIF ENDPROC PROC rChecking() !视觉检测子程序 MoveJ Offs(pChecking,-100,0,0),v500,fine,Gripper407_1WObj:=wobj0; !运动到检测点的X方向-100 MoveJ pChecking,v300,fine,Gripper407_1WObj:=wobj0; !运动到检测点 Set do_Checking; !使能相机开始检测 WaitTime 0.8; Reset do_Checking; !停止检测 ENDPROC PROC main() VAR num Yellow_num:=0; !定义黄色工件的当前个数 VAR num Green_num:=0; !定义绿色工件的当前个数 VAR num Blue_num:=0; !定义蓝色工件的当前个数 Initial; !初始化 WHILE TRUE DO MoveJ pHome,v1000,z5,Gripper407_1WObj:=wob
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度消防安全信息管理系统开发与应用承包合同
- 2023年对硝基苯酚项目综合评估报告
- 乐器买卖合同集合
- 2024年环氧抗静电漆项目评估分析报告
- 2024年度物流服务合同:物流公司与供应商之间的物流服务合作协议
- 2024年聚合物多元醇(POP)项目评估分析报告
- 2024年度马赛克技术培训合同
- 外墙真石漆施工质量验收合同
- 2024年度船舶碳交易合同
- 2024年度船舶租赁及船舶管理服务合同
- 第五单元学雷锋在行动(教案)全国通用五年级下册综合实践活动
- 服装店人员不稳定分析报告
- GB 37219-2023充气式游乐设施安全规范
- NB-T 47013.7-2012(JB-T 4730.7) 4730.7 承压设备无损检测 第7部分:目视检测
- 《梯形的认识》(课件)-四年级上册数学人教版
- 肝吸虫护理查房课件
- 北京开放大学《现代管理专题》终结性考试复习题库(附答案)
- 小腿抽筋的原因以及缓解和自救方法定稿
- 2023年度高级会计实务真题及答案解析
- 南开大学答辩通用模板
- 国网福建省电力有限公司高校毕业生招聘笔试真题2021
评论
0/150
提交评论