0  BEGIN PGM 231 MM 
1  ;Stand: 340490 02
2  Q240 = ABS Q240
3  FN 17: SYSWRITE ID 212 =+3
4  DECLARE STRING QS30
5  QS30 = SYSSTR( ID10025 NR1 )
6  DECLARE STRING QS31 = "CfgGeoCycle"
7  ;******** M3 / M4 ***********
8  DECLARE STRING QS32 = "displaySpindleErr"
9  Q0 = CFGREAD( KEY_QS30 TAG_QS31 ATR_QS32 )
10 FN 9: IF +Q0 EQU +0 GOTO LBL 111
11 FN 9: IF +Q110 EQU +1 GOTO LBL 111
12 FN 9: IF +Q110 EQU +0 GOTO LBL 111
13 FN 14: ERROR= 1000
14 LBL 111
15 FN 10: IF +Q109 NE -1 GOTO LBL 198
16 FN 14: ERROR= 1001
17 LBL 198
18 FN 18: SYSREAD Q1 = ID200 NR1
19 Q1 = ABS Q1
20 CALL LBL 1
21 CALL LBL 2
22 CALL LBL 4
23 L  X+Q31  Y+Q32  Z+Q33 R0 FQ42
24 LBL 10
25 L  X+Q31  Y+Q32  Z+Q33 R0 FQ207
26 L  X+Q34  Y+Q35  Z+Q36 R0 FQ42
27 L  X+Q34  Y+Q35  Z+Q38 R0 FMAX
28 FN 9: IF +Q30 EQU +Q46 GOTO LBL 99
29 L  X+Q31  Y+Q32  Z+Q37 R0 FMAX
30 L IZ-Q1 FMAX
31 L  X+Q31  Y+Q32  Z+Q33 R0 FQ42
32 CALL LBL 3
33 FN 11: IF +Q30 GT +Q46 GOTO LBL 99
34 FN 9: IF +Q30 EQU +Q46 GOTO LBL 10
35 FN 12: IF +Q30 LT +Q46 GOTO LBL 10
36 LBL 1
37 FN 0: Q30 =+0
38 FN 0: Q31 =+Q225
39 FN 0: Q32 =+Q226
40 FN 1: Q33 =+Q227 + +0
41 FN 0: Q34 =+Q228
42 FN 0: Q35 =+Q229
43 FN 1: Q36 =+Q230 + +0
44 FN 1: Q37 =+Q33 + +Q1
45 FN 1: Q37 =+Q37 + +Q1
46 FN 1: Q38 =+Q36 + +Q1
47 FN 1: Q38 =+Q38 + +Q1
48 LBL 0
49 LBL 2
50 FN 4: Q46 =+Q240 DIV +1
51 FN 2: Q51 =+Q234 - +Q225
52 FN 4: Q51 =+Q51 DIV +Q46
53 FN 2: Q52 =+Q235 - +Q226
54 FN 4: Q52 =+Q52 DIV +Q46
55 FN 2: Q53 =+Q236 - +Q227
56 FN 4: Q53 =+Q53 DIV +Q46
57 FN 2: Q54 =+Q231 - +Q228
58 FN 4: Q54 =+Q54 DIV +Q46
59 FN 2: Q55 =+Q232 - +Q229
60 FN 4: Q55 =+Q55 DIV +Q46
61 FN 2: Q56 =+Q233 - +Q230
62 FN 4: Q56 =+Q56 DIV +Q46
63 FN 4: Q42 =+Q207 DIV +2
64 LBL 0
65 LBL 3
66 FN 1: Q30 =+Q30 + +1
67 FN 1: Q31 =+Q31 + +Q51
68 FN 1: Q32 =+Q32 + +Q52
69 FN 1: Q33 =+Q33 + +Q53
70 FN 1: Q34 =+Q34 + +Q54
71 FN 1: Q35 =+Q35 + +Q55
72 FN 1: Q36 =+Q36 + +Q56
73 FN 1: Q37 =+Q33 + +Q1
74 FN 1: Q37 =+Q37 + +Q1
75 FN 1: Q38 =+Q36 + +Q1
76 FN 1: Q38 =+Q38 + +Q1
77 FN 0: Q42 =+Q207
78 LBL 0
79 LBL 4
80 FN 11: IF +Q227 GT +Q230 GOTO LBL 11
81 FN 0: Q25 =+Q230
82 FN 9: IF +0 EQU +0 GOTO LBL 6
83 LBL 11
84 FN 0: Q25 =+Q227
85 LBL 6
86 FN 11: IF +Q233 GT +Q236 GOTO LBL 9
87 FN 0: Q26 =+Q236
88 FN 9: IF +0 EQU +0 GOTO LBL 8
89 LBL 9
90 FN 0: Q26 =+Q233
91 LBL 8
92 FN 11: IF +Q25 GT +Q26 GOTO LBL 12
93 FN 0: Q27 =+Q26
94 FN 9: IF +0 EQU +0 GOTO LBL 14
95 LBL 12
96 FN 0: Q27 =+Q25
97 LBL 14
98 FN 1: Q27 =+Q27 + +Q1
99 FN 1: Q27 =+Q27 + +Q1
100 LBL 0
101 LBL 99
102 L  Z+Q27 R0 FMAX
103 END PGM 231 MM 
