BEGIN PGM 241 MM 
Q147 = 241
Q195 = Q197
Q197 = 0
FN 9: IF +Q195 EQU +1 GOTO LBL 200
Q200 = ABS Q200
Q204 = ABS Q204
Q206 = ABS Q206
Q208 = ABS Q208
Q211 = ABS Q211
Q253 = ABS Q253
Q379 = ABS Q379
Q426 = ABS Q426
Q427 = ABS Q427
Q428 = ABS Q428
Q429 = ABS Q429
Q430 = ABS Q430
Q435 = ABS Q435
LBL 200
FN 17: SYSWRITE ID212 = +3
FN 18: SYSREAD Q0 = ID1000 NR7441
Q0 = 8 * FRAC ( Q0 / 8 )
FN 12: IF +Q0 LT +4 GOTO LBL 206
FN 12: IF +Q201 LT +0 GOTO LBL 206
FN 9: IF +Q201 EQU +0 GOTO LBL 206
FN 14: ERROR= 1077
LBL 206
FN 10: IF +Q109 NE -1 GOTO LBL 198
FN 14: ERROR= 1001
LBL 198
QL1 = ABS (Q201 )
QL2 = ABS (Q435)
FN 12: IF +QL2 LT +QL1 GOTO LBL 199
FN 9: IF +QL2 EQU +QL1 GOTO LBL 199
FN 14: ERROR= 1016
LBL 199
FN 9: IF +Q201 EQU +0 GOTO LBL 254
FN 12: IF +Q201 LT +0 GOTO LBL 197
FN 0: Q30 =-1
FN 9: IF +0 EQU +0 GOTO LBL 194
LBL 197
FN 0: Q30 =+1
LBL 194
* Pruefe, ob Drehzahlen in einer Getriebestufe
QL10 = 0                ; Zaehler Getriebestufe
QL11 = 0                ; Getriebestufe fuer Q427
QL12 = 0                ; Getriebestufe fuer Q428
LBL "LOOP_NENNDREHZAHL"
FN 18: SYSREAD QL13 = ID 1000 NR 3510 IDX QL10
FN 9: IF +QL13 EQU +0 GOTO LBL "LOOP_NENNDREHZAHL_END"
FN 10: IF +QL11 NE +0 GOTO LBL "Stufe_Drehzahl1"
FN 12: IF +QL13 LT +Q427 GOTO LBL "Stufe_Drehzahl1"
QL11 = QL10 + 1
LBL "Stufe_Drehzahl1"
FN 10: IF +QL12 NE +0 GOTO LBL "Stufe_Drehzahl2"
FN 12: IF +QL13 LT +Q428 GOTO LBL "Stufe_Drehzahl2"
QL12 = QL10 + 1
LBL "Stufe_Drehzahl2"
QL10 = QL10 + 1
FN 12: IF +QL10 LT +8 GOTO LBL "LOOP_NENNDREHZAHL"
LBL "LOOP_NENNDREHZAHL_END"
FN 9: IF +QL11 EQU +QL12 GOTO LBL "Getriebestufen_identisch"
FN 17: SYSWRITE ID 2000 NR 10 IDX 4633 = 1     ; Merker "Getrieschalten notw." setzen
LBL "Getriebestufen_identisch"
FN 9: IF +Q195 EQU +1 GOTO LBL 193
CALL LBL 4
LBL 193
FN 1: Q19 =+Q203 + +Q200
Q51 = ABS Q200
Q52 = ABS Q204
FN 11: IF +Q51 GT +Q52 GOTO LBL 7
FN 1: Q19 =+Q203 + +Q204
LBL 7
Q20 = Q203 + Q200 ; KO Vorposhoehe
Q23 = Q203 - ( Q30 * ABS (Q435 )); Verweiltiefe
Q24 = Q203 + Q201 ; Endtiefe
Q40 = Q203 - Q379 ; Vorpos Startpunkt vertieft
Q15 = Q203 - Q379 ; Startpunkt vertieft
L  Z+Q20 R0 FMAX ; Vorpositionieren
TOOL CALL  SQ427 ; S1 aktivieren
MQ426 ; Spindel EIN
FN 20: WAIT FOR SYNC
L  Z+Q40 R0 FQ253 ; Mit S1 einfahren auf Starttiefe
M3 ; Spindel
FN 20: WAIT FOR SYNC
TOOL CALL  SQ428 ; S2 aktivieren
M3 ; Spindel
MQ429 ; Kuehlmittel
FN 20: WAIT FOR SYNC
FN 9: IF +Q435 EQU +0 GOTO LBL 50
L  Z+Q23 R0 FQ206 ; Mit S2 fahren auf Endtiefe
FN 9: IF +Q211 EQU +0 GOTO LBL 50
CYCL DEF 9.0 VERWEILZEIT
CYCL DEF 9.1 V.ZEITQ211
LBL 50
L  Z+Q24 R0 FQ206 ; Mit S2 fahren auf Endtiefe
LBL 4
FN 9: IF +Q195 EQU +1 GOTO LBL 192
FN 3: Q200 =+Q200 * +Q30
FN 3: Q204 =+Q204 * +Q30
FN 3: Q379 =+Q379 * +Q30
LBL 0
LBL 192
FN 9: IF +Q211 EQU +0 GOTO LBL 180
CYCL DEF 9.0 VERWEILZEIT
CYCL DEF 9.1 V.ZEITQ211
LBL 180
MQ430 ; Kuehlmittel aus
TOOL CALL  SQ427 ; S1 aktivieren
MQ426 ; Spindel aus oder reduzieren
FN 20: WAIT FOR SYNC
L  Z+Q20 R0 FQ208
FN 17: SYSWRITE ID 2000 NR 10 IDX 4633 = 0     ; Merker "Getrieschalten notw." ruecksetzen
FN 9: IF +Q195 EQU +1 GOTO LBL 254
L  Z+Q19 R0 FMAX
LBL 254
END PGM 241 MM 
