BEGIN PGM 408 MM
CALL PGM CHECK_BAMODE.CYC
FN 9: IF +Q169 EQU +1.1 GOTO LBL 254
Q198 = 408
CALL PGM ORIENT.CYC
FN 10: IF +Q303 NE +1 GOTO LBL 10
CALL PGM INIT41X.CYC
LBL 10
CALL PGM INIT.CYC
;** Nur WZ-Achse X, Y, Z erlaubt
FN 12: IF +Q109 LT +3 GOTO LBL 2
FN 14: ERROR= 1079
LBL 2
Q10 = Q41
Q22 = 0
FN 12: IF +Q261 LT +Q260 GOTO LBL 140
FN 0: Q260 =+Q261
LBL 140
FN 1: Q1 =+Q109 + +1
FN 18: SYSREAD Q0 = ID270 NR1 IDXQ1
FN 11: IF +Q0 GT +Q260 GOTO LBL 120
L  Z+Q260 R0 FQ59
LBL 120
FN 9: IF +Q272 EQU +2 GOTO LBL 20
; Antastrichtung X
; Startpositionen rechnen
; X+ Richtung
Q20 = Q321 + ( Q311 / 2 ) - ( Q2 + Q3 + Q320 )
; X- Richtung
Q21 = Q321 - ( Q311 / 2 ) + ( Q2 + Q3 + Q320 )
FN 11: IF +Q20 GT +Q21 GOTO LBL 50
; Wenn enge Nut, dann Messung aus Mitte
Q20 = Q321
Q21 = Q321
; Merker Messung aus Mitte
Q22 = 1.1
LBL 50
L  X+Q20  Y+Q322 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
Q7 = Q142
Q10 = 180 + Q41
FN 9: IF +Q22 EQU +1.1 GOTO LBL 51
FN 10: IF +Q301 NE +1 GOTO LBL 51
L  Z+Q260 R0 FQ59
LBL 51
L  X+Q21  Y+Q322 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
Q6 = Q141
Q31 = ABS ( Q5 - Q6 + ( 2 * Q2 ) ) ; Istbreite
Q141 = Q6 - Q2 + ( Q31 / 2 ) ;BZPKT X
Q142 = Q322 ; ggf. BZPKT Y
Q157 = Q141
Q166 = Q31
FN 9: IF +0 EQU +0 GOTO LBL 253
LBL 20
; Antastrichtung Y
Q10 = 90 + Q41
; Startpositionen rechnen
; Y+ Richtung
Q20 = Q322 + ( Q311 / 2) - ( Q2 + Q3 + Q320 )
; Y- Richtung
Q21 = Q322 - ( Q311 / 2) + ( Q2 + Q3 + Q320 )
FN 11: IF +Q20 GT +Q21 GOTO LBL 55
; Wenn enge Nut, dann Messung aus Mitte
Q20 = Q322
Q21 = Q322
; Merker Messung aus Mitte
Q22 = 1.1
LBL 55
L  X+Q321  Y+Q20 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 = Q142
Q7 = Q141
Q10 = 270 + Q41
FN 9: IF +Q22 EQU +1.1 GOTO LBL 56
FN 10: IF +Q301 NE +1 GOTO LBL 56
L  Z+Q260 R0 FQ59
LBL 56
L  X+Q321  Y+Q21 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 = Q142
Q31 = ABS ( Q5 - Q6 + ( 2 * Q2 ) ) ; Istbreite
Q142 = Q5 - ( ( ABS ( Q5 - Q6 ) ) / 2 )
Q141 = Q321 ; ggf. BZPKT X
Q157 = Q142
Q166 = Q31
LBL 253
L  Z+Q260 FQ59
FN 10: IF +Q113 NE +1 GOTO LBL 170
Q157 = Q157 / 25.4
Q166 = Q166 / 25.4
LBL 170
CALL PGM PRESET_40X.CYC
FN 17: SYSWRITE ID 990 NR1 =+0
FN 17: SYSWRITE ID 990 NR2 =+0
LBL 254
FN 9: IF +Q381 EQU +0 GOTO LBL 255
TCH PROBE 417 BZPKT TS.-ACHSE ~
Q263=+Q382 ;1. PUNKT 1. ACHSE ~
Q264=+Q383 ;1. PUNKT 2. ACHSE ~
Q294=+Q384 ;1. PUNKT 3. ACHSE ~
Q320=+Q320 ;SICHERHEITS-ABST. ~
Q260=+Q260 ;SICHERE HOEHE ~
Q305=+Q305 ;NR. IN TABELLE ~
Q333=+Q333 ;BEZUGSPUNKT ~
Q303=+Q303 ;MESSWERT-UEBERGABE
LBL 255
FN 17: SYSWRITE ID 990 NR16 =+0 ;# Spindelkontrolle aus
Q199 = 0
END PGM 408 MM
