121 lines
2.5 KiB
Plaintext
121 lines
2.5 KiB
Plaintext
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:
|