ABB培训 昆山莱捷程序注解_第1页
ABB培训 昆山莱捷程序注解_第2页
ABB培训 昆山莱捷程序注解_第3页
ABB培训 昆山莱捷程序注解_第4页
ABB培训 昆山莱捷程序注解_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

昆山莱捷程序注解2014.6.25ABB机器人相关设置一,机器人语言设置,二,机器人IO设置三,总线设置四,系统输入/输出五,交叉连接六,安全区域七,上电启动程序连接八,程序解析一,机器人语言设置一,取件程序DownloadDCMOpen_Grip_Mt;-------打开夹手

MoveJpWaitDCM,v2000,z100,tGriper;-------机器人移至待机位置(pWaitDCM);MoveJpInDCM_1,v2000,z100,tGriper;------进入模具点一;MoveJpInDCM_2,v2000,z100,tGriper;-------进入模具点二;MoveLpMiddle_Die,v2000,z1,tGriper;-------进入模具中心点;WaituntilDi44ExtAweGrip=1\MaxTime:=15\TimeFlag:=flag2;---------等待可抓取信号(Di44ExtAweGrip)

IFNOTflag2THEN----------如果等待可抓取信号

未超时则继续下一条指令;

MoveLOffs(pGrPart10,150,0,0),v500,fine,tGriper;------------直线移至大地坐标下“X”轴据抓取点150mm的位置;MoveLpGrPart10,v500,fine,tGriper;------------直线移至抓取点;WaitTime0.2;Close_Grip_Mt;------------夹手加紧;WaitTime0.2;SoftActive;------------软浮动打开setDo39EjFwdDCM;--------------置位允许顶出信号;WaituntilDi45EjectFwLS=1\MaxTime:=15\TimeFlag:=flag1;-------------等待顶针出限;

IFNOTflag1THEN-------------------如果等待顶针出现未超时pGripPart:=CRobT(\Tool:=tGriper\WObj:=wobj0);---------------记录顶针顶出后机器人的位置;MoveLOffs(pGripPart,0,0,0),v500,fine,tGriper;----------------机器人移至当前位置(注:此处不可任意改动)SoftDeact;--------------关闭软浮动;WaitTime0.2;MoveLOffs(pGripPart,250,0,0),v500,fine,tGriper;--------直线移至大地坐标下“X”轴据抓取点250mm的位置;ResetDo39EjFwdDCM;------------复位允许顶出信号;IncrnProductCount;-------------产品计数;ExitDCM;-------------调用退出压铸机程序;注:此程序中,除待机位置,进入模具位置,抓取位置可改动外其他程序均不可改动,改动位置后要手动运行两遍以上才可自动运行二,取件失败DCM_ExtrFailPROCDCM_ExtrFail()!theroutineforafterpickpartfailformDCMSoftDeact;---------------先关闭软私服;WaitTime0.3;Open_Grip_Mt;------------打开夹手;WaitTime0.5;MoveLpMiddle_Die,v1000,z1,tGriper;--------直线移至模具中心点;MoveJpInDCM_2,v1500,z60,tGriper;-------移至进入模具点二;MoveJpInDCM_1,v1500,z60,tGriper;--------移至进入模具点一;MoveJpWaitDCM,v2500,z60,tGriper;--------移至待机点;!MoveJpHome,v1000,fine,tGriper;MoveJDOpHome,v1000,fine,tGriper,Do42ExRobSfHome,1;--------回原点并置位原点信号;注:一:此程序是取件失败时自动放弃取件回原点程序,只有在等待可抓取信号超时或等待顶针顶出限位信号超时时才会自动回到原点,如果取件过程中遇到其他意外情况则需手动回到原点位置,此路径是按照取件的路径原路返回,如果修改则取件路径需重新试验;二:“!”表示程序被注释掉,不执行该句程序ENDPROC三,取件后退出DCM(ExitDCM)PROCExitDCM()!theroutineforafterpickpartformDCMMoveLpMiddle_Die,v500,z1,tGriper;-----------直线移至模具中心点;MoveLpInDCM_2,v2000,z50,tGriper;----------直线移至进入模具电二;MoveJpWaitDCM,v2000,z60,tGriper;-----------移至待机位置;!ISleepirDieClose;!PulseDO\PLength:=1,Do44BaDoorClose;ClkStopclTimerEx;---------停止取件时间计时;nExtractTimer:=ClkRead(clTimerEx);---------取件时间赋值;ClkResetclTimerEx;----------取件始终复位;CheckPart;----------调用产品检测程序;注:此程序为产品正常取出时退出压铸机程序,退出时速度不宜太快,“!”开头的程序注解程序,无需改动或考虑,取件时钟为记录取件时间的计时器不许改动,程序自动运行时会在示教盘上显示取件时间,单位为秒。

