
1、Cell.src為主程序,與PLC通訊調(diào)用其他子程序。正常工作前,應(yīng)先手動回到Home位,選定cell.src,再將模式切換為EXT—AUTO。
DEF TREATMENT_PIECE()
INI
$OUT[183]=FALSE ///循環(huán)開始
$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 ///循環(huán)開始
$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] ///關(guān)鍵點:工件下面位置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] ///關(guān)鍵點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 時間結(jié)束
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] ///關(guān)鍵點3 :注意缸蓋的2個定位孔,調(diào)試時注意將氣缸伸出調(diào)整在正中心
$OUT[180]=TRUE ///在面罩里位置為1
WAITFOR($IN[178]) ///PLC指令:面罩沖洗結(jié)束
$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 ///吹洗結(jié)束為1
PTP P6 Vel=100 % PDAT6 Tool[1] Base[0]
$OUT[181]=FALSE ///吹洗位置為0
$OUT[189]=FALSE ///吹洗結(jié)束為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 ///循環(huán)結(jié)束為1
PTP P7 Vel=100 % PDAT2 Tool[1] Base[0]
END