ABB機(jī)器人程序?qū)嵗齙第1頁(yè)
ABB機(jī)器人程序?qū)嵗齙第2頁(yè)
ABB機(jī)器人程序?qū)嵗齙第3頁(yè)
ABB機(jī)器人程序?qū)嵗齙第4頁(yè)
ABB機(jī)器人程序?qū)嵗齙第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、實(shí)用標(biāo)準(zhǔn)文案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+0

2、9;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 robtarge

3、t 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:=-

4、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,

5、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.

6、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.0765

7、9E-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

8、 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 nCurLayer<1 then rPickClapboard; ELSE rPickMould; ENDIF Waittime 0.2; ENDWHILE ENDPROC PROC rPickMould() DIWait diMouldready,1,3,&qu

9、ot;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*n

10、Thickness), 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,"exi

11、t 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 pPrePic

12、kMould, 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(

13、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, tGripp

14、er; 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; Pulse

15、DOPLength:=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 gripp

16、er 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 diVacuu

17、m1, 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 Gripper"RL2:="Check the gripper signal postion ."RL3:="

18、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 Gripper&quo

19、t;RL2:="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 rob

20、target 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,100

21、wobj:=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 !

22、 window and move him to the first position in the program ActualPos:=CRobT(Tool:=tGripperWObj:=wobj0); IF ActualPos.trans.x<MinX OR ActualPos.trans.x>MaxX OR ActualPos.trans.y<MinY OR ActualPos.trans.y>MaxY OR ActualPos.trans.z<MinZ OR ActualPos.trans.z>MaxZ THEN HomeOffset:="

23、" IF ActualPos.trans.x<MinX THEN HomeOffset:=HomeOffset+"X :"+NumToStr(MinX-ActualPos.trans.x,0)+" " ELSEIF ActualPos.trans.x>MaxX THEN HomeOffset:=HomeOffset+"X :"+NumToStr(MaxX-ActualPos.trans.x,0)+" " ELSE HomeOffset:=HomeOffset+"X : OK &quo

24、t; ENDIF IF ActualPos.trans.y<MinY THEN HomeOffset:=HomeOffset+"Y :"+NumToStr(MinY-ActualPos.trans.y,0)+" " ELSEIF ActualPos.trans.y>MaxY THEN HomeOffset:=HomeOffset+"Y :"+NumToStr(MaxY-ActualPos.trans.y,0)+" " ELSE HomeOffset:=HomeOffset+"Y : OK " ENDIF IF ActualPos.trans.z<MinZ THEN HomeOffset:=HomeOffset+"Z :"+NumToStr(MinZ-ActualPos.trans.z,0)+" &quo

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論