ABB机器人码垛程序.docx

上传人:b****1 文档编号:1668371 上传时间:2022-10-23 格式:DOCX 页数:55 大小:17.94KB
下载 相关 举报
ABB机器人码垛程序.docx_第1页
第1页 / 共55页
ABB机器人码垛程序.docx_第2页
第2页 / 共55页
ABB机器人码垛程序.docx_第3页
第3页 / 共55页
ABB机器人码垛程序.docx_第4页
第4页 / 共55页
ABB机器人码垛程序.docx_第5页
第5页 / 共55页
点击查看更多>>
下载资源
资源描述

ABB机器人码垛程序.docx

《ABB机器人码垛程序.docx》由会员分享,可在线阅读,更多相关《ABB机器人码垛程序.docx(55页珍藏版)》请在冰豆网上搜索。

ABB机器人码垛程序.docx

ABB机器人码垛程序

MODULEMainModule

PROCMain()

TPErase;

TPReadNumnCount1,"QingShuRuYiMaBaoShu!

";

TPReadNumnJob,"QingShuRuMoShi:

50KG:

=1,25KG:

=2!

";InitAll;

WHILETRUEDO

ReadType;

clock2re;

PickIF;

clock2re;

PlaceOF;

ENDWHILE

ENDPROC

PROCclock2re()

!

tempint:

=movstat;

IFDI10_1Product0K=0orDI10_2TuoPanOK=0ThenIFtempint<0.25then

ClkStartCLK2;

ELSE

ClkStopCLK2;

ENDIF

Else

ClkStopCLK2;

EndIF

Endproc

PROCInitAll()

MoveHome;

ResetDO10_1JiaZhua;

ResetDO10_2YaBan;

ResetDO10_3ZhuaOK;

ResetDO10_4MaDuoOK;

Waittime0.5;

bPickPart:

=FALSE;

ClkResetCLK1;

ClkStartCLK1;

ClkResetCLK2;

MoveLOffs(pPick,0,0,400),vFast,z10,tGripper\WObj:

=wobj0;ENDPROC

PROCPickIF()

IFbPickPart=FALSEANDnJob<>0ANDDI10_1Product0K=1THEN

!

CalculatePick;

MoveJOffs(pPick,0,0,400),vFast,z200,tGripper\WObj:

=wobj0;

tool0\WObj:

=wobj0,

!

MoveLDOOffs(pPick,0,0,100),vFast,z20,DO10_1JiaZhua,1;

MoveLpPick,vFast,fine,tGripper\WObj:

=wobj0;

Close1;

GripLoadLoadFull;

Accset50,50;

HandshakeIF;

bPickPart:

=TRUE;

ConfL\Off;

MoveJpAfterPick,vFast,z60,tGripper\WObj:

=wobj0;

ENDIF

ENDPROC

PROCPlaceOF()

IFDI10_2TuoPanOK=1ANDbPickPart=TRUETHENCalculatePlace;

ConfL\Off;

!

MoveLOffs(pOver,0,0,nOffsZ2),vFast,z200,tGripper;

IFbTag=truethen

Accset70,70;

MoveJpAbovePlace,vFast,z10,tGripper\WObj:

=wobj0;

else

Accset90,90;

MoveJpAbovePlace,vFast,z10,tGripper\WObj:

=wobj0;

Endif

Accset100,100;

!

placefirstbox

ConfL\Off;

!

MoveL

Offs(pPlace1,nOffsX1,nOffsY1,nOffsZ1),vTurn,z10,tGripper\WObj:

=wobj0;

MoveLpPlace1,vMiddle,fine,tGripper\WObj:

=wobj0;

Open1;

ConfL\Off;

MoveLOffs(pPlace1,0,0,nOffsZ1),vMiddle,z5,tGripper\WObj:

=wobj0;

GripLoadLoadEmpty;

Accset100,100;bPickPart:

=FALSE;

IncrnCount1;

HandshakeOF;

MoveJpAbovePick,vFast,z200,tGripper\WObj:

=wobj0;

MoveLOffs(pPick,0,0,400),vFast,z10,tGripper\WObj:

=wobj0;!

MoveJpHome,vFast,z200,tGripper;

ENDIF

ENDPROC

PROCHandshakeIF()

IFnJob=1THEN

!

SetDO10_3ZhuaOK;

ENDIF

IFnJob=2THEN

!

SetDO10_3ZhuaOK;

ENDIF

ENDPROC

PROCHandshakeOF()

IF(nCount1=40andnJob=1)or(nCount1=80andnJob=2)THENSetDO10_4MaDuoOK;

WaitDIDI10_2TuoPanOK,0;SetDO\SDelay:

=0.5,DO10_4MaDuoOK,0;

nCount1:

=0;

ClkStopCLK1;

ClkStopCLK2;

