- KUKA机器人维修
- 库卡机器人电缆00-106-496维修接触不良修复 检测
- KUKA机器人维修故障文字+KSS 0122 制动故障
- 库卡机器人维修控制器控制系统面板故障怎么修复
- KUKA机械手维修故障代码快速修复_报警维修
库卡KUKA机器人程序注释详解(项目案例)
1、Cell.src为主程序,与PLC通讯调用其他子程序。正常工作前,应先手动回到Home位,选定cell.src,再将模式切换为EXT—AUTO。
DEF TREATMENT_PIECE()
INI
$OUT[183]=FALSE ///循环开始
$OUT[182]=FALSE ///放料工件为0
$OUT[179]=FALSE ///IFW位置为0
$OUT[180]=FALSE ///面罩位置为0
$OUT[181]=FALSE ///吹洗位置为0
$OUT[184]=FALSE ///机械手夹爪工件为0
PICK_UP() ///抓料程序
SCROLL_DOWN() ///抖料程序
IFW_TANK() ///IFW冲洗程序
PIN_POINT() ///面罩冲洗程序
BLOWING() ///吹洗程序
DEPOSIT() ///放料程序
END
第一步:PICK_UP.src 机械手抓料程序
DEF PICK_UP() ///定义程序名
INI ///定义变量
PTP HOME Vel= 100 % DEFAULT ///回到home点
$OUT[183]=FALSE ///循环开始
$OUT[182]=FALSE ///工件放料位为0
$OUT[179]=FALSE ///IFW位置为0
$OUT[180]=FALSE ///面罩位置为0
$OUT[181]=FALSE ///吹洗位置为0
$OUT[184]=FALSE ///夹爪为0
SET GRP 1 State=OPN CONT at START Delay=0ms ///夹爪打开
TRIGGERWHENDISTANCE=0 DELAY=0 DO H50(GRP_APO,1,1,GCONT)PRIO=-1
;VADO SOTTO AL PEZZO ALCARICO
;GO UNDER PART LOAD ///进入工件加载
LIN P1 Vel=0.1 m/s CPDAT1 Tool[1] Base[0] ///关键点:工件下面位置1,每次修改的第一个主要位置
LIN P5 Vel=0.1 m/s CPDAT4 Tool[1] Base[0] ///位置1到位后上升进入定位销位置2
SET GRP 1 State=CLO CONT at START Delay=0ms ///夹爪夹紧
LIN P6 Vel=0.1 m/s CPDAT5 Tool[1] Base[0] ///位置2顶起来后驶出位置3
;ESCO DAI RULLI
;GO OUT BY ROLLER ///驶出轨道
LIN P3 Vel=0.09 m/s CPDAT3 Tool[1] Base[0] ///驶出位置,不用改
$OUT[184]=TRUE ///机器人抓料位置为1
PTP P4 Vel=100 % PDAT2 Tool[1] Base[0] ///驶出位置,不用改
END
第二步:SCROLL_DOWN.src 抖料位置程序
DEF SCROLL_DOWN() ///这步精度不高最简单,只要不撞合适就行。
INI
;VADO SU SCROLLO PEZZO
;GO TO SCROLL DOWN
PTP P1 CONT Vel=100 % PDAT1 Tool[1] Base[0]
PTP P2 CONT Vel=100 % PDAT8 Tool[1] Base[0]
;INIZIO DI SCROLLO
;START SCROLL DOWN
PTP P3 CONT Vel=100 % PDAT4 Tool[1] Base[0]
PTP P4 CONT Vel=100 % PDAT5 Tool[1] Base[0]
PTP P5 CONT Vel=100 % PDAT6 Tool[1] Base[0]
;FINE SCROLLO
;END SCROLL DOWN
PTP P7 CONT Vel=100 % PDAT7 Tool[1] Base[0]
END
第三步: IFW_TANK.src IFW池冲洗程序
DEF IFW_TANK()
INI
;VADO SU VASCA IFW
;GO ON TANK IFW
PTP P1 CONT Vel=100 % PDAT1 Tool[1] Base[0] ///这些位置都不撞就行
PTP P2 CONT Vel=100 % PDAT2 Tool[1] Base[0]
;ENTRO IN VASCA IFW
;IN SIDE THE TANK IFW
LIN P3 Vel=2 m/s CPDAT1 Tool[1] Base[0]
PTP P8 Vel=100 % PDAT7 Tool[1] Base[0]
LIN P9 Vel=2 m/s CPDAT9 Tool[1] Base[0] ///关键点2:这个位置距离池中喷嘴很近,注意防撞。
WAIT Time=5 sec
LIN P10 Vel=2 m/s CPDAT10 Tool[1] Base[0]
$OUT[179]=TRUE ///机器人在IFW位置
;INIZIO MOVIMENTO PERLAVAGGIO IFW
;START OF MOVEMENT FORWASHING IFW
WHILE NOT($IN[177]) ///IFW 时间结束
LIN P5 Vel=2 m/s CPDAT7 Tool[1] Base[0]
LIN P6 Vel=2 m/s CPDAT8 Tool[1] Base[0]
PTP P11 Vel=100 % PDAT8 Tool[1] Base[0]
PTP P12 Vel=100 % PDAT9 Tool[1] Base[0] ///手动的时候,这个位置可以驶出
ENDWHILE
$OUT[179]=FALSE ///在IFW位置为0
;FINE MOVIMENTO LAVAGGIO IFW
;FINE MOTION WASHING IFW
;ESCO DALLA VASCA IFW
;GO OUT BY TANK IFW ///驶出池子
PTP P7 Vel=100 % PDAT6 Tool[1] Base[0] ///这些位置都安全
END
第四部: PIN_POINT.src 面罩冲洗程序
DEF PIN_POINT()
INI
;VADO SU PIN_POINT
;GO ON PIN_POINT
PTP P1 Vel=100 % PDAT1 Tool[1] Base[0] ///普通位置,不碰就行
;ENTRO NEL PIN_POINT
;WITHIN THE PIN_POINT
LIN P2 Vel=2 m/s CPDAT1 Tool[1] Base[0]
LIN P10 Vel=0.2 m/s CPDAT6 Tool[1] Base[0] ///关键点3 :注意缸盖的2个定位孔,调试时注意将气缸伸出调整在正中心
$OUT[180]=TRUE ///在面罩里位置为1
WAITFOR($IN[178]) ///PLC指令:面罩冲洗结束
$OUT[180]=FALSE ///在面罩里位置为0
;ESCO DALLA MASCHERA DELPIN_POINT
;GO OUT THE MASK OF PIN_POINT
LIN P6 Vel=0.2 m/s CPDAT5 Tool[1] Base[0] ///驶出面罩
;MOVIMENTI PER SVUOTAMENTOPEZZO DA ACQUA
;MOVEMENTS FOR DRAINING PIECEWATER
PTP P8 Vel=100 % PDAT3 Tool[1] Base[0]
WAIT Time=0.2 sec
PTP P9 Vel=100 % PDAT4 Tool[1] Base[0] ///普通位置
WAIT Time=0.2 sec
PTP P7 Vel=100 % PDAT2 Tool[1] Base[0]
END
第五步: BLOWING.src 吹洗程序
DEF BLOWING()
INI
;MI SPOSTO VERSO LASOFFIATURA
;I MOVE TO BLOWING
PTP P1 CONT Vel=100 % PDAT1 Tool[1] Base[0] ///这步都是普通位置,合适就行
$OUT[181]=TRUE ///吹洗位置为1
;SONO DAVANTI ALLA SOFFIATURA
;ARE IN FRONT OF BLOWING
PTP P4 CONT Vel=100 % PDAT4 Tool[1] Base[0]
;PASSO DUE VOLTE NELLASOFFIATURA
;STEP TWO TIMES IN BLOWING
LIN P7 Vel=0.2 m/s CPDAT2 Tool[1] Base[0]
LIN P8 Vel=0.2 m/s CPDAT3 Tool[1] Base[0]
LIN P5 Vel=0.2 m/s CPDAT1 Tool[1] Base[0] ///吹三次
;FINE SOFFIATURA
;END BLOWING
$OUT[189]=TRUE ///吹洗结束为1
PTP P6 Vel=100 % PDAT6 Tool[1] Base[0]
$OUT[181]=FALSE ///吹洗位置为0
$OUT[189]=FALSE ///吹洗结束为0
END
第六部: DEPOSIT.src 机械手放料位置程序
DEF DEPOSIT()
INI
PTP P1 Vel=100 % PDAT1 Tool[1] Base[0]
WAITFOR($IN[184]) ///PLC输入,放料位置为0
LIN P2 Vel=1 m/s CPDAT1 Tool[1] Base[0] ///进入轨道
SET GRP 1 State=OPN CONT at START Delay=0ms ///夹爪打开
LIN P3 Vel=0.08 m/s CPDAT2 Tool[1] Base[0] ///放料无精度要求,合适就行
LIN P5 Vel=0.08 m/s CPDAT4 Tool[1] Base[0] ///放料
WAIT Time=0.5 sec
LIN P8 Vel=0.08 m/s CPDAT6 Tool[1] Base[0]
LIN P6 Vel=2 m/s CPDAT5 Tool[1] Base[0]
$OUT[182]=TRUE ///放料工件位置为1
$OUT[184]=FALSE ///机械手工件为0
$OUT[183]=TRUE ///循环结束为1
PTP P7 Vel=100 % PDAT2 Tool[1] Base[0]
END