BEGIN PGM 420 MM 
FN 18: SYSREAD Q0 = ID2000 NR10 IDX4158
FN 9: IF +Q0 EQU +1 GOTO LBL 254
FN 18: SYSREAD Q0 = ID990 NR2 IDX16
FN 9: IF +Q0 EQU +0 GOTO LBL 254
Q198 = 420
CALL PGM CHCK_INP.CYC
CALL PGM INIT.CYC
Q320 = Q320 + Q2 + Q3
FN 10: IF +Q267 NE +0 GOTO LBL 12
FN 14: ERROR= 1042
LBL 12
FN 12: IF +Q261 LT +Q260 GOTO LBL 130
FN 0: Q260 =+Q261
LBL 130
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 +1 GOTO LBL 21
FN 9: IF +Q272 EQU +3 GOTO LBL 23
; ** Y-RICHTUNG *************** 
Q10 = 180 - ( 90 * Q267 )
FN 9: IF +Q109 EQU +1 GOTO LBL 2
Q10 = 180 - ( 90 * Q267 ) + Q41
LBL 2
Q22 = Q264 - ( Q320 * Q267 )
Q32 = Q266 - ( Q320 * Q267 )
L  X+Q263  Y+Q22 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
Q4 = Q142
FN 9: IF +Q301 EQU +0 GOTO LBL 1
L  Z+Q260 FQ59
LBL 1
L  X+Q265  Y+Q32 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
FN 9: IF +0 EQU +0 GOTO LBL 92
LBL 21
; ** X-RICHTUNG ***************
Q10 = 90 - ( 90 * Q267 )
FN 9: IF +Q109 EQU +0 GOTO LBL 4
Q10 = 90 - ( 90 * Q267 ) + Q41
LBL 4
Q21 = Q263 - ( Q320 * Q267 )
Q31 = Q265 - ( Q320 * Q267 )
L  X+Q21  Y+Q264 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
Q4 = Q141
FN 9: IF +Q301 EQU +0 GOTO LBL 3
L  Z+Q260 FQ59
LBL 3
L  X+Q31  Y+Q266 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
FN 9: IF +0 EQU +0 GOTO LBL 91
; *** Z-RICHTUNG ************* 
LBL 23
Q10 = 90 - ( 90 * Q267 )
FN 9: IF +Q109 EQU +2 GOTO LBL 6
Q10 = 90 - ( 90 * Q267 ) + Q41
LBL 6
Q29 = Q261 - ( Q320 * Q267 )
L  X+Q263  Y+Q264 R0 FQ59
TCH PROBE 1.0 BEZUGSPUNKT POLAR
TCH PROBE 1.1 Z WINKEL:+Q10
TCH PROBE 1.2  Z+Q29
CALL PGM SUB_POSREAD.CYC
FN 18: SYSREAD QL1 = ID350 NR12
Q4 = Q143 - QL1
Q29 = Q261 - ( Q320 * Q267 )
FN 9: IF +Q301 EQU +0 GOTO LBL 5
L  Z+Q260 FQ59
L  X+Q265  Y+Q266 FQ59
LBL 5
L  X+Q265  Y+Q266 FQ59
TCH PROBE 1.0 BEZUGSPUNKT POLAR
TCH PROBE 1.1 Z WINKEL:+Q10
TCH PROBE 1.2  Z+Q29
CALL PGM SUB_POSREAD.CYC
Q5 = Q143 - QL1
FN 9: IF +0 EQU +0 GOTO LBL 93
LBL 91
Q150 = 90 - ATAN ( ( Q4 - Q5 ) / ( Q264 - Q266 ) )
FN 9: IF +0 EQU +0 GOTO LBL 99
LBL 92
Q150 = ATAN ( ( Q5 - Q4 ) / ( Q265 - Q263 ) )
FN 9: IF +0 EQU +0 GOTO LBL 99
LBL 93
FN 10: IF +Q263 NE +Q265 GOTO LBL 95
FN 9: IF +Q109 EQU +1 GOTO LBL 96
Q150 = ATAN ( ( Q4 - Q5 ) / ( Q264 - Q266 ) )
FN 9: IF +0 EQU +0 GOTO LBL 99
LBL 95
Q150 = - ATAN ( ( Q5 - Q4 ) / ( Q265 - Q263 ) )
FN 9: IF +0 EQU +0 GOTO LBL 99
LBL 96
Q150 = ATAN ( ( Q5 - Q4 ) / ( Q266 - Q264 ) )
LBL 99
L  Z+Q260 R0 FQ59
FN 10: IF +Q113 NE +1 GOTO LBL 170
Q4 = Q4 / 25.4
Q5 = Q5 / 25.4
Q263 = Q263 / 25.4
Q264 = Q264 / 25.4
Q265 = Q265 / 25.4
Q266 = Q266 / 25.4
Q261 = Q261 / 25.4
LBL 170
;FCL lesen
FN 18: SYSREAD Q0 = ID630 NR1
FN 12: IF +Q0 LT +2 GOTO LBL 180
;Schnelles Antasten
FN 18: SYSREAD Q189 = ID370 NR6
FN 9: IF +Q189 EQU +1 GOTO LBL 182
LBL 180
FN 9: IF +Q281 EQU +0 GOTO LBL 102
FN 9: IF +Q281 EQU +1 GOTO LBL 172
FN 12: IF +Q0 LT +2 GOTO LBL 171
FN 9: IF +Q189 EQU +0 GOTO LBL 172
LBL 171
FN 10: IF +Q281 NE +2 GOTO LBL 102
LBL 182
;Screen-Ausgabe
FN 10: IF +Q272 NE +1 GOTO LBL 183
FN 16: F-PRINT 420PROT1.A / SCREEN:
FN 17: SYSWRITE ID 990 NR9 =+1
FN 16: F-PRINT 420PROT1.A / SCLR:
FN 9: IF +0 EQU +0 GOTO LBL 102
LBL 183
FN 10: IF +Q272 NE +2 GOTO LBL 184
FN 16: F-PRINT 420PROT2.A / SCREEN:
FN 17: SYSWRITE ID 990 NR9 =+1
FN 16: F-PRINT 420PROT2.A / SCLR:
FN 9: IF +0 EQU +0 GOTO LBL 102
LBL 184
FN 16: F-PRINT 420PROT3.A / SCREEN:
FN 17: SYSWRITE ID 990 NR9 =+1
FN 16: F-PRINT 420PROT3.A / SCLR:
FN 9: IF +0 EQU +0 GOTO LBL 102
LBL 172
;File-Ausgabe
FN 10: IF +Q272 NE +1 GOTO LBL 100
FN 16: F-PRINT 420PROT1.A / TCHPR420.TXT
FN 9: IF +0 EQU +0 GOTO LBL 102
LBL 100
FN 10: IF +Q272 NE +2 GOTO LBL 101
FN 16: F-PRINT 420PROT2.A / TCHPR420.TXT
FN 9: IF +0 EQU +0 GOTO LBL 102
LBL 101
FN 16: F-PRINT 420PROT3.A / TCHPR420.TXT
LBL 102
FN 17: SYSWRITE ID 990 NR1 =+0
FN 17: SYSWRITE ID 990 NR2 =+0
FN 10: IF +Q113 NE +1 GOTO LBL 254
Q263 = Q263 * 25.4
Q264 = Q264 * 25.4
Q265 = Q265 * 25.4
Q266 = Q266 * 25.4
Q261 = Q261 * 25.4
LBL 254
END PGM 420 MM 