TPErase;nCycleCount:

=ClkRead(CLK1);

Waitingtime:

=ClkRead(CLK2);

TPWrite"Cycletime:

"\Num:

=nCycleCount;

TPWrite"WaitingtimeinthisCycle:

"\Num:

=Waitingtime;

ClkResetCLK2;

ClkResetCLK1;

ClkStartCLK1;

ENDIF

ENDPROC

PROCMoveHome()

TempP1:

=CRobT(\Tool:

=tool0\WObj:

=wobj0);

TempP1.trans.z:

=500;MoveJTempP1,v1000,z20,tGripper;

MoveJpHome,v1000,z20,tGripper;

ENDPROC

PROCReadType()

IFnPriority=1ANDDI10_1Product0K=1THEN!

nJob:

=1;

!

IncrnPriority;

ELSEIFnPriority=2ANDDI10_1Product0K=1THEN!

nJob:

=2;

!

IncrnPriority;

ELSE

!

nJob:

=0;

!

IncrnPriority;

!

IFnPriority>2nPriority:

=1;

ENDIFENDPROC

PROCOpen1()

ResetDO10_2YaBan;

Waittime0.0;

ResetDO10_1JiaZhua;

waittime0.1;

!

WaittimenTimeGripper;

ENDPROC

PROCClose1()

SetDO10_1JiaZhua;

Waittime0.0;

WaitDIDI10_4Zhua1End,1;

SetDO10_2YaBan;

Waittime0.0;

!

WaittimenTimeGripper;

WaitDIDI10_4Zhua1End,1;

!

WaitDIDI10_6Zhua2End,1;ENDPROC

PROCCalculatePick()

IFnJob=1THENpPick:

=pPick1;

ELSEIFnJob=2THENpPick:

=pPick1;

ENDIF

!

pAbovePick:

=pPick;

!

pAfterPick:

=pPick;

!

Pattern80;

!

pAbovePick.trans.z:

=pAfterPick.trans.z;

!

pAbovePick.trans.y:

=pAfterPick.trans.y-500;

!

pAfterPick.trans.y:

=pAfterPick.trans.y-500;

ENDPROC

PROCCalculatePlace()

IFnJob=1THENnBagL:

=nBag50L;nBagW:

=nBag50W;nBagH:

=nBag50H;Pattern80;

ELSEIFnJob=2THENnBagL:

=nBag25L;nBagW:

=nBag25W;nBagH:

=nBag25H;Pattern100;

ENDIF

!

pAbovePlace:

=pPlace1;pAfterPlace:

=pAbovePlace;

ENDPROC

PROCPattern80()bTag:

=FALSE;

TESTnCount1+1

CASE1:

pPlace1:

=pBase180;

pPlace1.trans.x:

=pPlace1.trans.x;

pPlace1.trans.y:

=pPlace1.trans.y;

pPlace1.trans.z:

=pPlace1.trans.z;

nOffsX1:

=0;

nOffsY1:

=0;

nOffsZ1:

=500;

nOffsZ2:

=-500;

nLevel:

=1;

bTwice:

=FALSE;

pAfterPick.trans.z:

=pPick.trans.z+400;

pAbovePlace:

=pPlace1;

pAbovePlace.trans.z:

=pPick.trans.z+400;bTag:

=True;

CASE2:

pPlace1:

=pBase0;

pPlace1.trans.x:

=pPlace1.trans.x;

pPlace1.trans.y:

=pPlace1.trans.y;

pPlace1.trans.z:

=pPlace1.trans.z;

nOffsX1:

=0;

nOffsY1:

=0;

nOffsZ1:

=nBagH*1.2;

nOffsZ2:

=-500;

nLevel:

=1;

bTwice:

=FALSE;

pAfterPick.trans.z:

=pPick.trans.z+400;

pAbovePlace:

=pPlace1;

pAbovePlace.trans.z:

=pPick.trans.z+400;

CASE3:

pPlace1:

=pBase90;

pPlace1.trans.x:

=pPlace1.trans.x;pPlace1.trans.y:

=pPlace1.trans.y+25;

pPlace1.trans.z:

=pPlace1.trans.z;

nOffsX1:

=0;

nOffsY1:

=0;

nOffsZ1:

=nBagH*1.2;

nOffsZ2:

=-500;

nLevel:

=1;

bTwice:

=FALSE;pAfterPick.trans.z:

=pPick.trans.z+400;pAbovePlace:

=pPlace1;pAbovePlace.trans.z:

=pPick.trans.z+400;

CASE4:

pPlace1:

=pBase90;pPlace1.trans.x:

=pPlace1.trans.x+2*nBagW;pPlace1.trans.y:

=pPlace1.trans.y+25;pPlace1.trans.z:

=pPlace1.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 公共行政管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1