博舍

库卡KUKA机器人程序注释详解(项目案例) 机器人测试项目是什么意思

库卡KUKA机器人程序注释详解(项目案例)

4、工件型号处理调用程序,调用顺序如下:

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              ///定义变量

PTPHOME 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

 

SETGRP1State=OPNCONTatSTARTDelay=0ms  ///夹爪打开

 

TRIGGERWHENDISTANCE=0 DELAY=0 DO H50(GRP_APO,1,1,GCONT)PRIO=-1

 

;VADOSOTTOALPEZZOALCARICO

 

;GOUNDERPARTLOAD    ///进入工件加载

 

LINP1Vel=0.1m/sCPDAT1Tool[1]Base[0] ///关键点:工件下面位置1,每次修改的第一个主要位置

 

LINP5Vel=0.1m/sCPDAT4Tool[1]Base[0]  ///位置1到位后上升进入定位销位置2

 

SETGRP1State=CLOCONTatSTARTDelay=0ms  ///夹爪夹紧

 

LINP6Vel=0.1m/sCPDAT5Tool[1]Base[0]  ///位置2顶起来后驶出位置3

 

;ESCODAIRULLI

 

;GOOUTBYROLLER   ///驶出轨道

 

LINP3Vel=0.09m/sCPDAT3Tool[1]Base[0] ///驶出位置,不用改

 

$OUT[184]=TRUE    ///机器人抓料位置为1

 

PTPP4Vel=100%PDAT2Tool[1]Base[0]   ///驶出位置,不用改

 

END

 

 

第二步:SCROLL_DOWN.src 抖料位置程序

 

DEF SCROLL_DOWN()  ///这步精度不高最简单,只要不撞合适就行。

 

INI

;VADOSUSCROLLOPEZZO

 

;GOTOSCROLLDOWN

 

PTPP1CONTVel=100%PDAT1Tool[1]Base[0]

 

PTPP2CONTVel=100%PDAT8Tool[1]Base[0]

 

;INIZIODISCROLLO

 

;STARTSCROLLDOWN

 

PTPP3CONTVel=100%PDAT4Tool[1]Base[0]

 

PTPP4CONTVel=100%PDAT5Tool[1]Base[0]

 

PTPP5CONTVel=100%PDAT6Tool[1]Base[0]

 

;FINESCROLLO

 

;ENDSCROLLDOWN

 

PTPP7CONTVel=100%PDAT7Tool[1]Base[0]

 

END

 

 

第三步: IFW_TANK.src   IFW池冲洗程序

 

DEF IFW_TANK()

 

INI

 

;VADOSUVASCAIFW

 

;GOONTANKIFW

 

PTPP1CONTVel=100%PDAT1Tool[1]Base[0] ///这些位置都不撞就行

 

PTPP2CONTVel=100%PDAT2Tool[1]Base[0]

 

;ENTROINVASCAIFW

 

;INSIDETHETANKIFW

 

LINP3Vel=2m/sCPDAT1Tool[1]Base[0]

 

PTPP8Vel=100%PDAT7Tool[1]Base[0]

 

LINP9Vel=2m/sCPDAT9Tool[1]Base[0]  ///关键点2:这个位置距离池中喷嘴很近,注意防撞。

 

WAITTime=5sec

 

LINP10Vel=2m/sCPDAT10Tool[1]Base[0]

 

$OUT[179]=TRUE    ///机器人在IFW位置

 

;INIZIOMOVIMENTOPERLAVAGGIOIFW

 

;STARTOFMOVEMENTFORWASHINGIFW

 

WHILE NOT($IN[177]) ///IFW 时间结束

  

LINP5Vel=2m/sCPDAT7Tool[1]Base[0]

 

LINP6Vel=2m/sCPDAT8Tool[1]Base[0]

 

PTPP11Vel=100%PDAT8Tool[1]Base[0]

 

PTPP12Vel=100%PDAT9Tool[1]Base[0]///手动的时候,这个位置可以驶出

 

ENDWHILE

 

$OUT[179]=FALSE   ///在IFW位置为0

  

;FINEMOVIMENTOLAVAGGIOIFW

 

;FINEMOTIONWASHINGIFW

 

;ESCODALLAVASCAIFW

 

