1、 PROC clock2re() !tempint:=movstat; IF DI10_1Product0K = 0 or DI10_2TuoPanOK = 0 Then IF tempint0.25 then ClkStart CLK2; ELSE ClkStop CLK2; ENDIF Else EndIF Endproc PROC InitAll() MoveHome; Reset DO10_1JiaZhua; Reset DO10_2YaBan; Reset DO10_3ZhuaOK; Reset DO10_4MaDuoOK; Waittime 0.5; bPickPart:=FALS
2、E; ClkReset CLK1; ClkStart CLK1; ClkReset CLK2; MoveL Offs(pPick,0,0,400), vFast, z10, tGripperWObj:=wobj0; PROC PickIF() IF bPickPart = FALSE AND nJob 0 AND DI10_1Product0K = 1 THENCalculatePick; MoveJ Offs(pPick,0,0,400), vFast, z200, tGripperWObj:MoveLDO Offs(pPick,0,0,100), vFast, z20, tool0WObj
3、:=wobj0, DO10_1JiaZhua, 1; MoveL pPick, vFast, fine, tGripperWObj: Close1; GripLoad LoadFull; Accset 50,50; HandshakeIF;=TRUE; ConfLOff; MoveJ pAfterPick, vFast, z60, tGripperWObj: PROC PlaceOF() IF DI10_2TuoPanOK = 1 AND bPickPart = TRUE THEN CalculatePlace;MoveL Offs(pOver,0,0,nOffsZ2), vFast, z20
4、0, tGripper; IF bTag=true then Accset 70, 70; MoveJ pAbovePlace, vFast, z10, tGripperWObj: else Accset 90, 90; Endif Accset 100,100; place first boxMoveL Offs(pPlace1,nOffsX1,nOffsY1,nOffsZ1),vTurn,z10,tGripperWObj: MoveL pPlace1, vMiddle, fine, tGripperWObj: Open1; MoveL Offs(pPlace1,0,0,nOffsZ1),v
5、Middle,z5,tGripperWObj: GripLoad LoadEmpty; Incr nCount1; HandshakeOF; MoveJ pAbovePick, vFast, z200, tGripperWObj:MoveJ pHome, vFast, z200, tGripper; PROC HandshakeIF() IF nJob=1 THENSet DO10_3ZhuaOK; IF nJob=2 THEN PROC HandshakeOF() IF (nCount1=40 and nJob =1) or (nCount1=80 and nJob =2) THEN Set
6、 DO10_4MaDuoOK; WaitDI DI10_2TuoPanOK, 0; SetDOSDelay:=0.5,DO10_4MaDuoOK,0; nCount1:=0; ClkStop CLK1; nCycleCount:=ClkRead(CLK1); Waitingtime:=ClkRead(CLK2); TPWrite Cycle time: Num:=nCycleCount;Waiting time in this Cycle:=Waitingtime; PROC MoveHome() TempP1:=CRobT(Tool:=tool0 WObj:=wobj0); TempP1.t
7、rans.z:=500 ; MoveJ TempP1, v1000, z20, tGripper; MoveJ pHome, v1000, z20, tGripper; PROC ReadType() IF nPriority = 1 AND DI10_1Product0K = 1 THENnJob:=1; Incr nPriority; ELSEIF nPriority = 2 AND DI10_1Product0K = 1 THEN=2;Incr nPriority;IF nPriority2 nPriority: ENDPROC PROC Open1() Waittime 0.0; wa
8、ittime 0.1;Waittime nTimeGripper; PROC Close1() Set DO10_1JiaZhua; Waittime 0.0; WaitDI DI10_4Zhua1End, 1; Set DO10_2YaBan;WaitDI DI10_6Zhua2End, 1; PROC CalculatePick() IF nJob = 1 THEN pPick:=pPick1; ELSEIF nJob = 2 THEN ENDIF pAbovePick:=pPick;pAfterPick:Pattern80;pAbovePick.trans.z:= pAfterPick.
9、trans.z;pAbovePick.trans.y:= pAfterPick.trans.y-500;pAfterPick.trans.y: PROC CalculatePlace() nBagL:=nBag50L; nBagW:=nBag50W; nBagH:=nBag50H; Pattern80;=nBag25L;=nBag25W;=nBag25H; Pattern100;pAbovePlace:=pPlace1; pAfterPlace:=pAbovePlace; PROC Pattern80() bTag: TEST nCount1+1 CASE 1: pPlace1:=pBase1
10、80; pPlace1.trans.x:=pPlace1.trans.x; pPlace1.trans.y:=pPlace1.trans.y; pPlace1.trans.z:=pPlace1.trans.z; nOffsX1: nOffsY1: nOffsZ1:=500; nOffsZ2:=-500; nLevel: bTwice: pAfterPick.trans.z:=pPick.trans.z+400; pAbovePlace: pAbovePlace.trans.z:=True; CASE 2:=pBase0; pPlace1.trans.y:=nBagH*1.2; bTwice:
11、CASE 3:=pBase90;=pPlace1.trans.y+25; CASE 4:=pPlace1.trans.x+2*nBagW; CASE 5:=pPlace1.trans.x+nBagW;=pPlace1.trans.z+20;Layer2 CASE 6:=pPlace1.trans.y+nBagL-5;=pPlace1.trans.z+nBagH; nOffsZ2: CASE 7: CASE 8: pPlace1:=pBase270; CASE 9:=pPlace1.trans.x+2*nBagW-25; CASE 10:Layer3 CASE 11:=pPlace1.trans.z+2*nBagH; CASE 12: CASE 13: nOffsY1: CASE 14: CASE 15: nOffsX1: pAbovePlace.trans.z:!layer4 CASE 16:=pPlace1.trans.z+3*nBagH+80;=-300; pAbovePlace:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1