




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MODULE MainModuleCONST robtarget pHome:=1525.42,272.18,1873.69,4.42963E-05,0.699969,-0.714173,-2.80277E-05,0,-1,-1,0,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09;CONST robtarget pPrePickMould:=1653.99,272.19,1779.41,5.83312E-05,0.69997,-0.714172,-3.47922E-05,0,-1,-1,0,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09;CONST robtarget pPrePickClapboard:=2036.17,-741.24,1235.05,0.678651,0.73435,-0.0119011,0.00467586,-1,-2,2,0,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09;CONST robtarget pPickMould:=1943.13,173.08,630.89,4.66987E-05,0.699977,-0.714166,-3.24109E-05,0,-1,-1,0,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09;CONST robtarget pPickClapboard:=1943.19,173.08,620.72,1.61422E-05,0.699977,-0.714165,-7.62858E-06,0,-1,-1,0,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09;CONST robtarget pPrePlace:=785.90,-957.40,1722.38,0.00231652,0.0492402,-0.998779,-0.00310842,-1,-1,-1,0,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09;CONST robtarget pPrePlace10:=-277.40,-1202.57,1621.17,0.00183571,-0.0139794,-0.999895,-0.00341408,-2,-1,-2,0,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09;CONST robtarget pPrePlace20:=-491.18,-1082.85,1505.90,0.000663644,0.69408,0.719887,0.00386364,-2,0,-1,0,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09;CONST robtarget pPlaceMould:=-92.13,-2580.19,1171.45,0.000771646,0.713144,0.701007,0.00383692,-2,0,-1,0,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09;CONST robtarget pPlaceClapboard:=1585.08,1761.04,787.33,0.00645323,-0.00552996,-0.726358,-0.687263,0,1,-1,0,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09;CONST robtarget pPrePlaceClapboard:=1017.30,955.85,1443.17,1.0621E-05,-0.00849593,-0.999964,4.01139E-05,0,-1,0,0,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09; CONST robtarget pPrePickClapboard10:=2257.17,-841.03,1579.56,0.667517,0.74457,-0.00360206,0.00487631,-1,-1,2,0,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09; CONST robtarget pPrePickMould10:=530.24,-1703.27,1762.63,5.07659E-05,0.96161,0.274421,2.37287E-05,-1,0,0,0,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09; CONST num nOffs:=100; PERS num nCurOffs:=100; CONST num nLayer:=0; PERS num nCurLayer:=0; CONST num nThickness:=40; VAR bool bTimeOut:=FALSE; PERS bool bDryCycle:=FALSE; VAR intnum iDryCycle;VAR intnum iResDryCycle; VAR intnum iVacuum; PERS tooldata tGripper:=TRUE,0,0,100,1,0,0,0,88.5,-3.7,-1.4,132.1,1,0,0,0,5.5,17.831,25.067; PROC main() rInitAll; WHILE TRUE DO IF siDryCycle=1 or nCurLayer1 then rPickClapboard; ELSE rPickMould; ENDIF Waittime 0.2; ENDWHILE ENDPROC PROC rPickMould() DIWait diMouldready,1,3,entrance Conveyer,ready for pick; DIWait diPlaceReady,1,3,exit Conveyer,ready for remove; MoveJ pPrePickMould, v1500, z50, tGripper; IF BitCheck(nCurlayer,1) THEN nCurOffs:=nOffs; ELSE nCurOffs:=-nOffs; ENDIF MoveL offs(pPickMould,0,nCurOffs,100+nCurLayer*nThickness), v1000, z50, tGripper; MoveL offs(pPickMould,0,nCurOffs,(nCurLayer-1)*nThickness), v200, fine, tGripper; GripClose; Decr nCurLayer; MoveL offs(pPickMould,0,nCurOffs,100+nCurLayer*nThickness), v200, z50, tGripper; MoveJ pPrePickMould, v1000, z50, tGripper; DIWait diPlaceReady,1,3,exit Conveyer,ready for remove; MoveJ pPrePlace10, v1500, z10, tGripper; MoveL offs(pPlaceMould,0,0,100), v1500, z10, tGripper; MoveL pPlaceMould, v200, fine, tGripper; GripOpen;MoveL offs(pPlaceMould,0,0,100), v200, z10, tGripper; MoveL pPrePlace10, v1500, z10, tGripper; MoveJ pPrePickMould, v1500, z10, tGripper; PulseDOPLength:=2, doMouldPlaceOK; ENDPROC PROC rPickClapboard() DIWait diMouldready,1,3,entrance Conveyer,ready for pick; MoveL offs(pPickClapboard,0,0,100), v1000, z50, tGripper; MoveL pPickClapboard, v200, fine, tGripper; GripClose; MoveL offs(pPickClapboard,0,0,100) ,v200, z50, tGripper; MoveL offs(pPickClapboard,0,0,500) ,v1000, z50, tGripper; MoveL pPrePlaceClapboard, v1000, z10, tGripper; DIWait diClapboardReady, 1, 3, exit Conveyer, ready for remove; MoveL offs(pPlaceClapboard,-700,-200,250), v1000, z10, tGripper; MoveL offs(pPlaceClapboard,00,-10,100), v1000, z10, tGripper; MoveL pPlaceClapboard, v100, fine, tGripper; GripOpen; MoveL offs(pPlaceClapboard,0,-50,100), v1000, z10, tGripper; MoveL offs(pPlaceClapboard,-700,-200,250), v1000, z10, tGripper; MoveL pPrePlaceClapboard, v1000, z10, tGripper; PulseDOPLength:=1.0, doClapboardPickOK; MoveJ pHome, v1500, fine, tGripper; PulseDOPLength:=1.0, doUnStackOk; WaitTime 2; DIWait diMouldready,0,3,exit Conveyer,ready for remove; nCurLayer:=nLayer;ENDPROCPROC rInitAll()IF diVacuum1=0 THENWaitTime 1;ELSE ErrWrite The Rob1 gripper error! ,The gripper is not opened!RL2:=Check the gripper signal postion .RL3:= open the gripper manually and take away the part from gripper.; Stop; Exit;ENDIF rMoveHome; nCurLayer:=nLayer;IDelete iVacuum; CONNECT iVacuum WITH tLostPart; ISignalDI diVacuum1, 1, iVacuum;ISleep iVacuum;ENDPROCROC GripClose()SetDO doVacuum,1;SetDO doBlow,0; WaitUntil diVacuum1=1MaxTime:=10TimeFlag:=bTimeOut;IF bTimeOut THEN ErrWrite Rob Gripper Signal error ! ,Fatal error in GripperRL2:=Check the gripper signal postion .RL3:= change a new sensor .; Stop;ENDIFWaittime 0.5;IWatch iVacuum;ENDPROCPROC GripOpen() ISleep iVacuum;SetDO doVacuum,0;PulseDO PLength:=2.0, doBlow;WaitUntil diVacuum1=0 MaxTime:=5TimeFlag:=bTimeOut;IF bTimeOut THEN ErrWrite Rob Gripper Signal error ! ,Fatal error in GripperRL2:=Check the gripper signal postion .RL3:= change a new sensor .; Stop;ENDIFWaittime 0.5;ENDPROC PROC rMoveHome() VAR string HomeOffset; CONST num MinX:=-500; CONST num MaxX:=500; CONST num MinY:=-500; CONST num MaxY:=500; CONST num MinZ:=500; CONST num MaxZ:=1200; VAR robtarget ActualPos; VelSet 100,500; AccSet 70, 70; IF bCurrentPos(pHome,tGripper,50)=TRUE THEN MoveJ pHome,v500,fine,tGripperWObj:=wobj0; ENDIF IF bCurrentPos(pPrePickMould,tGripper,50wobj:=Wobj0)= TRUE THEN MoveJ pHome,v500,fine,tGripperWObj:=wobj0; ENDIF IF bCurrentPos(pPrePickClapboard,tGripper,100wobj:=Wobj0)= TRUE THEN MoveJ pHome,v500,fine,tGripperWObj:=wobj0; ENDIF IF bCurrentPos(pPreplace,tGripper,100wobj:=Wobj0)= TRUE THEN MoveJ pHome,v500,fine,tGripperWObj:=wobj0; ENDIF IF bCurrentPos(pHome,tGripper,100)=FALSE THEN ! If no known position is found, check if the robot is in a specified ! window and move him to the first position in the program ActualPos:=CRobT(Tool:=tGripperWObj:=wobj0); IF ActualPos.trans.xMaxX OR ActualPos.trans.yMaxY OR ActualPos.trans.zMaxZ THEN HomeOffset:=; IF ActualPos.trans.xMaxX THEN HomeOffset:=HomeOffset+X :+NumToStr(MaxX-ActualPos.trans.x,0)+ ; ELSE HomeOffset:=HomeOffset+X : OK ; ENDIF IF ActualPos.trans.yMaxY THEN HomeOffset:=HomeOffset+Y :+NumToStr(MaxY-ActualPos.trans.y,0)+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师招聘之《小学教师招聘》综合练习附参考答案详解【研优卷】
- 2025年内蒙古呼伦贝尔农垦牙克石莫拐免渡河农牧场有限公司招聘笔试参考题库附答案详解(黄金题型)
- 教师招聘之《幼儿教师招聘》考前冲刺训练试卷附参考答案详解【b卷】
- 教师招聘之《小学教师招聘》考试押题密卷附答案详解【培优b卷】
- 教师招聘之《幼儿教师招聘》考前冲刺练习题及参考答案详解(培优)
- 2025年教师招聘之《小学教师招聘》练习题包含答案详解【培优b卷】
- 2025年教师招聘之《幼儿教师招聘》题库及答案详解(网校专用)
- 2025年教师招聘之《小学教师招聘》题库检测试卷及完整答案详解(典优)
- 教师招聘之《小学教师招聘》检测卷讲解【夺分金卷】附答案详解
- 安全知识培训考核课件
- 医疗损害责任界定-洞察及研究
- 2025年海南省社区工作者招聘考试笔试试题(含答案)
- (2025年标准)监控维护维修协议书
- 国务院部署实施“人工智能+”行动的意见解读
- 2025年人工智能训练师(三级)职业技能鉴定理论考试题库(含答案)
- 2025年发展对象考试题库附含答案
- ps6000自动化系统用户操作及问题处理培训
- 手机拍照技巧大全课件
- 基层医院如何做好临床科研课件
- 核电质量保证培训讲义课件
- 九年级英语全册单元测试题全套带答案(人教版新目标)
评论
0/150
提交评论