;GOOUTBYTANKIFW    ///驶出池子

 

PTPP7Vel=100%PDAT6Tool[1]Base[0]  ///这些位置都安全

 

END

 

 

第四部: PIN_POINT.src  面罩冲洗程序

 

DEF PIN_POINT()

 

INI

 

;VADOSUPIN_POINT

 

;GOONPIN_POINT

 

PTPP1Vel=100%PDAT1Tool[1]Base[0]  ///普通位置,不碰就行

 

;ENTRONELPIN_POINT

 

;WITHINTHEPIN_POINT

 

LINP2Vel=2m/sCPDAT1Tool[1]Base[0]

 

LINP10Vel=0.2m/sCPDAT6Tool[1]Base[0] ///关键点3 :注意缸盖的2个定位孔,调试时注意将气缸伸出调整在正中心

 

$OUT[180]=TRUE     ///在面罩里位置为1

 

WAITFOR($IN[178])   ///PLC指令:面罩冲洗结束

 

$OUT[180]=FALSE       ///在面罩里位置为0

 

;ESCODALLAMASCHERADELPIN_POINT

 

;GOOUTTHEMASKOFPIN_POINT

 

LINP6Vel=0.2m/sCPDAT5Tool[1]Base[0]  ///驶出面罩

 

;MOVIMENTIPERSVUOTAMENTOPEZZODAACQUA

 

;MOVEMENTSFORDRAININGPIECEWATER

 

PTPP8Vel=100%PDAT3Tool[1]Base[0]

 

WAITTime=0.2sec

 

PTPP9Vel=100%PDAT4Tool[1]Base[0]  ///普通位置

 

WAITTime=0.2sec

 

PTPP7Vel=100%PDAT2Tool[1]Base[0]

 

END

 

 第五步: BLOWING.src      吹洗程序

 

DEF BLOWING()

 

INI

 

;MISPOSTOVERSOLASOFFIATURA

 

;IMOVETOBLOWING

 

PTPP1CONTVel=100%PDAT1Tool[1]Base[0] ///这步都是普通位置,合适就行

 

$OUT[181]=TRUE     ///吹洗位置为1

 

;SONODAVANTIALLASOFFIATURA

 

;AREINFRONTOFBLOWING

 

PTPP4CONTVel=100%PDAT4Tool[1]Base[0]

 

;PASSODUEVOLTENELLASOFFIATURA

 

;STEPTWOTIMESINBLOWING

 

LINP7Vel=0.2m/sCPDAT2Tool[1]Base[0]

 

LINP8Vel=0.2m/sCPDAT3Tool[1]Base[0]

 

LINP5Vel=0.2m/sCPDAT1Tool[1]Base[0]   ///吹三次

 

;FINESOFFIATURA

 

;ENDBLOWING

 

$OUT[189]=TRUE     ///吹洗结束为1

 

PTPP6Vel=100%PDAT6Tool[1]Base[0]

 

$OUT[181]=FALSE    ///吹洗位置为0

 

$OUT[189]=FALSE    ///吹洗结束为0

 

END

 

第六部: DEPOSIT.src    机械手放料位置程序

 

DEF DEPOSIT()

 

INI

 

PTPP1Vel=100%PDAT1Tool[1]Base[0]

 

WAITFOR($IN[184])    ///PLC输入,放料位置为0

 

LINP2Vel=1m/sCPDAT1Tool[1]Base[0]   ///进入轨道

 

SETGRP1State=OPNCONTatSTARTDelay=0ms ///夹爪打开

 

LINP3Vel=0.08m/sCPDAT2Tool[1]Base[0]   ///放料无精度要求,合适就行

 

LINP5Vel=0.08m/sCPDAT4Tool[1]Base[0]   ///放料

 

WAITTime=0.5sec

 

LINP8Vel=0.08m/sCPDAT6Tool[1]Base[0]

 

LINP6Vel=2m/sCPDAT5Tool[1]Base[0]

 

$OUT[182]=TRUE     ///放料工件位置为1

 

$OUT[184]=FALSE    ///机械手工件为0

 

$OUT[183]=TRUE     ///循环结束为1

 

PTPP7Vel=100%PDAT2Tool[1]Base[0]

 

END

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