ENDPROC四,产品检测程序(CheckPart)PROCCheckPart()TPWrite“RobotCheckingPart”;--------写屏,即在示教盘上写出“”中的内容;MoveJPcheckpart,v2000,z100,tGriper;-----移至产品检测点一;MoveJPcheckpart_1,v2000,z100,tGriper;-------移至产品检测点二;MoveLpCheckPosition,v300,fine,tGriper;--------直线移至产品检测点;PulseDO\PLength:=3,Do40CheckStart;--------发送产品检测开始脉冲;WaitTime0.2;WaituntilsiPartCheckOK=1\MaxTime:=10\TimeFlag:=flag1;---------等待产品检测信号;IFNOTflag1THEN-----------如果产品检测等待未超时;PulseDO\PLength:=2,Do44BaDoorClose;-------发送后门关闭信号;bPartCheck:=TRUE;ResetsoRobExtrWork;------------复位取件中信号MoveLpCheckPart_1,v1500,z100,tGriper;---------退回到检测前位置;Vibration;------------调用震动去渣包程序;

ELSE----------如果等待产品检测信号超时;bPartCheck:=FALSE;PulseDO\PLength:=1,Do35ExRobAlarm;-----发出警报信号;TPWrite“PleaseCheckingPartandSensorSwitch”;--------写出报警信息;MoveLpCheckPart_1,v1500,z100,tGriper;----------退回到检测位置1MoveJpCheckPart_2,v1500,z100,tGriper;---------退回到检测位置2!GoodPart;PutNG;---------调用PutNG程序(扔废料)STOP;--------暂停取件程序。ENDIFENDPROC五,震动去渣包(Vibration)PROCVibration()!***************Vibration*************MoveJVibration_1,v1500,z100,tGriper;--------移至震动去渣包区域过程点一,MoveJVibration_2,v1500,z100,tGriper;--------移至震区去渣包区域过程点二,MoveJVibration_3,v1500,z100,tGriper;---------移至震动去渣包区域过程点三;MoveJVibration_4,v1500,fine,tGriper;----------去渣包点一Z轴负方向点;SetDo60VibrationValve;---------打开震动去渣包气阀;MoveLOffs(Vibration_4,0,0,35),v1000,fine,tGriper;-------移至去渣包点一;WaitTime0.5;MoveJVibration_4,v1500,z50,tGriper;;MoveJVibration_5,v1000,z10,tGriper;;----------去渣包点二Z轴负方向点;MoveLOffs(Vibration_5,0,0,60),v1000,fine,tGriper;-----------移至去渣包点二;WaitTime0.5;MoveJVibration_5,v1000,z10,tGriper;WaitTime0.5;MoveJVibration_14,v1500,z10,tGriper;----------去渣包点三Z轴负方向点;MoveLOffs(Vibration_14,0,0,95),v1000,fine,tGriper;;-----------移至去渣包点三;WaitTime0.5;MoveJVibration_14,v1000,z10,tGriper;MoveJVibration_13,v1000,z100,tGriper;----------去渣包点四Z轴负方向点;MoveLOffs(Vibration_13,0,0,95),v1000,z50,tGriper;;MoveLOffs(Vibration_13,0,0,140),v1000,fine,tGriper;;-----------移至去渣包点四;WaitTime0.5;MoveJVibration_13,v1000,z100,tGriper;MoveJVibration_12,v1000,z10,tGriper;震动去渣包续MoveJVibration_15,v1000,z10,tGriper;

----------去渣包点五Z轴负方向点;MoveLOffs(Vibration_15,0,0,90),v1000,fine,tGriper;;-----------移至去渣包点五;WaitTime0.5;MoveJVibration_15,v800,fine,tGriper;MoveJVibration_6,v1000,fine,tGriper;

----------去渣包点六Z轴负方向点;MoveLOffs(Vibration_6,0,0,95),v1000,fine,tGriper;

----------移至去渣包点六;WaitTime0.5;MoveJVibration_6,v1000,z10,tGriper;

