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