0  BEGIN PGM 403 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  Q320 = ABS Q320  
6  Q272 = ABS Q272  
7  Q301 = ABS Q301  
8  Q312 = ABS Q312  
9  FN 10: IF +Q109 NE -1 GOTO LBL 100
10  FN 14: ERROR = 1001
11  LBL 100
12  FN 18: SYSREAD Q0 = ID210 NR3
13  FN 9: IF +Q0 EQU +0 GOTO LBL 101
14  FN 14: ERROR = 1008
15  LBL 101
16  FN 18: SYSREAD Q0 = ID210 NR4 IDX1
17  FN 18: SYSREAD Q1 = ID210 NR4 IDX2
18  FN 18: SYSREAD Q2 = ID210 NR4 IDX3
19  Q0 = Q0 + Q1 + Q2  
20  FN 9: IF +Q0 EQU +3 GOTO LBL 102
21  FN 14: ERROR = 1007
22  LBL 102
23  FN 18: SYSREAD Q0 = ID210 NR6
24  FN 10: IF +Q0 NE -1 GOTO LBL 103
25  FN 14: ERROR = 1006
26  LBL 103
27  FN 17: SYSWRITE ID212 = +3
28  FN 17: SYSWRITE ID990 NR1 = +1
29  FN 17: SYSWRITE ID990 NR2 = +1
30  FN 18: SYSREAD Q3 = ID1000 NR6140
31  FN 18: SYSREAD Q1 = ID1010 NR6200
32  FN 9: IF +Q1 EQU +0 GOTO LBL 13
33  FN 18: SYSREAD Q1 = ID1000 NR6200
34  FN 9: IF +Q1 EQU +1 GOTO LBL 10
35  LBL 13
36  FN 18: SYSREAD Q58 = ID1000 NR6120
37  FN 18: SYSREAD Q59 = ID1000 NR6150
38  FN 18: SYSREAD Q2 = ID350 NR11
39  FN 9: IF +0 EQU +0 GOTO LBL 11
40  LBL 10
41  FN 18: SYSREAD Q58 = ID1000 NR6360
42  FN 18: SYSREAD Q59 = ID1000 NR6361
43  FN 18: SYSREAD Q2 = ID350 NR31
44  LBL 11
45  FN 18: SYSREAD Q0 = ID1000 NR7411
46  ; Q0 = 2 * FRAC (Q0 / 2)  
47  FN 9: IF +Q0 EQU +0 GOTO LBL 14
48  FN 18: SYSREAD Q2 = ID200 NR1
49  Q2 = ABS Q2  
50  LBL 14
51  FN 10: IF +Q0 NE +0 GOTO LBL 15
52  FN 17: SYSWRITE ID990 NR3 = +1
53  LBL 15
54  Q320 = Q320 + Q2 + Q3  
55  FN 10: IF +Q267 NE +0 GOTO LBL 12
56  FN 14: ERROR = 1042
57  LBL 12
58  ; *** Y-RICHTUNG ************** 
59  FN 12: IF +Q261 LT +Q260 GOTO LBL 130
60  FN 0: Q260 = +Q261
61  LBL 130
62  FN 1: Q1 = +Q109 + +1
63  FN 18: SYSREAD Q0 = ID270 NR1 IDXQ1
64  FN 11: IF +Q0 GT +Q260 GOTO LBL 120
65  L Z+Q260 R0 FQ59
66  LBL 120
67  FN 9: IF +Q272 EQU +1 GOTO LBL 21
68  FN 9: IF +Q272 EQU +3 GOTO LBL 23
69  FN 9: IF +Q267 EQU -1 GOTO LBL 20
70  FN 2: Q22 = +Q264 - +Q320
71  FN 2: Q32 = +Q266 - +Q320
72  L X+Q263 Y+Q22 R0 FQ59
73  TCH PROBE 0.0 BEZUGSEBENE Q4 Y+
74  TCH PROBE 0.1 Z+Q261
75  FN 9: IF +Q301 EQU +0 GOTO LBL 1
76  L Z+Q260 FQ59
77  LBL 1
78  L X+Q265 Y+Q32 FQ59
79  TCH PROBE 0.0 BEZUGSEBENE Q5 Y+
80  TCH PROBE 0.1 Z+Q261
81  FN 9: IF +0 EQU +0 GOTO LBL 92
82  LBL 20
83  FN 1: Q22 = +Q264 + +Q320
84  FN 1: Q32 = +Q266 + +Q320
85  L X+Q263 Y+Q22 R0 FQ59
86  TCH PROBE 0.0 BEZUGSEBENE Q4 Y-
87  TCH PROBE 0.1 Z+Q261
88  FN 9: IF +Q301 EQU +0 GOTO LBL 2
89  L Z+Q260 FQ59
90  LBL 2
91  L X+Q265 Y+Q32 FQ59
92  TCH PROBE 0.0 BEZUGSEBENE Q5 Y-
93  TCH PROBE 0.1 Z+Q261
94  FN 9: IF +0 EQU +0 GOTO LBL 92
95  LBL 21
96  ; *** X-RICHTUNG ************** 
97  FN 9: IF +Q267 EQU -1 GOTO LBL 22
98  FN 2: Q21 = +Q263 - +Q320
99  FN 2: Q31 = +Q265 - +Q320
100  L X+Q21 Y+Q264 R0 FQ59
101  TCH PROBE 0.0 BEZUGSEBENE Q4 X+
102  TCH PROBE 0.1 Z+Q261
103  FN 9: IF +Q301 EQU +0 GOTO LBL 3
104  L Z+Q260 FQ59
105  LBL 3
106  L X+Q31 Y+Q266 FQ59
107  TCH PROBE 0.0 BEZUGSEBENE Q5 X+
108  TCH PROBE 0.1 Z+Q261
109  FN 9: IF +0 EQU +0 GOTO LBL 91
110  LBL 22
111  FN 1: Q21 = +Q263 + +Q320
112  FN 1: Q31 = +Q265 + +Q320
113  L X+Q21 Y+Q264 R0 FQ59
114  TCH PROBE 0.0 BEZUGSEBENE Q4 X-
115  TCH PROBE 0.1 Z+Q261
116  FN 9: IF +Q301 EQU +0 GOTO LBL 4
117  L Z+Q260 FQ59
118  LBL 4
119  L X+Q31 Y+Q266 FQ59
120  TCH PROBE 0.0 BEZUGSEBENE Q5 X-
121  TCH PROBE 0.1 Z+Q261
122  FN 9: IF +0 EQU +0 GOTO LBL 91
123  ; *** Z-RICHTUNG ************* 
124  LBL 23
125  FN 9: IF +Q267 EQU -1 GOTO LBL 24
126  Q261 = Q261 - Q320  
127  L X+Q263 Y+Q264 R0 FQ59
128  TCH PROBE 0.0 BEZUGSEBENE Q4 Z+
129  TCH PROBE 0.1 Z+Q261
130  FN 9: IF +Q301 EQU +0 GOTO LBL 5
131  L Z+Q260 FQ59
132  LBL 5
133  L X+Q265 Y+Q266 FQ59
134  TCH PROBE 0.0 BEZUGSEBENE Q5 Z+
135  TCH PROBE 0.1 Z+Q261
136  FN 9: IF +Q312 EQU +4 GOTO LBL 91
137  FN 9: IF +0 EQU +0 GOTO LBL 92
138  LBL 24
139  Q261 = Q261 + Q320  
140  L X+Q263 Y+Q264 R0 FQ59
141  TCH PROBE 0.0 BEZUGSEBENE Q4 Z-
142  TCH PROBE 0.1 Z+Q261
143  FN 9: IF +Q301 EQU +0 GOTO LBL 6
144  L Z+Q260 FQ59
145  LBL 6
146  L X+Q265 Y+Q266 FQ59
147  TCH PROBE 0.0 BEZUGSEBENE Q5 Z-
148  TCH PROBE 0.1 Z+Q261
149  FN 9: IF +Q312 EQU +4 GOTO LBL 93
150  FN 9: IF +Q312 EQU +6 GOTO LBL 95
151  Q50 = -ATAN ((Q5 - Q4) / (Q265 - Q263))  
152  FN 9: IF +0 EQU +0 GOTO LBL 99
153  LBL 93
154  FN 9: IF +Q109 EQU +1 GOTO LBL 190
155  Q50 = ATAN ((Q264 - Q266) / (Q4 - Q5))  
156  FN 11: IF +Q50 GT +0 GOTO LBL 94
157  Q50 = -(Q50 + 90)  
158  FN 9: IF +0 EQU +0 GOTO LBL 99
159  LBL 190
160  Q50 = -ATAN ((Q263 - Q265) / (Q4 - Q5))  
161  FN 11: IF +Q50 GT +0 GOTO LBL 94
162  Q50 = -(Q50 + 90)  
163  FN 9: IF +0 EQU +0 GOTO LBL 99
164  LBL 94
165  Q50 = (90 - Q50)  
166  FN 9: IF +0 EQU +0 GOTO LBL 99
167  LBL 95
168  FN 9: IF +Q109 EQU +1 GOTO LBL 96
169  FN 14: ERROR = 1016
170  LBL 96
171  Q50 = ATAN ((Q5 - Q4) / (Q266 - Q264))  
172  FN 9: IF +0 EQU +0 GOTO LBL 99
173  LBL 97
174  Q50 = ATAN ((Q5 - Q4) / (Q266 - Q264))  
175  FN 9: IF +0 EQU +0 GOTO LBL 99
176  LBL 91
177  Q50 = ATAN ((Q264 - Q266) / (Q4 - Q5))  
178  FN 9: IF +0 EQU +0 GOTO LBL 99
179  LBL 92
180  Q50 = ATAN ((Q5 - Q4) / (Q265 - Q263))  
181  LBL 99
182  L Z+Q260 R0 FQ59
183  FN 10: IF +Q312 NE +4 GOTO LBL 30
184  L IA+Q50 R0 FQ58
185  FN 9: IF +0 EQU +0 GOTO LBL 199
186  LBL 30
187  FN 10: IF +Q312 NE +5 GOTO LBL 31
188  L IB+Q50 R0 FQ58
189  FN 9: IF +0 EQU +0 GOTO LBL 199
190  LBL 31
191  FN 10: IF +Q312 NE +6 GOTO LBL 32
192  L IC+Q50 R0 FQ58
193  FN 9: IF +0 EQU +0 GOTO LBL 199
194  LBL 32
195  FN 14: ERROR = 1019
196  LBL 199
197  Q150 = Q50  
198  FN 17: SYSWRITE ID990 NR1 = +0
199  FN 17: SYSWRITE ID990 NR2 = +0
200  LBL 254
201  END PGM 403 MM