MoveJVibration_7,v1000,z100,tGriper;

----------去渣包点七Z轴负方向点;MoveLOffs(Vibration_7,0,0,95),v1000,fine,tGriper;

----------移至去渣包点七;WaitTime0.5;MoveLOffs(Vibration_7,0,0,-100),v1000,fine,tGriper;WaitTime0.5;MoveJVibration_8,v1000,z10,tGriper;

----------去渣包点八Z轴负方向点;MoveLOffs(Vibration_8,0,0,80),v1000,fine,tGriper;

----------移至去渣包点八;WaitTime0.5;MoveJVibration_8,v1000,z10,tGriper;MoveJVibration_9,v1000,z10,tGriper;

----------去渣包点九Z轴负方向点;MoveLOffs(Vibration_9,0,0,60),v1000,fine,tGriper;

----------移至去渣包点九;WaitTime0.5;MoveJVibration_9,v1000,z10,tGriper;WaitTime0.5;MoveJVibration_10,v1000,z100,tGriper;----------去渣包点十Z轴负方向点;MoveLOffs(Vibration_10,0,0,50),v1000,fine,tGriper;

----------移至去渣包点十;WaitTime0.5;MoveJVibration_10,v1000,z100,tGriper;MoveJVibration_11,v1000,z10,tGriper;

--------退出去渣包区域点;ResetDo60VibrationValve;-----------复位震动阀。六,水冷却(LoadCoolWater)WaitDIDi57CoolClaOpenLS,1;--------等待冷却水槽可放件信号MoveJLoadCool_A1,v1500,z100,tGriper;-------水槽冷却点一;MoveJLoadCool_A2,v1500,z100,tGriper;-------水槽冷却点二;MoveLLoadCool_A3,v400,fine,tGriper;--------进入水槽点;WaitTime2;MoveJLoadCool_A4,v500,z100,tGriper;--------出水槽点一;MoveLLoadCool_A5,v800,z100,tGriper;-------出水槽点二;MoveLLoadCool_A6,v800,z100,tGriper;-------出水槽点三;MoveJLoadCool_B1,v1000,z100,tGriper;--------水槽放件吹气点一;MoveJLoadCool_B2,v1000,z100,tGriper;--------水槽放件吹气点二;MoveLOffs(PCoolClaPos,100,0,0),v1000,z50,tGriper;------冷却水槽预放件位置;MoveJPCoolClaPos,v300,fine,tGriper;-----------冷却水槽放件位置;WaitTime0.2;SoftActive;---------软浮动打开;ResetDo58CoolClaOpen;-------PulseDO\PLength:=3,Do59CoolClaClose;--------夹取脉冲;WaitTime2;SoftDeact;-----------关闭软浮动;Open_Grip_Mt;--------夹手打开;WaitTime0.5;MoveLOffs(PCoolClaPos,100,0,0),v300,z20,tGriper;------直线移至与抓取点;PulseDO\PLength:=10,Do55CoolLeftBlow;-----------打开吹气阀;PulseDO\PLength:=10,Do56CoolRightBlow;PulseDO\PLength:=10,Do57CoolSideBlow;MoveLLoadCool_B2,v1000,z100,tGriper;----------直线上升;冷却放件续Lable_Cut:WaitUntilDi61CutTake=1ORDi60CutPart=1\MaxTime:=50\TimeFlag:=flag1;---------等待可放或可取信号;IFNOTFlag1THEN---------若等待未超时;

IFDi58CutAuto=1andDi59CutFault=0andDi61CutTake=1THEN-----判断是否为可取;

UnloadOil; -------若可取信号为ON则调用油压机取件信号

ENDIF

IFDi58CutAuto=1andDi59CutFault=0ANDDi60CutPart=1THEN-------判断是否有可放信号WaitTime0.5;UnloadWatercool;----------若有可放信号则调用冷却水槽取件程序;ENDIFELSE

PulseDO\PLength:=3,Do35ExRobAlarm;-----------------若等待超时;

