2025-03-24 13:36:24 +01:00

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: