最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

RobotStudio码垛工作站程序

IT圈 admin 31浏览 0评论

2024年4月22日发(作者:束代容)

MODULE MainMoudle

PERS tooldata

tGripper:=[TRUE,[[0,0,160],[1,0,0,0]],[1,[1,0,1],[1,0,0,0],0,0,0]];

PERS robtarget

pHome:=[[1518.,0,],[0,0,1,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];

PERS robtarget

pPick:=[[,,],[0,,1,0],[-1,0,-1,0],[9E9,9E9,9E9,9E9,9E9,9E9]];

PERS robtarget

pPlaceBase:=[[,,],[0,,1,0],[1,0,1,0],[9E9,9E9,9E9,9E9,9E9,9E9]];

PERS robtarget

pPlace:=[[,,],[0,,1,0],[1,0,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09

]];

PERS robtarget

pActualPos:=[[1505,0,],[,0,-1,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9

E+09,9E+09]];

PERS bool bPalletFull:=TRUE;

PERS num nCount:=1;

PROC Main()

rInitAll;

WHILE TRUE DO

IF bPalletFull=FALSE THEN

rPick;

rPlace;

ELSE

WaitTime ;

ENDIF

ENDWHILE

ENDPROC

PROC rInitAll()

pActualPos:=CRobT(tool:=tGripper);

MoveL

pActualPos,v500,fine,tGripperWObj:=wobj0;

MoveJ pHome,v500,fine,tGripperWObj:=wobj0;

bPalletFull:=FALSE;

nCount:=1;

Reset doGripper;

ENDPROC

PROC rPick()

MoveJ

Offs(pPick,0,0,300),v2000,z50,tGripperWObj:=wobj0;

WaitDI diBoxInPos,1;

MoveL pPick,v500,fine,tGripperWObj:=wobj0;

Set doGripper;

WaitDI diVacuumOK,1;

MoveL

Offs(pPick,0,0,300),v500,z50,tGripperWObj:=wobj0;

ENDPROC

PROC rPlace()

rPosition;

MoveJ

Offs(pPlace,0,0,300),v2000,z50,tGripperWObj:=wobj0;

MoveL pPlace,v500,fine,tGripperWObj:=wobj0;

Reset doGripper;

WaitDI diVacuumOK,0;

MoveL

Offs(pPlace,0,0,300),v500,z50,tGripperWObj:=wobj0;

rPlaceRD;

ENDPROC

PROC rPlaceRD()

Incr nCount;

IF nCount>=11 THEN

nCount:=1;

bPalletFull:=TRUE;

MoveJ pHome,v1000,fine,tGripperWObj:=wobj0;

ENDIF

ENDPROC

PROC rPosition()

TEST nCount

CASE 1:

pPlace:=RelTool(pPlaceBase,0,0,0Rz:=0);

CASE 2:

pPlace:=RelTool(pPlaceBase,-600,0,0Rz:=0);

CASE 3:

pPlace:=RelTool(pPlaceBase,100,-500,0Rz:=90);

CASE 4:

pPlace:=RelTool(pPlaceBase,-300,-500,0Rz:=90);

CASE 5:

pPlace:=RelTool(pPlaceBase,-700,-500,0Rz:=90);

CASE 6:

pPlace:=RelTool(pPlaceBase,100,-100,-250Rz:=90);

CASE 7:

pPlace:=RelTool(pPlaceBase,-300,-100,-250Rz:=90);

CASE 8:

pPlace:=RelTool(pPlaceBase,-700,-100,-250Rz:=90);

CASE 9:

pPlace:=RelTool(pPlaceBase,0,-600,-250Rz:=0);

CASE 10:

pPlace:=RelTool(pPlaceBase,-600,-600,-250Rz:=0);

DEFAULT:

Stop;

ENDTEST

ENDPROC

PROC rModify()

MoveL pHome,v1000,fine,tGripperWObj:=wobj0;

MoveL pPick,v1000,fine,tGripperWObj:=wobj0;

MoveL pPlaceBase,v1000,fine,tGripperWObj:=wobj0;

ENDPROC

ENDMODULE

精心搜集整

理,只为你的需要

2024年4月22日发(作者:束代容)

MODULE MainMoudle

PERS tooldata

tGripper:=[TRUE,[[0,0,160],[1,0,0,0]],[1,[1,0,1],[1,0,0,0],0,0,0]];

PERS robtarget

pHome:=[[1518.,0,],[0,0,1,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];

PERS robtarget

pPick:=[[,,],[0,,1,0],[-1,0,-1,0],[9E9,9E9,9E9,9E9,9E9,9E9]];

PERS robtarget

pPlaceBase:=[[,,],[0,,1,0],[1,0,1,0],[9E9,9E9,9E9,9E9,9E9,9E9]];

PERS robtarget

pPlace:=[[,,],[0,,1,0],[1,0,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09

]];

PERS robtarget

pActualPos:=[[1505,0,],[,0,-1,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9

E+09,9E+09]];

PERS bool bPalletFull:=TRUE;

PERS num nCount:=1;

PROC Main()

rInitAll;

WHILE TRUE DO

IF bPalletFull=FALSE THEN

rPick;

rPlace;

ELSE

WaitTime ;

ENDIF

ENDWHILE

ENDPROC

PROC rInitAll()

pActualPos:=CRobT(tool:=tGripper);

MoveL

pActualPos,v500,fine,tGripperWObj:=wobj0;

MoveJ pHome,v500,fine,tGripperWObj:=wobj0;

bPalletFull:=FALSE;

nCount:=1;

Reset doGripper;

ENDPROC

PROC rPick()

MoveJ

Offs(pPick,0,0,300),v2000,z50,tGripperWObj:=wobj0;

WaitDI diBoxInPos,1;

MoveL pPick,v500,fine,tGripperWObj:=wobj0;

Set doGripper;

WaitDI diVacuumOK,1;

MoveL

Offs(pPick,0,0,300),v500,z50,tGripperWObj:=wobj0;

ENDPROC

PROC rPlace()

rPosition;

MoveJ

Offs(pPlace,0,0,300),v2000,z50,tGripperWObj:=wobj0;

MoveL pPlace,v500,fine,tGripperWObj:=wobj0;

Reset doGripper;

WaitDI diVacuumOK,0;

MoveL

Offs(pPlace,0,0,300),v500,z50,tGripperWObj:=wobj0;

rPlaceRD;

ENDPROC

PROC rPlaceRD()

Incr nCount;

IF nCount>=11 THEN

nCount:=1;

bPalletFull:=TRUE;

MoveJ pHome,v1000,fine,tGripperWObj:=wobj0;

ENDIF

ENDPROC

PROC rPosition()

TEST nCount

CASE 1:

pPlace:=RelTool(pPlaceBase,0,0,0Rz:=0);

CASE 2:

pPlace:=RelTool(pPlaceBase,-600,0,0Rz:=0);

CASE 3:

pPlace:=RelTool(pPlaceBase,100,-500,0Rz:=90);

CASE 4:

pPlace:=RelTool(pPlaceBase,-300,-500,0Rz:=90);

CASE 5:

pPlace:=RelTool(pPlaceBase,-700,-500,0Rz:=90);

CASE 6:

pPlace:=RelTool(pPlaceBase,100,-100,-250Rz:=90);

CASE 7:

pPlace:=RelTool(pPlaceBase,-300,-100,-250Rz:=90);

CASE 8:

pPlace:=RelTool(pPlaceBase,-700,-100,-250Rz:=90);

CASE 9:

pPlace:=RelTool(pPlaceBase,0,-600,-250Rz:=0);

CASE 10:

pPlace:=RelTool(pPlaceBase,-600,-600,-250Rz:=0);

DEFAULT:

Stop;

ENDTEST

ENDPROC

PROC rModify()

MoveL pHome,v1000,fine,tGripperWObj:=wobj0;

MoveL pPick,v1000,fine,tGripperWObj:=wobj0;

MoveL pPlaceBase,v1000,fine,tGripperWObj:=wobj0;

ENDPROC

ENDMODULE

精心搜集整

理,只为你的需要

发布评论

评论列表 (0)

  1. 暂无评论