Stop;-----------------程序暂停;GOTOLable_Cut;----跳回到等待本页首行ENDIF七,油压机取件(UnloadOil)PROCUnloadOil() !***************ExtractoutOilhydraulicpress*************start:--------程序标签;WaitDIDi61CutTake,1;---------等待油压机可取信号MoveJUnloadOil_1,v2000,z200,tGriper;-------油压机取件过程点一;MoveJUnloadOil_2,v2000,z100,PartTool;------油压机取件过程点二;MoveLUnloadOil_3,v1000,z100,PartTool;------油压机取件过程点三;MoveLOffs(pOilGripPos,0,0,50),v800,z20,PartTool;------预抓取位置;MoveLpOilGripPos,v200,fine,PartTool;---------抓取位置;ResetDo47PartClaOpen;------制品抓手打开;PulseDO\PLength:=2,Do48PartClaClose;WaitTime0.2;MoveLOffs(pOilGripPos,0,0,80),v400,fine,PartTool;------移回预抓取点;MoveJUnloadOil_4,v400,z10,PartTool;-------移出油压机过程点;MoveLUnloadOil_14,v400,z10,PartTool;MoveLUnloadOil_24,v400,z10,PartTool;MoveJUnloadOil_2,v1000,z100,PartTool;MoveJUnloadOil_1,v1500,z100,tGriper;GoodPart;------------------------调用制品放置传输带程序。八,制品放传输带(GoodPart)PROCGoodPart()TPWrite“Downloadingatgoodpartcontainer”;-----------写屏WaitTime0.2;MoveJpGoodPart1,v1500,z100,tGriper;-------------移至传输带过程点;MoveJpGoodPart2,v1500,z200,tGriper;MoveJpGoodPart3,v1500,fine,tGriper;------------产品取出检测点;WaitTime0.6;MoveLpGoodPart2,v1500,z100,tGriper;-----------预放件位置;

!MoveLpGoodPart13,v1500,fine,tGriper;Open_Grip_Mt;--------料柄夹手打开;

ResetDo48PartClaClose;

PulseDO\PLength:=2,Do47PartClaOpen;------------松开制品夹手;PulseDO\PLength:=2,Do62ClampOpen;--------------启动传输带;WaitTime0.5;MoveJpGoodPart1,v2000,z200,tGriper;IFDi57CoolClaOpenLS=0THEN-------判断冷却水槽是否有工件; UnloadWatercool;--------------------若有则调用冷却水槽取件程序;ENDIFMoveJDOpHome,v2000,z200,tGriper,Do42ExRobSfHome,1;--------回原点;ENDPROC九,水槽取件(UnloadWatercool)WaitDIDi57CoolClaOpenLS,0;------------等待冷却水槽可取信号;MoveJUnLoadCool_B1,v2000,z100,tGriper;---------冷却水槽取件过程点;MoveJUnLoadCool_B2,v2000,z100,tGriper;MoveLOffs(PCoolGripPos,50,0,0),v1500,fine,tGriper;----------冷却取件预抓取点;MoveLPCoolGripPos,v400,fine,tGriper;------------冷却水槽抓取点;Close_Grip_Mt;-------------夹手夹紧;WaitTime0.2;ResetDo59CoolClaClose;PulseDO\PLength:=2,Do58CoolClaOpen;-------打开冷却夹具;WaitUntilDi57CoolClaOpenLS=1\MaxTime:=15\TimeFlag:=flag8;--------等待冷却夹具松开限;IFFlag8THEN----------如果等待超时,则跳转至错误处理程序;GOTOErr_UnLoadCool_B;ENDIFMoveLOffs(PCoolGripPos,150,0,0),v500,z50,tGriper;-------若等待未超时则移至预抓取位置;MoveJUnLoadCool_B2,v1500,z100,tGriper;------------原路返回移出水槽挂件位置;MoveJUnLoadCool_B1,v1500,z100,tGriper;GOTOFinish;------------移出后跳转至结束位置调用油压机放件程序;Err_UnLoadCool_B:--------错误处理Open_Grip_Mt;WaitTime1;MoveJUnLoadCool_B2,v1500,z100,tGriper;MoveJUnLoadCool_B1,v1500,z100,tGriper;PulseDO\PLength:=1,Do35ExRobAlarm;TPErase;Stop;Finish:LoadOil;十,油压机放件(LoadOil)WaitDIDi60CutPart,1;---------等待可放件信号;start:MoveJLoadOil_1,v1500,z100,tGriper;MoveJLoadOil_2,v1500,z100,tGriper;MoveJLoadOil_3,v1500,z100,tGriper;MoveLOffs(pOilPutPos,1000,0,90),v1000,z50,tGriper;MoveLO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论