KUKA程序解读内容_第1页
KUKA程序解读内容_第2页
KUKA程序解读内容_第3页
KUKA程序解读内容_第4页
KUKA程序解读内容_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

DEFDNL_5LFD080ROB01()工位主程序;*DefaultsrcTemplateforKuka-Krc-Volvo;*Created01/10/2012bySiemensPLM;*;*Study:FrontDoorL;*Program:DNL_5SchFrontDoorLkr240r2700_prime_s;*GenerationDate:05/01/2013at10:01:54;*Robot:LFD080ROB01(kr240r2700_prime_s);*User:Administrator;*TecnomatixSoftware:ProcessSimulateoneMServer13;*Olp:Kuka-Krc-Volvo0.0;*Rcs:krc8.2_r01;*Controller:v8.2(KRC4)CTime(TRUE,1)计时(计时器1,置位为TRUE)CollisionDetectBEGIN(TorqSequence1)碰撞检测开启MovInitAll()初始化所有Inittool(GrippGP01a)抓手初始化Inittool(StatdoserSG01A)Inittool(StatDoserSG01B)DNL_5SchDefault()生产程序CollisionDetectEND(TorqSequence1,25)碰撞检测关闭CTime(FALSE,1)计时器(结束计时1,置位为false)END循环结束GLOBALDEFDNL_5SchDefault()全局程序步序WaitSignal(AllocateStation);1进入大区域,信号:1WaitSignal(AllocateST01a);3等待ST01条件满足抓件,信号:3WaitSignal(AllocateZone1);21进入干涉区1,信号21DNL_5Get080ST01()机器人去ST01抓件WaitSignal(ReleaseZone1);22释放干涉区1,信号22WaitSignal(ReleaseST01a);4释放ST01,信号4WaitSignal(RequestSeala);33请求进入涂胶,信号23DNL_5Seal080SG01a()080涂胶胶枪ADNL_5Seal080SG01b()080涂胶胶枪BDNL_5SealChk080FGH01()照相检测GlueingCheck(#DNL_5)涂胶抽检WaitSignal(FinishSeala);34释放涂胶完成,信号34WaitSignal(AllocateST01b);5进入涂胶枪B,信号5WaitSignal(AllocateZone2);23进入干涉区2,信号23WaitSignal(AllocateZone9);61进入干涉区9,信号61DNL_5Put090ST01()090ST01放件程序WaitSignal(ReleaseZone9);62释放干涉区9,信号62WaitSignal(ReleaseZone2);24释放干涉区2,信号24WaitSignal(ReleaseST01b);6释放ST01B,信号24WaitSignal(ReleaseStation);2离开大区域,信号:2WaitSignal(WoekIsDone);31释放信号,工作完成,31ENDDEFDNL_5Get080ST01()抓080ST01MovSetAcc(100)加速时间100m/sGripperCheckNoPart(#PartPresent1)抓手没有检测到板件GripperCls(#Sequence1,)抓手阀1夹紧GripperCheckClo(#Sequence1)抓手阀1检测信号GripperOpn(#Sequence4,)抓手阀4打开GripperCheckOpn(#Sequence4)抓手阀4打开检测信号VacuumSupervisionOff(#VacPresent1)吸盘1检测关闭(删了也可以)VacuumSupervisionOff(#VacPresent2)吸盘2检测关闭MovA(HomeGrippGP01a,Exact,100)原点位置MovL(ToInGetFixtST01_20,fine,0.5,GrippGP01a,DNL_5FixtST01,DNL_5GrippGP01aLoadA)MovL(ToInGetFixtST01_10,fine,0.5,GrippGP01a,DNL_5FixtST01,DNL_5GrippGP01aLoadA)MovLFrame(InGetFixtST01,0.5,GrippGP01a,DNL_5FixtST01,DNL_5GrippGP01aLoadA)MovP(ingetfixst01,Exact,100,GrippGP01a,DNL_5FixtST01,DNL_5GrippGP01aLoadA)MovP运动类型:运动类型(轨迹方向和过渡点编号,运动模式(coares、exact、fine),速度(0%-100%),工具坐标系,车型坐标系MovL运动类型:运动类型(轨迹方向和过渡点编号,运动模式(coares、exact、fine),速度(0m/s-2m/s),工具坐标系,车型坐标系GripperCheckPart(#PartPresent1)抓手检测板件信号WaitSignal(RequestPickPart);9等待抓件信号,9Vacuum_On(#Vacuum1,)吸盘1,吸气打开Vacuum_On(#Vacuum2,)吸盘2,吸气打开GripperCls(#Sequence4,)抓手阀4夹紧GripperCheckClo(#Sequence4)抓手阀4夹紧检测VacuumSupervisionOn(#VacPresent1)吸盘1,检测开启VacuumSupervisionOn(#VacPresent2)吸盘2,检测开启WaitSignal(FinishPickPart);10MovL(FrInGetFixtST01_10,fine,0.15,GrippGP01a,DNL_5FixtST01,DNL_5GrippGP01aLoadA)MovL(FrInGetFixtST01_20,fine,0.3,GrippGP01a,DNL_5FixtST01,DNL_5GrippGP01aLoadA)MovP(FrInGetFixtST01_30,Coarse,100,GrippGP01a,DNL_5FixtST01,DNL_5GrippGP01aLoadA)MovP(FrInGetFixtST01_40,Coarse,100,GrippGP01a,DNL_5FixtST01,DNL_5GrippGP01aLoadA)MovP(FrInGetFixtST01_50,Coarse,100,GrippGP01a,DNL_5FixtST01,DNL_5GrippGP01aLoadA)MovA(HomeGrippGP01a,Exact,100)END所有的轨迹做了删减!!!!大致解释如下MovP运动类型:运动类型(轨迹方向和过渡点编号,运动模式(coares、exact、fine),速度(0%-100%),工具坐标系,车型坐标系MovL运动类型:DEFDNL_5Put080PC01()放件到080检测台MovSetAcc(25)加速度25M/sGripperCheckPart(#PartPresent1)抓手检测到工件MovA(HomeGrippGP01a,Exact,100)MovP(ToInPutDeskPC01_30,Coarse,100,GrippGP01a,DNL_5DeskPC01,DNL_5GrippGP01aLoadA)MovP(ToInPutDeskPC01_20,Coarse,100,GrippGP01a,DNL_5DeskPC01,DNL_5GrippGP01aLoadA)MovP(ToInPutDeskPC01_10,Coarse,100,GrippGP01a,DNL_5DeskPC01,DNL_5GrippGP01aLoadA)GripperSupervisionOff(#PartPresent1)抓手检测关MovLFrame(InPutDeskPC01,0.5,GrippGP01a,DNL_5DeskST01,DNL_5GrippGP01aLoadA)VacuumSupervisionOff(#VacPresent1)吸盘1,检测关VacuumSupervisionOff(#VacPresent2)吸盘2,检测关Vacuum_Blow(#Vacuum1,,10)吸盘1,吹气,10SVacuum_Blow(#Vacuum2,,10)吸盘2,吹气,10SGripperOpn(#Sequence1,)抓手阀1打开GripperCheckOpn(#Sequence1)抓手阀1检测打开GripperOpn(#Sequence4,)抓手阀4打开GripperCheckOpn(#Sequence4)抓手阀4检测打开WaitSignal(AllocateGlueingCheck_Put);39等待涂胶检测结束,信号39MovL(FrInPutDeskPC01_10,Coarse,1,GrippGP01a,DNL_5DeskPC01)GripperCheckNoPart(#PartPresent1)抓手检测信号1没有检测到板件Vacuum_Off(#Vacuum1,#NoCheck)吸盘1,关Vacuum_Off(#Vacuum2,#NoCheck)吸盘2,关MovP(FrInPutDeskPC01_20,Coarse,100,GrippGP01a,DNL_5DeskPC01)MovP(FrInPutDeskPC01_30,Coarse,100,GrippGP01a,DNL_5DeskPC01)MovP(FrInPutDeskPC01_40,Coarse,100,GrippGP01a,DNL_5DeskPC01)MovA(HomeGrippGP01a,Exact,100)ENDDEFDNL_5Get080PC01_OK()080抓检测台上合格的板件MovSetAcc(25)加速度25M/sMovA(HomeGrippGP01a,Exact,100)GripperCheckNoPart(#PartPresent1)抓手板件传感器1,没有检测到板件GripperOpn(#Sequence1,)抓手阀1,打开GripperCheckOpn(#Sequence1)抓手阀1,检测打开GripperOpn(#Sequence4,)抓手阀4,打开GripperCheckOpn(#Sequence4)抓手阀4,检测打开MovP(ToInGetFixtPC01_110,Coarse,100,GrippGP01a,ROB)MovP(ToInGetFixtPC01_30,Coarse,100,GrippGP01a,DNL_5FixtPC01)MovP(ToInGetFixtPC01_20,Coarse,100,GrippGP01a,DNL_5FixtPC01)MovP(ToInGetFixtPC01_10,Coarse,100,GrippGP01a,DNL_5FixtPC01)GripperCls(#Sequence1,)抓手阀1,关闭GripperCheckClo(#Sequence1)抓手阀1,检测关闭MovLFrame(InGetFixtPC01,0.5,GrippGP01a,DNL_5FixtPC01)GripperSupervisionOff(#PartPresent1)抓手板件传感器,检测关GripperCheckPart(#PartPresent1)抓手板件传感器1,检测到板件Vacuum_On(#Vacuum1,)吸盘1,吸气VacuumSupervisionOn(#VacPresent1)吸盘1,检测开启Vacuum_On(#Vacuum2,)吸盘2,吸气VacuumSupervisionOn(#VacPresent2)吸盘2,检测开启GripperCls(#Sequence4,)抓手阀4,关闭GripperCheckClo(#Sequence4)抓手阀4,检测关闭WaitSignal(AllocateGlueingCheck_Get);79MovL(FrInGetFixtPC01_10,Coarse,1,GrippGP01a,DNL_5FixtPC01,DNL_5GrippGP01aLoadA)MovP(FrInGetFixtPC01_20,Coarse,100,GrippGP01a,DNL_5FixtPC01,DNL_5GrippGP01aLoadA)MovP(FrInGetFixtPC01_30,Coarse,100,GrippGP01a,DNL_5FixtPC01,DNL_5GrippGP01aLoadA)MovP(FrInGetFixtPC01_80,Coarse,100,GrippGP01a,ROB,DNL_5GrippGP01aLoadA)MovA(HomeGrippGP01a,Exact,100)ENDDEFDNL_5Get080PC01_NOK()080抓检测台上不合格的板件MovSetAcc(25)加速度25M/sMovA(HomeGrippGP01a,Exact,100)GripperCheckNoPart(#PartPresent1)抓手板件传感器1,没有检测到板件GripperOpn(#Sequence1,)抓手阀1,打开GripperCheckOpn(#Sequence1)抓手阀1,检测打开GripperOpn(#Sequence4,)抓手阀4,打开GripperCheckOpn(#Sequence4)抓手阀4,检测打开MovP(ToInGetFixtPC01_110,Coarse,100,GrippGP01a,ROB)MovP(ToInGetFixtPC01_100,Coarse,100,GrippGP01a,DNL_5FixtPC01)MovP(ToInGetFixtPC01_90,Coarse,100,GrippGP01a,DNL_5FixtPC01)MovP(ToInGetFixtPC01_80,Coarse,100,GrippGP01a,DNL_5FixtPC01)MovP(ToInGetFixtPC01_70,Coarse,100,GrippGP01a,DNL_5FixtPC01)MovP(ToInGetFixtPC01_60,Coarse,100,GrippGP01a,DNL_5FixtPC01)MovP(ToInGetFixtPC01_50,Coarse,100,GrippGP01a,DNL_5FixtPC01)MovP(ToInGetFixtPC01_40,Coarse,100,GrippGP01a,DNL_5FixtPC01)MovP(ToInGetFixtPC01_30,Coarse,100,GrippGP01a,DNL_5FixtPC01)MovP(ToInGetFixtPC01_20,Coarse,100,GrippGP01a,DNL_5FixtPC01)MovP(ToInGetFixtPC01_10,Coarse,100,GrippGP01a,DNL_5FixtPC01)GripperCls(#Sequence1,)抓手阀1,关闭GripperCheckClo(#Sequence1)抓手阀1,检测关闭MovLFrame(InGetFixtPC01,0.5,GrippGP01a,DNL_5FixtPC01)GripperSupervisionOn(#PartPresent1)抓手板件传感器1,检测开GripperCheckPart(#PartPresent1)抓手板件传感器1,检测到板件Vacuum_On(#Vacuum1,)吸盘1,吸气VacuumSupervisionOn(#VacPresent1)吸盘1,检测开启Vacuum_On(#Vacuum2,)吸盘2,吸气VacuumSupervisionOn(#VacPresent2)吸盘2,检测开启GripperCls(#Sequence4,)GripperCheckClo(#Sequence4)抓手阀4,关闭WaitSignal(AllocateGlueingCheck_Get);79等待涂胶检查MovL(FrInGetFixtPC01_10,Coarse,1,GrippGP01a,DNL_5FixtPC01,DNL_5GrippGP01aLoadA)MovP(FrInGetFixtPC01_20,Coarse,100,GrippGP01a,DNL_5FixtPC01,DNL_5GrippGP01aLoadA)MovP(FrInGetFixtPC01_30,Coarse,100,GrippGP01a,DNL_5FixtPC01,DNL_5GrippGP01aLoadA)MovP(FrInGetFixtPC01_40,Coarse,100,GrippGP01a,DNL_5FixtPC01,DNL_5GrippGP01aLoadA)MovP(FrInGetFixtPC01_50,Coarse,100,GrippGP01a,DNL_5FixtPC01,DNL_5GrippGP01aLoadA)MovP(FrInGetFixtPC01_60,Coarse,100,GrippGP01a,DNL_5FixtPC01,DNL_5GrippGP01aLoadA)MovP(FrInGetFixtPC01_70,Coarse,100,GrippGP01a,DNL_5FixtPC01,DNL_5GrippGP01aLoadA)MovP(FrInGetFixtPC01_80,Coarse,100,GrippGP01a,ROB,DNL_5GrippGP01aLoadA)MovA(HomeGrippGP01a,Exact,100)ENDDEFDNL_5SealChk080FGH01()080涂胶检测判断MovSetAcc(25)MovA(HomeGrippGP01a,Coarse,100)MovP(ToSealChkPos01_20,Fine,100,SealChkFGH01a,DNL_5CarGP01a,DNL_5GrippGP01aLoadA)MovP(ToSealChkPos01_10,Coarse,100,SealChkFGH01a,DNL_5CarGP01a,DNL_5GrippGP01aLoadA)MovP(SealChkPos01,Fine,100,SealChkFGH01a,DNL_5CarGP01a,DNL_5GrippGP01aLoadA)WaitSignal(AllocateSealCheck_Pos01);15WaitSignal(ReleaseSealCheck_Pos01);16MovP(ToSealChkPos02_20,Coarse,100,SealChkFGH01a,DNL_5CarGP01a,DNL_5GrippGP01aLoadA)MovP(ToSealChkPos02_10,Coarse,100,SealChkFGH01a,DNL_5CarGP01a,DNL_5GrippGP01aLoadA)MovP(SealChkPos02,Fine,100,SealChkFGH01a,DNL_5CarGP01a,DNL_5GrippGP01aLoadA)WaitSignal(AllocateSealCheck_Pos02);17WaitSignal(ReleaseSealCheck_Pos02);18MovP(FrSealChkPos02_10,Coarse,100,SealChkFGH01a,DNL_5CarGP01a,DNL_5GrippGP01aLoadA)MovP(FrSealChkPos02_20,Coarse,100,SealChkFGH01a,DNL_5CarGP01a,DNL_5GrippGP01aLoadA)MovP(FrSealChkPos02_30,Fine,100,SealChkFGH01a,DNL_5CarGP01a,DNL_5GrippGP01aLoadA)MovA(HomeGrippGP01a,Coarse,100)ENDDEFGlueingCheck(GlueingCheckTypeIn:IN)DECLGlueingCheckTypeGlueingCheckTypeInDECLBOOLGlueCheckGluecheck=TRUEREPEAT跳出SWITCHGlueingCheckTypeIn选择涂胶检测类型CASE#DNL_5SWITCHDirectionFromPlc(PLCGlueingCheck);5选择要不要检查(抽检按钮)CASERequestGlueingCheck;1抽检请求1O_GlueMeasureNOK=FALSEWaitSignal(AllocateGlueingCheckPut);37检查完成后放件DNL_5Put080PC01()WaitSignal(ReleaseGlueingCheck_Put);40WaitSignal(ReleaseGlueingCheckPut);38SWITCHDirectionFromPlc(PLCGlueingCheck);5选择涂胶合格与否的方向CASEOK_Validation;3涂胶合格WaitSignal(AllocateGlueingCheckGet);69进入抓件区域,信号69DNL_5Get080PC01_OK()调用080检测台,涂胶OK的程序WaitSignal(ReleaseGlueingCheck_Get);80WaitSignal(ReleaseGlueingCheckGet);70离开抓件区域,信号70RETURN跳出CASENOK_Rework;4涂胶不合格WaitSignal(AllocateGlueingCheckGet);69进入抓件区域,信号69DNL_5Get080PC01_NOK()调用080检测台,涂胶不合格的程序WaitSignal(ReleaseGlueingCheck_Get);80WaitSignal(ReleaseGlueingCheckGet);70离开抓件区域,信号70DNL_5Seal080SG01a()重新调用涂胶枪A、B、拍照DNL_5Seal080SG01b()DNL_5SealChk080FGH01()DEFAULT否则iResult=MsgSend(mNoPrg,#NoAlarm)输出显示没有程序,没有报警LOOPSetErrorToPlc(True)iResult=MsgSend(mNoContinue,#NoAlarm)HALTENDLOOPENDSWITCHCASENotGlueingCheck;2Gluecheck=FALSE不激活涂胶抽检RETURN跳出DEFAULT否则iResult=MsgSend(mNoPrg,#NoAlarm)LOOPSetErrorToPlc(True)iResult=MsgSend(mNoContinue,#NoAlarm)HALTENDLOOPENDSWITCHDEFAULTiResult=MsgSend(mNoPrg,#NoAlarm)LOOPSetErrorToPlc(True)iResult=MsgSend(mNoContinue,#NoAlarm)HALTENDLOOPENDSWITCHUNTILGlueCheck==FALSE直到,涂胶检查OKENDDEFSealCheck()WAITSEC1.5;O_GlueMeasureNOK=TRUEENDDEFDNL_5RRD050ROB01()工位名称;*DefaultsrcTemplateforKuka-Krc-Volvo;*Created01/10/2012bySiemensPLM;*Study:RearDoorR;*Program:DNL_5SchRearDoorRkr210r2700_extra_s;*GenerationDate:07/01/2013at16:54:57;*Robot:RRD050ROB01.(kr210r2700_extra_s);*User:AdministratorCTime(TRUE,1)计时(开始,计时器1)CollisionDetectBEGIN(TorqSequence1)碰撞检测启动MovInitAll()全部初始化INITEqualizingMedium初始化焊枪平衡Inittool(GunWS01a)初始化工具DNL_5SchDefault()生产程序调用CollisionDetectEND(TorqSequence1,25)碰撞检测关闭CTime(FALSE,1)计时(结束,计时器1)END结束GLOBALDEFDNL_5SchDefault()全局生产程序调用WaitSignal(AllocateStation);1等待进入生产(大区域)信号:1SWITCHDirectionFromPLC(RRD);1选择等待PLC发ABCASEA_Side;1A面生产程序1WaitSignal(RequestWelda);3等待进入A面焊接区域,信号:3WaitSignal(AllocateZone5);41等待进入干涉区5,信号:41WaitSignal(AllocateZone8);47等待进入干涉区8,信号:47WaitSignal(AllocateZone9);61等待进入干涉区9,信号:61DNL_5Weld050JG01_A()调用DNL_5Weld050JG01_A()焊接程序WaitSignal(ReleaseZone5);42等待释放干涉区5,信号:42WaitSignal(ReleaseZone8);48等待释放干涉区8,信号:48WaitSignal(ReleaseZone9);62等待释放干涉区9,信号:62WaitSignal(FinishWelda);4等待释放A面焊接区域,信号:3CASEB_Side;2B面生产程序2WaitSignal(RequestWelda);3等待进入B面焊接区域,信号:3WaitSignal(AllocateZone5);41等待进入干涉区5,信号:41WaitSignal(AllocateZone8);47等待进入干涉区8,信号:47WaitSignal(AllocateZone9);61等待进入干涉区9,信号:61DNL_5Weld050JG01_B()调用DNL_5Weld050JG01_A()焊

温馨提示

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

评论

0/150

提交评论