打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ABB上料机器人程序注释,31#程序

PROC rProg31()

       MoveJ pStartPOS,v300,fine,T_Gripper1;//移动到启动位置

       MoveJDO pWaitPick,v300,fine,T_Gripper1,DO112,1;//移动到等待位置

       Pos_WaitLoad:=pWaitLoad.trans.y;//等待上料点Y轴坐标参数

       Pos_OutLoad:=pOutLoad.trans.y;//离开上料点Y轴坐标参数

       PosJudge;

       LableA:

       wobj_num:=GI1;//程序号

       Ahead_Press:=GI4;//提前冲压距离

       SetAO AO5,pLoad.trans.y;//机器人放料点Y坐标

       !Pos_OutLoad:=pOutLoad.trans.y;

       GripLoad load0;

       MoveJDO pWaitPick,v3000,z200,T_Gripper1,DO112,1;//移动到等待抓料点

        rSignal(1);//信号处理程序

       Lable1:

       WaitUntil(DI32=1 AND DI38=1) OR DI26=1 OR DI29=1 OR DI7=1;//等待信号

       IF DI26=1 THEN//整线清空

           rMoveToHome;//回原点

           rGripVacuum;

           EXIT;

       ENDIF

       IF DI29=1 OR DI7=1 THEN//开门和停止信号请求

           rDoorOpen;//门打开程序

           GOTO Lable1;

       ENDIF

       Reset DO69;//在其他装置外部

       WaitUntil(DI32=1 AND DI38=1);//允许在其他装置取料和前一台机器人在干涉区域外部

       BaseCoordCall;//视觉基础位置程序调用

       CallByVar "Vision",wobj_num;//调用视觉程序

       rGrip;

       MoveJ RelTool(pPick,-x1,y1,-180\Rz:=-a1),v4000,fine,toolVision;//移动到抓料点位置1正上方

       PulseDO\PLength:=0.5,DO63;//输出DO63,给吸盘控制程序,控制阀岛打开一部分吸盘通道

       MoveL RelTool(pPick,-x1,y1,48\Rz:=-a1),v500,fine,toolVision;//移动到抓料点

        MoveJRelTool(pPick,-x1,y1,-100\Rz:=-a1),v1000,z50,toolVision;//抓料后上升一定的位置

       BaseCoordCall;//视觉基础位置程序调用

       toolVision.tframe.trans.x:=toolVision.tframe.trans.x+OffsCoordX1;

       toolVision.tframe.trans.y:=toolVision.tframe.trans.y-OffsCoordY1;

       MoveJ RelTool(pPick,-x2,y2,-100\Rz:=-a2),v1000,fine,toolVision;//移动到抓料点位置2正上方

       PulseDO\PLength:=0.1,DO61;//输出DO61,打开全部吸盘

       MoveL RelTool(pPick,-x2,y2,48\Rz:=-a2),v500,fine,toolVision;//移动到抓料点2

       MoveJ RelTool(pPick,-x2,y2,-100\Rz:=-a2),v1000,z50,toolVision;//抓料后上升一定的位置

       Reset DO66;//复位DO66提前启动压机

       LABLE3:

       WaitUntil DI00=1 AND DI01=1\MaxTime:=1\TimeFlag:=VacuumFault0;//等待真空信号满足DI00DI01满足,否在报警停止

       IF VacuumFault0=TRUE THEN

           PulseDO\PLength:=2,DO104;

           TPWrite "Unload Vacuum Fault,Please Check!";

           Stop;

           GOTO LABLE3;

       ENDIF

       PulseDO\PLength:=0.5,DO62;//从其他装置取料完成

       rSignal(2);//信号处理程序

       BaseCoordCall;//视觉基础位置程序调用

       !MoveL pAfterPick,v800,z150,T_Gripper1;

       MoveJDO pTransit,v2500,z200,T_Gripper1,DO69,1;//机器人抓料离开皮带机点,位于等待上料点前边

       MoveJDO pWaitLoad,v3000,z200,T_Gripper1,DO118,1;//等待上料点,DO118到达上料等待点触发信号

       rSignal(3);//信号处理程序

       Lable2:

       WaitUntil(DI34=1 AND DI37=1) OR DI29=1 OR DI7=1;

       IF DI29=1 OR DI7=1 THEN

           rDoorOpen;

           GOTO Lable2;

       ENDIF

       lable4:

       WaitUntil DI00=1 AND DI01=1\MaxTime:=0.5\TimeFlag:=VacuumFault2;

       IF VacuumFault2=TRUE THEN

           PulseDO\PLength:=1,DO105;

           TPWrite "load Vacuum Fault,Please Check!";

           Stop;

           GOTO lable4;

       ENDIF

       CONNECT Int_speed WITH SpeedChange;

       ISignalDI DI63,1,Int_Speed;//DI63降低上料机器人的速率

       WaitDI DI40, 1;//模具内有料

       TriggIO trig_OverLoad,0\Start\DOp:=DO119,1;//D0119上料等待点开始向下一个压机内移动

       TriggL pOverLoad,v5000,trig_OverLoad,z50,T_Gripper1;//上料之前的点,在上料点的正上方

       Reset DO118;//复位信号DO118到达上料等待点触发信号

       MoveLSync pLoad,v800,fine,T_Gripper1,"rGripBlow";//上料点

       MoveL pAfterLoad,v1000,z50,T_Gripper1;//上料之后的点,在上料点的正上方

       IDelete Int_Speed;

       Speed100;//速度检测,100%才能开启提前量方式生产

       TriggIO trig_OutLoad,Ahead_Press\DOp:=DO66,1;//提前启动压机

       TriggL pOutLoad,v5000,trig_OutLoad,z100,T_Gripper1;//放料退出压机点?

       rSignal(4);//输出向后一台压机放料完成

       GOTO LableA;

    ENDPROC//程序结束

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【绝对干货】ABB机器人编程技巧!
你是怎么回原点的呢?(一)
10句代码教你写一个进度条
ABB 机器人编程示例
取料机夹轮器制动系统的改造
更新:胡子定时远程关机批处理程序完美版6--子不语
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服