KUKA程序解读Word下载.docx
《KUKA程序解读Word下载.docx》由会员分享,可在线阅读,更多相关《KUKA程序解读Word下载.docx(19页珍藏版)》请在冰点文库上搜索。
Kuka-Krc-Volvo
*Rcs:
*Controller:
(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进入大区域,信号:
1
WaitSignal(AllocateST01a);
3等待ST01条件满足抓件,信号:
3
WaitSignal(AllocateZone1);
21进入干涉区1,信号21
DNL_5Get080ST01()机器人去ST01抓件
WaitSignal(ReleaseZone1);
22释放干涉区1,信号22
WaitSignal(ReleaseST01a);
4释放ST01,信号4
WaitSignal(RequestSeala);
33请求进入涂胶,信号23
DNL_5Seal080SG01a()080涂胶胶枪A
DNL_5Seal080SG01b()080涂胶胶枪B
DNL_5SealChk080FGH01()照相检测
GlueingCheck(#DNL_5)涂胶抽检
WaitSignal(FinishSeala);
34释放涂胶完成,信号34
WaitSignal(AllocateST01b);
5进入涂胶枪B,信号5
WaitSignal(AllocateZone2);
23进入干涉区2,信号23
WaitSignal(AllocateZone9);
61进入干涉区9,信号61
DNL_5Put090ST01()090ST01放件程序
WaitSignal(ReleaseZone9);
62释放干涉区9,信号62
WaitSignal(ReleaseZone2);
24释放干涉区2,信号24
WaitSignal(ReleaseST01b);
6释放ST01B,信号24
WaitSignal(ReleaseStation);
2离开大区域,信号:
2
WaitSignal(WoekIsDone);
31释放信号,工作完成,31
END
DEFDNL_5Get080ST01()抓080ST01
MovSetAcc(100)加速时间100m/s
GripperCheckNoPart(#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,,GrippGP01a,DNL_5FixtST01,DNL_5GrippGP01aLoadA)
MovL(ToInGetFixtST01_10,fine,,GrippGP01a,DNL_5FixtST01,DNL_5GrippGP01aLoadA)
MovLFrame(InGetFixtST01,,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等待抓件信号,9
Vacuum_On(#Vacuum1,)吸盘1,吸气打开
Vacuum_On(#Vacuum2,)吸盘2,吸气打开
GripperCls(#Sequence4,)抓手阀4夹紧
GripperCheckClo(#Sequence4)抓手阀4夹紧检测
VacuumSupervisionOn(#VacPresent1)吸盘1,检测开启
VacuumSupervisionOn(#VacPresent2)吸盘2,检测开启
WaitSignal(FinishPickPart);
10
MovL(FrInGetFixtST01_10,fine,,GrippGP01a,DNL_5FixtST01,DNL_5GrippGP01aLoadA)
MovL(FrInGetFixtST01_20,fine,,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
所有的轨迹做了删减!
!
大致解释如下
DEFDNL_5Seal080SG01a()080涂胶枪A涂胶程序
MovSetAcc(100)加速度设为100m/S
Inittool(StatDoserSG01a)初始化胶枪a
PrepareEquipment(StatDoserSG01a,DNL_5BD4132)激活胶枪
MovPMovL(,Fine,,StatDoserSG01a,DNL_5CarGP01a,DNL_5GrippGP01aLoadA)
MovL(,Fine,,StatDoserSG01a,DNL_5CarGP01a,DNL_5GrippGP01aLoadA)
GlueL(#On,,DNL_5BD4136,Coarse,,StatDoserSG01a,DNL_5CarGP01a,DNL_5GrippGP01aLoadA)
涂胶打开,开始涂胶轨迹
GlueL(#Apply,,DNL_5BD4136,Coarse,,StatDoserSG01a,DNL_5CarGP01a,DNL_5GrippGP01aLoadA)
涂胶应用类似于过度点
GlueL(#Off,,DNL_5BD4136,Coarse,,StatDoserSG01a,DNL_5CarGP01a,DNL_5GrippGP01aLoadA)
涂胶关闭,开始涂胶轨迹
MovL(,Coarse,,StatDoserSG01a,DNL_5CarGP01a,DNL_5GrippGP01aLoadA)
MovP(,Coarse,100,StatDoserSG01a,DNL_5CarGP01a,DNL_5GrippGP01aLoadA)(,Coarse,100,StatDoserSG01a,DNL_5CarGP01a,DNL_5GrippGP01aLoadA)
EndEquipment(StatDoserSG01a)
DEFDNL_5Seal080SG01b()080涂胶枪A涂胶程序
Inittool(StatDoserSG01b)初始化胶枪B
PrepareEquipment(StatDoserSG01b,DNL_5BD5562)激活胶枪B
MovP(,Fine,100,StatDoserSG01b,DNL_5CarGP01a,DNL_5GrippGP01aLoadA)
MovP(,Coarse,100,StatDoserSG01b,DNL_5CarGP01a,DNL_5GrippGP01aLoadA)
(#Apply,,DNL_5BD5602,Coarse,,StatDoserSG01b,DNL_5CarGP01a,DNL_5GrippGP01aLoadA)
GlueL(#Apply,,DNL_5BD5602,Coarse,,StatDoserSG01b,DNL_5CarGP01a,DNL_5GrippGP01aLoadA)
GlueL(#Off,,DNL_5BD5602,fine,,StatDoserSG01b,DNL_5CarGP01a,DNL_5GrippGP01aLoadA)
MovL(,Fine,,StatDoserSG01b,DNL_5CarGP01a,DNL_5GrippGP01aLoadA)
MovA(HomeGrippGP01a,Fine,100)
EndEquipment(StatDoserSG01b)释放胶枪B
DEFDNL_5Put090ST01()去090ST01放件
MovSetAcc(100)加速度100M/s
MovP(ToInPutDeskST01_20,Coarse,100,GrippGP01a,DNL_5DeskST02,DNL_5GrippGP01aLoadA)
MovP(ToInPutDeskST01_10,Coarse,100,GrippGP01a,DNL_5DeskST02,DNL_5GrippGP01aLoadA)
MovLFrame(InPutDeskST01,,GrippGP01a,DNL_5DeskST02,DNL_5GrippGP01aLoadA)
WaitSignal(RequestDropPart);
13请求放件,信号13
GripperSupervisionOff(#PartPresent1)抓手阀1,检测关
GripperSupervisionOff(#PartPresent2)抓手阀2,检测关
VacuumSupervisionOff(#VacPresent1)吸盘1,检测关
VacuumSupervisionOff(#VacPresent2)吸盘2,检测关
GripperOpn(#Sequence1,)抓手阀1,打开
GripperOpn(#Sequence4,)抓手阀4,打开
GripperCheckOpn(#Sequence4)抓手阀4,检测打开
Vacuum_Blow(#Vacuum1,,10)吹气1,10s
Vacuum_Blow(#Vacuum2,,10)吹气2,10s
WaitSignal(FinishDropPart);
14等待放件完成,信号14
MovL(FrInPutDeskST01_10,Coarse,1,GrippGP01a,DNL_5DeskST02)
Vacuum_Off(#Vacuum1,#NoCheck)真空阀1检测关
Vacuum_Off(#Vacuum2,#NoCheck)真空阀2检测关
GripperCheckNoPart(#PartPresent1)抓手没有检测到板件
MovP(FrInPutDeskST01_20,Coarse,100,GrippGP01a,DNL_5DeskST02)
MovP(FrInPutDeskST01_30,Coarse,100,GrippGP01a,DNL_5DeskST02)
MovP(FrInPutDeskST01_40,Coarse,100,GrippGP01a,DNL_5DeskST02)
MovP(FrInPutDeskST01_50,Coarse,100,GrippGP01a,DNL_5DeskST02)
MovP(FrInPutDeskST01_60,Fine,100,GrippGP01a,ROB)
MovA(HomeGrippGP01a,Exact,100)回原点的轨迹
DEFDNL_5Put080PC01()放件到080检测台
MovSetAcc(25)加速度25M/s
GripperCheckPart(#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,,GrippGP01a,DNL_5DeskST01,DNL_5GrippGP01aLoadA)
VacuumSupervisionOff(#VacPresent1)吸盘1,检测关
Vacuum_Blow(#Vacuum1,,10)吸盘1,吹气,10S
Vacuum_Blow(#Vacuum2,,10)吸盘2,吹气,10S
GripperOpn(#Sequence1,)抓手阀1打开
GripperCheckOpn(#Sequence1)抓手阀1检测打开
GripperCheckOpn(#Sequence4)抓手阀4检测打开
WaitSignal(AllocateGlueingCheck_Put);
39等待涂胶检测结束,信号39
MovL(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)
DEFDNL_5Get080PC01_OK()080抓检测台上合格的板件
GripperCheckNoPart(#PartPresent1)抓手板件传感器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,,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);
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_80,Coarse,100,GrippGP01a,ROB,DNL_5GrippGP01aLoadA)
DEFDNL_5Get080PC01_NOK()080抓检测台上不合格的板件
GripperCheckNoPart(#PartPresent1)抓手板件传感器1,没有检测到板件
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