BEGIN PGM 424 MM
CALL PGM CHECK_BAMODE.CYC
FN 9: IF +Q169 EQU +1.1 GOTO LBL 254
Q198 = 424
CALL PGM ORIENT.CYC
CALL PGM INIT.CYC
Q42 = Q2
Q10 = 0 + Q41
Q320 = Q320 + Q2 + Q3
Q1 = Q273 - ( Q282 / 2 ) - Q320
Q11 = Q273 + ( Q282 / 2 ) + Q320
Q2 = Q274 - ( Q283 / 2 ) - Q320
Q12 = Q274 + ( Q283 / 2 ) + Q320
FN 12: IF +Q261 LT +Q260 GOTO LBL 140
FN 0: Q260 =+Q261
FN 0: Q301 =+0
LBL 140
FN 1: Q0 =+Q109 + +1
FN 18: SYSREAD Q0 = ID270 NR1 IDXQ0
FN 11: IF +Q0 GT +Q260 GOTO LBL 120
L  Z+Q260 R0 FQ59
LBL 120
L  X+Q1  Y+Q274 R0 FQ59
TCH PROBE 1.0 BEZUGSPUNKT POLAR
TCH PROBE 1.1 X WINKEL:+Q10
TCH PROBE 1.2  Z+Q261
CALL PGM SUB_POSREAD.CYC
Q5 = Q141
Q10 = 90 + Q41
FN 9: IF +Q301 EQU +0 GOTO LBL 1
L  Z+Q260 FQ59
L  X+Q273  Y+Q2 FQ59
LBL 1
L  Y+Q2 FQ59
L  X+Q273 FQ59
TCH PROBE 1.0 BEZUGSPUNKT POLAR
TCH PROBE 1.1 X WINKEL:+Q10
TCH PROBE 1.2  Z+Q261
CALL PGM SUB_POSREAD.CYC
Q7 = Q142
Q10 = 180 + Q41
FN 9: IF +Q301 EQU +0 GOTO LBL 2
L  Z+Q260 FQ59
L  X+Q11  Y+Q274 FQ59
LBL 2
L  X+Q11 FQ59
L  Y+Q274 FQ59
TCH PROBE 1.0 BEZUGSPUNKT POLAR
TCH PROBE 1.1 X WINKEL:+Q10
TCH PROBE 1.2  Z+Q261
CALL PGM SUB_POSREAD.CYC
Q6 = Q141
Q10 = 270 + Q41
FN 9: IF +Q301 EQU +0 GOTO LBL 3
L  Z+Q260 FQ59
L  X+Q273  Y+Q12 FQ59
LBL 3
L  Y+Q12 FQ59
L  X+Q273 FQ59
TCH PROBE 1.0 BEZUGSPUNKT POLAR
TCH PROBE 1.1 X WINKEL:+Q10
TCH PROBE 1.2  Z+Q261
CALL PGM SUB_POSREAD.CYC
Q8 = Q142
L  Z+Q260 FQ59
Q151 = Q5 + ( ( Q6 - Q5 ) / 2 )
Q152 = Q7 + ( ( Q8 - Q7 ) / 2 )
Q154 = ABS ( Q6 - Q5 - ( 2 * Q42 ) )
Q155 = ABS ( Q8 - Q7 - ( 2 * Q42 ) )
Q161 = Q151 - Q273
Q162 = Q152 - Q274
Q164 = ABS Q154 - ABS Q282
Q165 = ABS Q155 - ABS Q283
FN 1: Q31 =+Q273 + +Q279
FN 2: Q32 =+Q273 - +Q279
FN 1: Q33 =+Q274 + +Q280
FN 2: Q34 =+Q274 - +Q280
FN 10: IF +Q113 NE +1 GOTO LBL 170
Q31 = Q31 / 25.4
Q32 = Q32 / 25.4
Q33 = Q33 / 25.4
Q34 = Q34 / 25.4
Q273 = Q273 / 25.4
Q274 = Q274 / 25.4
Q282 = Q282 / 25.4
Q283 = Q283 / 25.4
Q261 = Q261 / 25.4
Q284 = Q284 / 25.4
Q285 = Q285 / 25.4
Q286 = Q286 / 25.4
Q287 = Q287 / 25.4
Q151 = Q151 / 25.4
Q152 = Q152 / 25.4
Q154 = Q154 / 25.4
Q155 = Q155 / 25.4
Q161 = Q161 / 25.4
Q162 = Q162 / 25.4
Q164 = Q164 / 25.4
Q165 = Q165 / 25.4
LBL 170
CALL PGM PROTOCOLL_424.CYC
FN 10: IF +Q113 NE +1 GOTO LBL 171
Q164 = Q164 * 25.4
Q165 = Q165 * 25.4
LBL 171
Q19 = Q154
Q29 = Q284
Q39 = Q285
Q40 = 11
CALL PGM CHECK_STATUS.CYC
FN 18: SYSREAD Q30 = ID 30 NR 52 IDX 330        ; WZ-Name programmiert
FN 9: IF +Q30 EQU +0 GOTO LBL "ToolNr"          ; Kein Name programmiert
FN 18: SYSREAD Q330 = ID 990 NR 10 IDX 330      ; WZ-Nummer zum Namen ermitteln
FN 10: IF +Q330 NE -1 GOTO LBL "ToolNr"         ; WZ-Nummer ermittelt
FN 14: ERROR= 1092                              ; Keine WZ-Nummer gefunden
LBL "ToolNr"                                    ; WZ-Nummer auswerten
QL100 = INT Q330                                ; WZ-Nummer
QL101 = 10 * FRAC Q330                          ; WZ-Index
FN 9: IF +QL100 EQU +0 GOTO LBL "ToolCorr_End"  ; Keine WZ-Korrektur
FN 18: SYSREAD Q0 = ID 50 NR 22 IDX QL100.QL101 ; Lese RBREAK
FN 9: IF +Q0 EQU +0 GOTO LBL "ToolBreak_End"    ; keine Bruchueberwachung
Q1 = ABS Q164
FN 11: IF +Q0 GT +Q1 GOTO LBL "ToolBreak_End"   ; kein WZ-Bruch
FN 17: SYSWRITE ID 50 NR 7 IDX QL100.QL101 =+1  ; Schreibe T locked
FN 14: ERROR= 1065
LBL "ToolBreak_End"
FN 18: SYSREAD Q0 = ID 50 NR 5 IDX QL100.QL101  ; Lese DR
Q0 = Q0 - ( Q164 / 2 )
FN 17: SYSWRITE ID 50 NR 5 IDX QL100.QL101 =+Q0 ; Schreibe DR
LBL "ToolCorr_End"
FN 10: IF +Q309 NE +1 GOTO LBL 99
FN 12: IF +Q151 LT +Q31 GOTO LBL 100
FN 14: ERROR= 1044
LBL 100
FN 11: IF +Q151 GT +Q32 GOTO LBL 101
FN 14: ERROR= 1044
LBL 101
FN 12: IF +Q152 LT +Q33 GOTO LBL 102
FN 14: ERROR= 1045
LBL 102
FN 11: IF +Q152 GT +Q34 GOTO LBL 103
FN 14: ERROR= 1045
LBL 103
FN 12: IF +Q154 LT +Q284 GOTO LBL 104
FN 14: ERROR= 1056
LBL 104
FN 11: IF +Q154 GT +Q285 GOTO LBL 105
FN 14: ERROR= 1054
LBL 105
FN 12: IF +Q155 LT +Q286 GOTO LBL 106
FN 14: ERROR= 1057
LBL 106
FN 11: IF +Q155 GT +Q287 GOTO LBL 107
FN 14: ERROR= 1055
LBL 107
LBL 99
FN 17: SYSWRITE ID 990 NR1 =+0
FN 17: SYSWRITE ID 990 NR2 =+0
FN 10: IF +Q113 NE +1 GOTO LBL 254
Q273 = Q273 * 25.4
Q274 = Q274 * 25.4
Q282 = Q282 * 25.4
Q283 = Q283 * 25.4
Q261 = Q261 * 25.4
Q284 = Q284 * 25.4
Q285 = Q285 * 25.4
Q286 = Q286 * 25.4
Q287 = Q287 * 25.4
Q164 = Q164 / 25.4
Q165 = Q165 / 25.4
LBL 254
FN 17: SYSWRITE ID 990 NR16 =+0 ;# Spindelkontrolle aus
END PGM 424 MM
