ABB机器人程序实例ROBOT studio 6.01(附带与工业相机网络通讯实(3)

2019-04-21 20:33

pActualpos.trans.z:=2000;

MoveL pActualpos,vMinEmpty,z20,tGripper\\WObj:=WobjCompressor1 ; ! MoveL Offs ( PZhanban,0,0,400) ,vMinEmpty ,z20 , tGripper\\WObj:= WobjCompressor ; WaitDI di05_PalletInPos ,1; IF nInpos =2 THEN

MoveJ PZhanbanSafe ,vMinEmpty ,z20 , tGripper\\WObj:= WobjCompressor ; ENDIF

pActualpos:=PlaceZhanban; pActualpos.trans.z:=2000;

MoveJ pActualpos,vMinLoad,z20,tGripper\\WObj:=WobjCompressor1 ; ! MoveJ Offs ( PlaceZhanban ,0,0,nTotalPalletHigh+700 ) ,v500 ,z5 , tGripper\\WObj:= WobjCompressor ;

MoveL Offs ( PlaceZhanban ,0,0,nTotalPalletHigh) ,vMinLoad ,fine , tGripper\\WObj:= WobjCompressor ; WaitTime 0.5;

Set do02_BigJaws1 ; Set do03_BigJaws2;

WaitDI di08_BigJawsInOpen,1; MoveL Offs

( PlaceZhanban ,0,0,nTotalPalletHigh+700 ) ,vMaxEmpty ,fine , tGripper\\WObj:= WobjCompressor ; Reset do03_BigJaws2; WaitTime 0.6;

Reset do02_BigJaws1;

WaitDI di07_BigJawsInClose, 1; rCompressorOutPos;

IF nTotalPalletHigh>1200 THEN set do06_PalletEmpty ; waittime 1;

reset do06_PalletEmpty; nTotalPalletHigh:=0; nPalletHigh:=0; ENDIF ENDPROC

PROC rCompressorInPos() ! bInpos:=TRUE;

! WHILE bInpos=TRUE DO

! IF di03_Compressor1InPos =1 THEN WobjCompressor:=WobjCompressor1; bInpos:= FALSE; nInpos:=2;

! ELSEIF di04_Compressor2InPos =1 THEN ! WobjCompressor:=WobjCompressor2; ! bInpos:=FALSE; ! nInpos:=3; ! ELSE

! bInpos:=TRUE; ! ENDIF

! WaitTime 0.3; ! ENDWHILE ENDPROC

PROC rCompressorOutPos()

IF WobjCompressor=WobjCompressor1 THEN Set do04_Compressor1Empty ; WaitTime 1;

Reset do04_Compressor1Empty;

ELSEIF WobjCompressor=WobjCompressor1 THEN Set do05_Compressor2Empty ; WaitTime 1;

Reset do05_Compressor2Empty; ENDIF ENDPROC

FUNC bool CurrentPos(robtarget ComparePos,INOUT tooldata TCP) VAR num Counter:=0; VAR robtarget ActualPos;

ActualPos:=CRobT(\\Tool:=TCP\\WObj:=wobj0); IF ActualPos.trans.x>ComparePos.trans.x-25 AND ActualPos.trans.xComparePos.trans.y-25 AND ActualPos.trans.yComparePos.trans.z-25 AND ActualPos.trans.zComparePos.rot.q1-0.1 AND ActualPos.rot.q1ComparePos.rot.q2-0.1 AND ActualPos.rot.q2ComparePos.rot.q3-0.1 AND ActualPos.rot.q3ComparePos.rot.q4-0.1 AND ActualPos.rot.q4

PROC rCheckHomePos()

IF NOT CurrentPos(pHome,tGripper) THEN

pActualpos:=CRobT(\\Tool:=tGripper\\WObj:=wobj0); pActualpos.trans.z:=pHome.trans.z; MoveL pActualpos,v300,z30,tGripper; MoveJ pHome,v500,fine ,tGripper; ENDIF ENDPROC

PROC rKindChoose()

! IF di16_giBCD=1 THEN

Compensation:=CompensationA; nPalletHighUp:=nPalletHighUpA;

nPalletHighDown:=nPalletHighDownA; Pick:= PickA; Vision :=VisionA; Place:=PlaceA;

PZhanbanUp:=PZhanbanUpA;

PZhanbanDown:=PZhanbanDownA; PlaceZhanban:=PlaceZhanbanA; ! ELSEIF di16_giBCD=2 THEN

! Compensation:=CompensationB; ! nPalletHighUp:=nPalletHighUpB;

! nPalletHighDown:=nPalletHighDownB; ! Pick:= PickB; ! Vision :=VisionB; ! Place:=PlaceB;

! PZhanbanUp:=PZhanbanUpB;

! PZhanbanDown:=PZhanbanDownB; ! PlaceZhanban:=PlaceZhanbanB; ! ELSE

! TPErase;

! TPWrite \ ! ENDIF ENDPROC

PROC rModPos ()

MoveJ pHome, v1000, fine, tGripper\\WObj:=Wobj0;

MoveJ PZhanbanSafe, v1000, fine, tGripper\\WObj:=WobjCompressor1;

MoveJ PickA, v1000, fine, tGripper\\WObj:= WobjCompressor1; MoveJ VisionA , v1000, fine, tGripper\\WObj:=WobjCompressor1 ; MoveJ PlaceA, v1000, fine, tGripper\\WObj:=WobjCompressor1;

MoveJ PZhanbanUpA, v1000, fine, tGripper\\WObj:= WobjCompressor1;

MoveJ PZhanbanDownA, v1000, fine, tGripper\\WObj:= WobjCompressor1;

MoveJ PlaceZhanbanA, v1000, fine, tGripper\\WObj:= WobjCompressor1;

MoveJ PickB, v1000, fine, tGripper\\WObj:= WobjCompressor1; MoveJ VisionB , v1000, fine, tGripper\\WObj:=WobjCompressor1 ; MoveJ PlaceB, v1000, fine, tGripper\\WObj:=WobjCompressor1;

MoveJ PZhanbanUpB, v1000, fine, tGripper\\WObj:= WobjCompressor1; MoveJ PZhanbanDownB, v1000, fine, tGripper\\WObj:= WobjCompressor1;

MoveJ PlaceZhanbanB, v1000, fine, tGripper\\WObj:= WobjCompressor1;

ENDPROC

PROC rMoveAbsj() MoveAbsJ jposHome, v1000, fine, tGripper\\WObj:=wobj0; ENDPROC

PROC rServer()

SocketClose server_socket; SocketClose client_socket; SocketCreate server_socket;

SocketBind server_socket, \, 3001; SocketListen server_socket; SocketAccept server_socket,

client_socket\\ClientAddress:=client_ip; ENDPROC

PROC rClient()

SocketClose client_socket; SocketCreate client_socket;

SocketConnect client_socket, \, 1000; SocketReceive client_socket \\Str:=stReceived; ENDPROC

ENDMODULE


ABB机器人程序实例ROBOT studio 6.01(附带与工业相机网络通讯实(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:作业评讲2

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: