0  BEGIN PGM 431 MM 
1  FN 18: SYSREAD Q0 = ID2000 NR10 IDX4158
2  FN 9: IF +Q0 EQU +1 GOTO LBL 254
3  FN 18: SYSREAD Q0 = ID990 NR2 IDX16
4  FN 9: IF +Q0 EQU +0 GOTO LBL 254
5  Q198 = 431
6  CALL PGM INIT.CYC
7  ; ** 1. Messung ************** 
8  Q294 = Q294 + Q320 + Q3
9  Q295 = Q295 + Q320 + Q3
10 Q298 = Q298 + Q320 + Q3
11 FN 1: Q1 =+Q109 + +1
12 FN 18: SYSREAD Q0 = ID270 NR1 IDXQ1
13 FN 11: IF +Q0 GT +Q260 GOTO LBL 120
14 L  Z+Q260 R0 FQ59
15 LBL 120
16 L  X+Q263  Y+Q264 R0 FQ59
17 TCH PROBE 0.0 BEZUGSEBENE Q1 Z-
18 TCH PROBE 0.1  Z+Q294
19 L  Z+Q260 R0 FQ59
20 L  X+Q265  Y+Q266 R0 FQ59
21 TCH PROBE 0.0 BEZUGSEBENE Q2 Z-
22 TCH PROBE 0.1  Z+Q295
23 L  Z+Q260 R0 FQ59
24 L  X+Q296  Y+Q297 R0 FQ59
25 TCH PROBE 0.0 BEZUGSEBENE Q3 Z-
26 TCH PROBE 0.1  Z+Q298
27 L  Z+Q260 R0 FQ59
28 ; *** KONSTANEN BERECHNEN ***** 
29 Q11 = Q266 * Q3 - Q264 * Q3 - Q266 * Q1
30 Q11 = Q11 - Q297 * Q2 + Q264 * Q2 + Q297 * Q1
31 Q12 = Q296 * Q2 - Q296 * Q1 - Q263 * Q2
32 Q12 = Q12 - Q265 * Q3 + Q265 * Q1 + Q263 * Q3
33 Q13 = Q265 * Q297 - Q263 * Q297 - Q265 * Q264
34 Q13 = Q13 - Q296 * Q266 + Q263 * Q266 + Q296 * Q264
35 ; WINKEL BERECHNEN 
36 Q159 = ATAN ( Q11 / Q13 )
37 Q158 = - ATAN ( Q12 / Q13 )
38 ; RAUMWINKELBERECHNUNG  
39 Q20 = ( SQ ( Q265 - Q263 ) + SQ ( Q266 - Q264 ) + SQ ( Q2 - Q1 ) )
40 Q20 = ( Q265 - Q263 ) / SQRT Q20
41 Q21 = ( SQ ( Q265 - Q263 ) + SQ ( Q266 - Q264 ) + SQ ( Q2 - Q1 ) )
42 Q21 = ( Q266 - Q264 ) / SQRT Q21
43 Q22 = ( SQ ( Q265 - Q263 ) + SQ ( Q266 - Q264 ) + SQ ( Q2 - Q1 ) )
44 Q22 = ( Q2 - Q1 ) / SQRT Q22
45 Q27 = ASIN ( - Q22 )
46 Q28 = ACOS ( Q20 / ( COS Q27 ) )
47 FN 12: IF +Q21 LT +0 GOTO LBL 1
48 FN 9: IF +0 EQU +0 GOTO LBL 2
49 LBL 1
50 FN 3: Q28 =+Q28 * -1
51 LBL 2
52 Q23 = ( Q266 - Q264 ) * ( Q3 - Q1 ) - ( Q2 - Q1 ) * ( Q297 - Q264 )
53 Q24 = ( Q2 - Q1 ) * ( Q296 - Q263 ) - ( Q265 - Q263 ) * ( Q3 - Q1 )
54 Q25 = ( Q265 - Q263 ) * ( Q297 - Q264 ) - ( Q266 - Q264 ) * ( Q296 - ~
    Q263 )
55 Q30 = SQRT ( SQ Q23 + SQ Q24 + SQ Q25 )
56 Q31 = Q25 / Q30
57 Q26 = ACOS ( Q31 / ( COS Q27 ) )
58 Q32 = Q23 * SIN ( - Q28 ) + Q24 * COS ( - Q28 )
59 FN 9: IF +Q32 EQU +0 GOTO LBL 4
60 FN 12: IF +Q32 LT +0 GOTO LBL 4
61 FN 3: Q26 =+Q26 * -1
62 LBL 4
63 FN 0: Q170 =+Q26
64 FN 0: Q171 =+Q27
65 FN 0: Q172 =+Q28
63 FN 0: Q173 =+Q1
64 FN 0: Q174 =+Q2
65 FN 0: Q175 =+Q3
66 ; ENDE RAUMWINKEL   
67 FN 10: IF +Q113 NE +1 GOTO LBL 170
68 Q173 = Q173 / 25.4
69 Q174 = Q174 / 25.4
70 Q175 = Q175 / 25.4
71 Q263 = Q263 / 25.4
72 Q264 = Q264 / 25.4
73 Q265 = Q265 / 25.4
74 Q266 = Q266 / 25.4
75 Q296 = Q296 / 25.4
76 Q297 = Q297 / 25.4
77 LBL 170
;FCL lesen
FN 18: SYSREAD Q0 = ID630 NR1
FN 12: IF +Q0 LT +2 GOTO LBL 190
;Schnelles Antasten
FN 18: SYSREAD Q189 = ID370 NR6
FN 9: IF +Q189 EQU +1 GOTO LBL 192
LBL 190
FN 9: IF +Q281 EQU +0 GOTO LBL 198
FN 9: IF +Q281 EQU +1 GOTO LBL 193
FN 12: IF +Q0 LT +2 GOTO LBL 191
FN 9: IF +Q189 EQU +0 GOTO LBL 193
LBL 191
FN 10: IF +Q281 NE +2 GOTO LBL 198
LBL 192
;Screen-Ausgabe
FN 16: F-PRINT 431PROT.A / SCREEN:
FN 17: SYSWRITE ID 990 NR9 =+1
FN 16: F-PRINT 431PROT.A / SCLR:
FN 9: IF +0 EQU +0 GOTO LBL 198
LBL 193
;File-Ausgabe
FN 16: F-PRINT 431PROT.A / TCHPR431.TXT
LBL 198
81 FN 17: SYSWRITE ID 990 NR1 =+0
82 FN 17: SYSWRITE ID 990 NR2 =+0
83 FN 10: IF +Q113 NE +1 GOTO LBL 171
84 Q263 = Q263 * 25.4
85 Q264 = Q264 * 25.4
86 Q265 = Q265 * 25.4
87 Q266 = Q266 * 25.4
88 Q296 = Q296 * 25.4
89 Q297 = Q297 * 25.4
90 LBL 171
91 LBL 254
92 END PGM 431 MM 
