0  BEGIN PGM 414 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  Q326 = ABS Q326  
7  Q327 = ABS Q327  
8  Q301 = ABS Q301  
9  Q304 = ABS Q304  
10  Q305 = ABS Q305  
11  FN 10: IF +Q109 NE -1 GOTO LBL 5
12  FN 14: ERROR = 1001
13  LBL 5
14  FN 18: SYSREAD Q0 = ID210 NR3
15  FN 9: IF +Q0 EQU +0 GOTO LBL 101
16  FN 14: ERROR = 1008
17  LBL 101
18  FN 18: SYSREAD Q0 = ID210 NR4 IDX1
19  FN 18: SYSREAD Q1 = ID210 NR4 IDX2
20  FN 18: SYSREAD Q2 = ID210 NR4 IDX3
21  Q0 = Q0 + Q1 + Q2  
22  FN 9: IF +Q0 EQU +3 GOTO LBL 102
23  FN 14: ERROR = 1007
24  LBL 102
25  FN 18: SYSREAD Q0 = ID210 NR1
26  FN 18: SYSREAD Q1 = ID210 NR2
27  Q21 = Q0 + Q1  
28  FN 9: IF +Q21 EQU +0 GOTO LBL 103
29  FN 18: SYSREAD Q0 = ID210 NR6
30  FN 10: IF +Q0 NE -1 GOTO LBL 103
31  FN 14: ERROR = 1006
32  LBL 103
33  Q25 = 0 + Q21  
34  Q26 = 90 + Q21  
35  Q27 = 180 + Q21  
36  Q28 = 270 + Q21  
37  FN 17: SYSWRITE ID212 = +3
38  FN 17: SYSWRITE ID990 NR1 = +1
39  FN 17: SYSWRITE ID990 NR2 = +1
40  FN 18: SYSREAD Q3 = ID1000 NR6140
41  FN 18: SYSREAD Q1 = ID1010 NR6200
42  FN 9: IF +Q1 EQU +0 GOTO LBL 13
43  FN 18: SYSREAD Q1 = ID1000 NR6200
44  FN 9: IF +Q1 EQU +1 GOTO LBL 10
45  LBL 13
46  FN 18: SYSREAD Q58 = ID1000 NR6120
47  FN 18: SYSREAD Q59 = ID1000 NR6150
48  FN 18: SYSREAD Q40 = ID350 NR11
49  FN 9: IF +0 EQU +0 GOTO LBL 11
50  LBL 10
51  FN 18: SYSREAD Q58 = ID1000 NR6360
52  FN 18: SYSREAD Q59 = ID1000 NR6361
53  FN 18: SYSREAD Q40 = ID350 NR31
54  LBL 11
55  FN 18: SYSREAD Q0 = ID1000 NR7411
56  ; Q0 = 2 * FRAC (Q0 / 2)  
57  FN 9: IF +Q0 EQU +0 GOTO LBL 14
58  FN 18: SYSREAD Q40 = ID200 NR1
59  Q40 = ABS Q40  
60  LBL 14
61  FN 10: IF +Q0 NE +0 GOTO LBL 15
62  FN 17: SYSWRITE ID990 NR3 = +1
63  LBL 15
64  Q320 = Q320 + Q40 + Q3  
65  FN 0: Q267 = +1
66  FN 11: IF +Q297 GT +Q264 GOTO LBL 49
67  FN 0: Q267 = -1
68  LBL 49
69  FN 0: Q302 = +1
70  FN 11: IF +Q263 GT +Q296 GOTO LBL 51
71  FN 0: Q302 = -1
72  LBL 51
73  FN 11: IF +Q263 GT +Q296 GOTO LBL 52
74  FN 0: Q33 = +2
75  FN 11: IF +Q297 GT +Q264 GOTO LBL 12
76  FN 0: Q33 = +3
77  FN 9: IF +0 EQU +0 GOTO LBL 12
78  LBL 52
79  FN 0: Q33 = +1
80  FN 11: IF +Q297 GT +Q264 GOTO LBL 12
81  FN 0: Q33 = +4
82  LBL 12
83  ; ** Y-RICHTUNG ************** 
84  FN 12: IF +Q261 LT +Q260 GOTO LBL 130
85  FN 14: ERROR = 1016
86  LBL 130
87  FN 1: Q1 = +Q109 + +1
88  FN 18: SYSREAD Q0 = ID270 NR1 IDXQ1
89  FN 11: IF +Q0 GT +Q260 GOTO LBL 120
90  L Z+Q260 R0 FQ59
91  LBL 120
92  FN 9: IF +Q267 EQU -1 GOTO LBL 20
93  Q2 = Q264 - Q320  
94  Q31 = Q263 + Q326  
95  FN 9: IF +Q33 EQU +1 GOTO LBL 53
96  Q31 = Q263 - Q326  
97  LBL 53
98  L X+Q263 Y+Q2 R0 FQ59
99  TCH PROBE 1.0 BEZUGSPUNKT POLAR
100  TCH PROBE 1.1 X WINKEL: +Q26
101  TCH PROBE 1.2 Z+Q261
102  CALL LBL 253
103  FN 0: Q11 = +Q141
104  FN 0: Q12 = +Q142
105  FN 9: IF +Q301 EQU +0 GOTO LBL 1
106  L Z+Q260 FQ59
107  LBL 1
108  L X+Q31 Y+Q2 FQ59
109  TCH PROBE 1.0 BEZUGSPUNKT POLAR
110  TCH PROBE 1.1 X WINKEL: +Q26
111  TCH PROBE 1.2 Z+Q261
112  CALL LBL 253
113  FN 0: Q13 = +Q141
114  FN 0: Q14 = +Q142
115  FN 9: IF +0 EQU +0 GOTO LBL 21
116  LBL 20
117  Q2 = Q264 + Q320  
118  Q31 = Q263 + Q326  
119  FN 9: IF +Q33 EQU +4 GOTO LBL 54
120  Q31 = Q263 - Q326  
121  LBL 54
122  L X+Q263 Y+Q2 R0 FQ59
123  TCH PROBE 1.0 BEZUGSPUNKT POLAR
124  TCH PROBE 1.1 X WINKEL: +Q28
125  TCH PROBE 1.2 Z+Q261
126  CALL LBL 253
127  FN 0: Q11 = +Q141
128  FN 0: Q12 = +Q142
129  FN 9: IF +Q301 EQU +0 GOTO LBL 2
130  L Z+Q260 FQ59
131  LBL 2
132  L X+Q31 Y+Q2 FQ59
133  TCH PROBE 1.0 BEZUGSPUNKT POLAR
134  TCH PROBE 1.1 X WINKEL: +Q28
135  TCH PROBE 1.2 Z+Q261
136  CALL LBL 253
137  FN 0: Q13 = +Q141
138  FN 0: Q14 = +Q142
139  LBL 21
140  L Z+Q260 FQ59
141  ; ** X-RICHTUNG PLUS ********** 
142  FN 9: IF +Q302 EQU -1 GOTO LBL 22
143  Q1 = Q296 - Q320  
144  Q42 = Q297 + Q327  
145  FN 9: IF +Q33 EQU +1 GOTO LBL 57
146  Q42 = Q297 - Q327  
147  LBL 57
148  L X+Q1 Y+Q297 R0 FQ59
149  TCH PROBE 1.0 BEZUGSPUNKT POLAR
150  TCH PROBE 1.1 X WINKEL: +Q25
151  TCH PROBE 1.2 Z+Q261
152  CALL LBL 253
153  FN 0: Q16 = +Q141
154  FN 0: Q17 = +Q142
155  FN 9: IF +Q301 EQU +0 GOTO LBL 3
156  L Z+Q260 FQ59
157  LBL 3
158  L X+Q1 Y+Q42 FQ59
159  TCH PROBE 1.0 BEZUGSPUNKT POLAR
160  TCH PROBE 1.1 X WINKEL: +Q25
161  TCH PROBE 1.2 Z+Q261
162  CALL LBL 253
163  FN 0: Q18 = +Q141
164  FN 0: Q19 = +Q142
165  FN 9: IF +0 EQU +0 GOTO LBL 99
166  LBL 22
167  Q1 = Q296 + Q320  
168  Q42 = Q297 + Q327  
169  FN 9: IF +Q33 EQU +2 GOTO LBL 56
170  Q42 = Q297 - Q327  
171  LBL 56
172  L X+Q1 Y+Q297 R0 FQ59
173  TCH PROBE 1.0 BEZUGSPUNKT POLAR
174  TCH PROBE 1.1 X WINKEL: +Q27
175  TCH PROBE 1.2 Z+Q261
176  CALL LBL 253
177  FN 0: Q16 = +Q141
178  FN 0: Q17 = +Q142
179  FN 9: IF +Q301 EQU +0 GOTO LBL 4
180  L Z+Q260 FQ59
181  LBL 4
182  L X+Q1 Y+Q42 FQ59
183  TCH PROBE 1.0 BEZUGSPUNKT POLAR
184  TCH PROBE 1.1 X WINKEL: +Q27
185  TCH PROBE 1.2 Z+Q261
186  CALL LBL 253
187  FN 0: Q18 = +Q141
188  FN 0: Q19 = +Q142
189  FN 9: IF +0 EQU +0 GOTO LBL 99
190  LBL 98
191  ; ** EINGABEWERT FALSCH ******** 
192  FN 14: ERROR = 1011
193  ; ****************************** 
194  LBL 99
195  L Z+Q260 R0 FQ59
196  Q45 = ATAN ((Q14 - Q12) / (Q13 - Q11)) + 90  
197  Q46 = ATAN ((Q16 - Q18) / (Q19 - Q17)) + 180  
198  Q1 = (Q11 * COS Q45) + (Q12 * SIN Q45)  
199  Q2 = (Q16 * COS Q46) + (Q17 * SIN Q46)  
200  Q47 = Q45 - 90  
201  ; ** FEHLERKOMPENSATION 
202  FN 11: IF +Q33 GT +1 GOTO LBL 61
203  ; ECKE 1   
204  Q1 = Q1 + Q40  
205  Q2 = Q2 - Q40  
206  FN 9: IF +0 EQU +0 GOTO LBL 60
207  LBL 61
208  FN 11: IF +Q33 GT +2 GOTO LBL 62
209  ; ECKE 2   
210  Q1 = Q1 + Q40  
211  Q2 = Q2 + Q40  
212  FN 9: IF +0 EQU +0 GOTO LBL 60
213  LBL 62
214  FN 11: IF +Q33 GT +3 GOTO LBL 63
215  ; ECKE 3   
216  Q1 = Q1 - Q40  
217  Q2 = Q2 + Q40  
218  FN 9: IF +0 EQU +0 GOTO LBL 60
219  LBL 63
220  ; ECKE 4   
221  Q1 = Q1 - Q40  
222  Q2 = Q2 - Q40  
223  LBL 60
224  ; ** GERADENGLEICHUNGEN 
225  Q36 = ((Q1 / COS Q45) - (Q2 / COS Q46)) / (TAN Q45 - TAN Q46)  
226  FN 9: IF +Q12 EQU +Q14 GOTO LBL 200
227  Q37 = (Q1 - Q36 * SIN Q45) / COS Q45  
228  LBL 200
229  Q35 = Q36  
230  FN 9: IF +Q12 EQU +Q14 GOTO LBL 201
231  Q36 = Q37  
232  FN 9: IF +0 EQU +0 GOTO LBL 202
233  LBL 201
234  Q36 = -Q2  
235  LBL 202
236  Q37 = Q35  
237  FN 11: IF +Q305 GT +0 GOTO LBL 35
238  FN 10: IF +Q304 NE +1 GOTO LBL 70
239  FN 10: IF +Q21 NE +0 GOTO LBL 70
240  Q21 = Q21 + Q47  
241  CALL LBL 59
242  FN 9: IF +0 EQU +0 GOTO LBL 71
243  LBL 70
244  CALL LBL 55
245  LBL 71
246  FN 9: IF +Q109 EQU +0 GOTO LBL 30
247  FN 9: IF +Q109 EQU +6 GOTO LBL 30
248  FN 9: IF +Q109 EQU +1 GOTO LBL 31
249  FN 9: IF +Q109 EQU +7 GOTO LBL 31
250  FN 9: IF +Q109 EQU +2 GOTO LBL 32
251  FN 9: IF +Q109 EQU +8 GOTO LBL 32
252  LBL 30
253  FN 25: PRESET = Y /+Q36 /+Q22
254  FN 25: PRESET = Z /+Q37 /+Q23
255  FN 9: IF +0 EQU +0 GOTO LBL 199
256  LBL 31
257  FN 25: PRESET = Z /+Q36 /+Q22
258  FN 25: PRESET = X /+Q37 /+Q23
259  FN 9: IF +0 EQU +0 GOTO LBL 199
260  LBL 32
261  FN 25: PRESET = X /+Q36 /+Q22
262  FN 25: PRESET = Y /+Q37 /+Q23
263  FN 9: IF +0 EQU +0 GOTO LBL 199
264  LBL 35
265  FN 10: IF +Q304 NE +1 GOTO LBL 36
266  FN 10: IF +Q21 NE +0 GOTO LBL 36
267  Q21 = Q47 + Q21  
268  CALL LBL 58
269  FN 9: IF +0 EQU +0 GOTO LBL 37
270  LBL 36
271  CALL LBL 50
272  LBL 37
273  FN 18: SYSREAD Q5 = ID1000 NR7475
274  FN 9: IF +Q5 EQU +0 GOTO LBL 38
275  Q36 = Q36 + Q3 - Q331  
276  Q37 = Q37 + Q4 - Q332  
277  FN 9: IF +0 EQU +0 GOTO LBL 39
278  LBL 38
279  Q36 = Q36 - Q331  
280  Q37 = Q37 - Q332  
281  LBL 39
282  FN 9: IF +Q109 EQU +0 GOTO LBL 40
283  FN 9: IF +Q109 EQU +6 GOTO LBL 40
284  FN 9: IF +Q109 EQU +1 GOTO LBL 41
285  FN 9: IF +Q109 EQU +7 GOTO LBL 41
286  FN 9: IF +Q109 EQU +2 GOTO LBL 42
287  FN 9: IF +Q109 EQU +8 GOTO LBL 42
288  LBL 40
289  ; FN 17: SYSWRITE ID500 NRQ305 IDX2 = +Q36 
290  ; FN 17: SYSWRITE ID500 NRQ305 IDX3 = +Q37 
291  ; FN 9: IF +0 EQU +0 GOTO LBL 199 
292  ; LBL 41 
293  ; FN 17: SYSWRITE ID500 NRQ305 IDX3 = +Q36 
294  ; FN 17: SYSWRITE ID500 NRQ305 IDX1 = +Q37 
295  ; FN 9: IF +0 EQU +0 GOTO LBL 199 
296  ; LBL 42 
297  ; FN 17: SYSWRITE ID500 NRQ305 IDX1 = +Q36 
298  ; FN 17: SYSWRITE ID500 NRQ305 IDX2 = +Q37 
299  FN 18: SYSREAD Q4 = ID1000 NR7475
300  FN 9: IF +Q4 EQU +0 GOTO LBL 196
301  Q50 = Q261  
302  Q51 = Q36  
303  Q52 = Q37  
304  CALL LBL 110
305  Q2 = 2  
306  CALL LBL 111
307  Q1 = Q4  
308  Q2 = Q3  
309  CALL LBL 112
310  FN 17: SYSWRITE ID501 NRQ305 IDXQ2 = +Q1
311  Q2 = 3  
312  CALL LBL 111
313  Q1 = Q4  
314  Q2 = Q3  
315  CALL LBL 112
316  FN 17: SYSWRITE ID501 NRQ305 IDXQ2 = +Q1
317  FN 9: IF +0 EQU +0 GOTO LBL 199
318  LBL 196
319  FN 17: SYSWRITE ID501 NRQ305 IDX2 = +Q36
320  FN 17: SYSWRITE ID501 NRQ305 IDX3 = +Q37
321  FN 9: IF +0 EQU +0 GOTO LBL 199
322  LBL 41
323  FN 18: SYSREAD Q4 = ID1000 NR7475
324  FN 9: IF +Q4 EQU +0 GOTO LBL 197
325  Q50 = Q37  
326  Q51 = Q261  
327  Q52 = Q36  
328  CALL LBL 110
329  Q2 = 3  
330  CALL LBL 111
331  Q1 = Q4  
332  Q2 = Q3  
333  CALL LBL 112
334  FN 17: SYSWRITE ID501 NRQ305 IDXQ2 = +Q1
335  Q2 = 1  
336  CALL LBL 111
337  Q1 = Q4  
338  Q2 = Q3  
339  CALL LBL 112
340  FN 17: SYSWRITE ID501 NRQ305 IDXQ2 = +Q1
341  FN 9: IF +0 EQU +0 GOTO LBL 199
342  LBL 197
343  FN 17: SYSWRITE ID501 NRQ305 IDX3 = +Q36
344  FN 17: SYSWRITE ID501 NRQ305 IDX1 = +Q37
345  FN 9: IF +0 EQU +0 GOTO LBL 199
346  LBL 42
347  FN 18: SYSREAD Q4 = ID1000 NR7475
348  FN 9: IF +Q4 EQU +0 GOTO LBL 198
349  Q50 = Q36  
350  Q51 = Q37  
351  Q52 = Q261  
352  CALL LBL 110
353  Q2 = 1  
354  CALL LBL 111
355  Q1 = Q4  
356  Q2 = Q3  
357  CALL LBL 112
358  FN 17: SYSWRITE ID501 NRQ305 IDXQ2 = +Q1
359  Q2 = 2  
360  CALL LBL 111
361  Q1 = Q4  
362  Q2 = Q3  
363  CALL LBL 112
364  FN 17: SYSWRITE ID501 NRQ305 IDXQ2 = +Q1
365  FN 9: IF +0 EQU +0 GOTO LBL 199
366  LBL 198
367  FN 17: SYSWRITE ID501 NRQ305 IDX1 = +Q36
368  FN 17: SYSWRITE ID501 NRQ305 IDX2 = +Q37
369  LBL 199
370  FN 10: IF +Q304 NE +1 GOTO LBL 100
371  FN 18: SYSREAD Q0 = ID210 NR1
372  Q47 = Q0 + Q47  
373  FN 17: SYSWRITE ID210 NR1 = +Q47
374  LBL 100
375  FN 17: SYSWRITE ID990 NR1 = +0
376  FN 17: SYSWRITE ID990 NR2 = +0
377  FN 9: IF +0 EQU +0 GOTO LBL 254
378  LBL 50
379  Q22 = (Q38 * COS Q21) + (Q39 * SIN Q21)  
380  Q23 = -(Q38 * SIN Q21) + (Q39 * COS Q21)  
381  Q36 = Q36 + Q22  
382  Q37 = Q37 + Q23  
383  LBL 0
384  LBL 55
385  Q22 = (Q331 * COS -Q21) + (Q332 * SIN -Q21)  
386  Q23 = -(Q331 * SIN -Q21) + (Q332 * COS -Q21)  
387  Q33 = (Q36 * COS -Q21) + (Q37 * SIN -Q21)  
388  Q34 = -(Q36 * SIN -Q21) + (Q37 * COS -Q21)  
389  Q36 = Q33  
390  Q37 = Q34  
391  LBL 0
392  LBL 58
393  Q22 = (Q38 * COS Q21) + (Q39 * SIN Q21)  
394  Q23 = -(Q38 * SIN Q21) + (Q39 * COS Q21)  
395  Q33 = (Q36 * COS Q21) + (Q37 * SIN Q21)  
396  Q34 = -(Q36 * SIN Q21) + (Q37 * COS Q21)  
397  Q36 = Q33 + Q22  
398  Q37 = Q34 + Q23  
399  LBL 0
400  LBL 59
401  Q22 = (Q331 * COS -Q21) + (Q332 * SIN -Q21)  
402  Q23 = -(Q331 * SIN -Q21) + (Q332 * COS -Q21)  
403  LBL 0
404  LBL 110
405  FN 17: SYSWRITE ID990 NR5 IDX4 = +50
406  LBL 0
407  LBL 111
408  Q5 = Q2 - 1  
409  FN 17: SYSWRITE ID990 NR5 IDX5 = +5
410  FN 9: IF +Q6 EQU +0 GOTO LBL 113
411  FN 9: IF +Q6 EQU +1 GOTO LBL 114
412  FN 9: IF +Q6 EQU +2 GOTO LBL 115
413  FN 14: ERROR = 1013
414  LBL 113
415  Q3 = Q6 + 1  
416  Q4 = Q53  
417  FN 9: IF +0 EQU +0 GOTO LBL 116
418  LBL 114
419  Q3 = Q6 + 1  
420  Q4 = Q54  
421  FN 9: IF +0 EQU +0 GOTO LBL 116
422  LBL 115
423  Q3 = Q6 + 1  
424  Q4 = Q55  
425  LBL 116
426  LBL 0
427  LBL 112
428  FN 18: SYSREAD Q25 = ID220 NR3 IDXQ2
429  ;FN 18: SYSREAD Q26 = ID220 NR4 IDXQ2
430  Q1 = Q1 - Q25
431  LBL 0
432  LBL 253
433  FN 9: IF +Q109 EQU +0 GOTO LBL 230
434  FN 9: IF +Q109 EQU +6 GOTO LBL 230
435  FN 9: IF +Q109 EQU +1 GOTO LBL 231
436  FN 9: IF +Q109 EQU +7 GOTO LBL 231
437  FN 9: IF +Q109 EQU +2 GOTO LBL 232
438  FN 9: IF +Q109 EQU +8 GOTO LBL 232
439  LBL 230
440  FN 0: Q141 = +Q115
441  FN 0: Q142 = +Q116
442  FN 0: Q143 = +Q117
443  FN 17: SYSWRITE ID990 NR5 IDX1 = +141
444  FN 0: Q141 = +Q145
445  FN 0: Q142 = +Q146
446  FN 17: SYSWRITE ID990 NR4 IDX1 = +141
447  FN 0: Q141 = +Q143
448  FN 0: Q142 = +Q144
449  FN 18: SYSREAD Q3 = ID220 NR4 IDX2
450  FN 18: SYSREAD Q4 = ID220 NR4 IDX3
451  FN 18: SYSREAD Q38 = ID220 NR2 IDX2
452  FN 18: SYSREAD Q39 = ID220 NR2 IDX3
453  FN 9: IF +0 EQU +0 GOTO LBL 233
454  LBL 231
455  FN 0: Q141 = +Q115
456  FN 0: Q142 = +Q116
457  FN 0: Q143 = +Q117
458  FN 17: SYSWRITE ID990 NR5 IDX1 = +141
459  FN 0: Q141 = +Q146
460  FN 0: Q142 = +Q144
461  FN 17: SYSWRITE ID990 NR4 IDX1 = +141
462  FN 0: Q141 = +Q143
463  FN 0: Q142 = +Q144
464  FN 18: SYSREAD Q3 = ID220 NR4 IDX3
465  FN 18: SYSREAD Q4 = ID220 NR4 IDX1
466  FN 18: SYSREAD Q38 = ID220 NR2 IDX3
467  FN 18: SYSREAD Q39 = ID220 NR2 IDX1
468  FN 9: IF +0 EQU +0 GOTO LBL 233
469  LBL 232
470  FN 0: Q141 = +Q115
471  FN 0: Q142 = +Q116
472  FN 0: Q143 = +Q117
473  FN 17: SYSWRITE ID990 NR5 IDX1 = +141
474  FN 0: Q141 = +Q144
475  FN 0: Q142 = +Q145
476  FN 17: SYSWRITE ID990 NR4 IDX1 = +141
477  FN 0: Q141 = +Q143
478  FN 0: Q142 = +Q144
479  FN 18: SYSREAD Q3 = ID220 NR4 IDX1
480  FN 18: SYSREAD Q4 = ID220 NR4 IDX2
481  FN 18: SYSREAD Q38 = ID220 NR2 IDX1
482  FN 18: SYSREAD Q39 = ID220 NR2 IDX2
483  LBL 233
484  LBL 0
485  LBL 254
486  END PGM 414 MM
