N0 EXTERN COM_SENT (INT,INT,INT,INT) N5 EXTERN COM_WAIT(INT,INT,INT,INT) N15 COM_RESET ;INITIALISIEREN DER VARIABLEN ;Int_ABL: ;0 = Kein Teil in der Maschine ;1 = Teil In Maschine ;2 = Teil Fertig ;3 = Teil Falsch eingespannt ;102 - Am Bearbeiten ;Bit Belegung: ;Input ;0000 Keine Teile mehr zum bearbeiten ;0100 Maschine Reinigen und auf Beladeposition fahren ;0001 TEIL WURDE VON ROBOTER BELADEN ;Output ;0001 Maschine ist gereinigt und Teil kann beladen werden ;0010 Teil Entladen ;0011 Rohteil Entladen ;0100 Teil ist Beladen und bearbeitung wurde gestartet N25 STARRT: N25 COM_HANDSH_DMU N30 IF ($A_IN[1] == 0) AND ($A_IN[2] == 1) AND ($A_IN[3] == 0) AND ($A_IN[4] == 0) ; M ;N35 aschine Reinigen N45 MSG("REINIGUNG MASCHINE") N50 N55 CALL "CLEAN.SPF" N60 MSG() N65 REPEAT BELADEN_START BELADEN_END ;Werkzeug entladen und auf Position für Be/Entladen fahren N70 ENDIF ;Beginn der Bearbeitung N75 IF ($A_IN[1] == 0) AND ($A_IN[2] == 0) AND ($A_IN[3] == 0) AND ($A_IN[4] == 1) ; MASCHINE STARTEN N85 B_MEAS_WKS = TRUE ;Unterprogramm zum Teil vermessen N90 MEAS_WKS ;Wenn das Teil richtig liegt und der Schraubstock gespannt ist kann mit der Bearbeitung begonnen werden N100 STOPRE N105 IF (B_MEAS_WKS == TRUE) N110 CALL "4E_4148_2_OP2.MPF" N115 REPEAT ENTLADEN_START ENTLADEN_END ;Werkzeug entladen und auf Position für Be/Entladen fahre N120 ELSE ; Wenn beim Messen ein fehler aufgetreten ist soll das Rohmaterial wieder entladen werden N125 REPEAT ENTLADEN_START ENTLADEN_END N130 ENDIF N135 ENDIF N140 GOTOB STARRT ;N245 CLEAN() ;Maschine reinigen N145 REPEAT LBL1 LBL2 ;Programm Ende N150 STOPRE N155; COM_SENT(1,1,1,1) ; AUSGANGSSIGNAL MASCHINE FERTIG N160 M30 N165 BELADEN_START: N170 G57 N175 T0 ;Werkzeug versorgen N180 M6 ;Fahren auf Heimposition N185 G0 SUPA Z=$MA_POS_LIMIT_PLUS[Z]-1 D0 N190 G0 SUPA X=$MA_POS_LIMIT_MINUS[X]+1 D0 N195 G0 SUPA Y=$MA_POS_LIMIT_PLUS[Y]-1 D0 N200 CYCLE800(0,"DMG",200000,57,0,0,0,0,0,-90,0,0,0,1,,0) N205 STOPRE N210 COM_SENT(0,0,0,1) ;Ausgangssignal geben um Teil zu beladen N215 M0 N220 BELADEN_END: N225 ENTLADEN_START: MSG() N230 G57 N235 T0 ;Werkzeug versorgen N240 M6 ;Fahren auf Heimposition N245 G0 SUPA Z=$MA_POS_LIMIT_PLUS[Z]-1 D0 N250 G0 SUPA X=$MA_POS_LIMIT_MINUS[X]+1 D0 N255 G0 SUPA Y=$MA_POS_LIMIT_PLUS[Y]-1 D0 N260 CYCLE800(0,"DMG",200000,57,0,0,0,0,0,-90,0,0,0,1,,0) N265 IF B_MEAS_WKS == TRUE N270 COM_SENT(0,0,1,1) N275 ELSE N280 COM_SENT(0,0,1,0) ENDIF MSG($A_OUT[1]<<$A_OUT[2]<<$A_OUT[3]<<$A_OUT[4]) N285 M0 N290 ENTLADEN_END: