0  BEGIN PGM 230 MM 
1  ;Stand: 340490 02
2  Q200 = ABS Q200
3  Q218 = ABS Q218
4  Q219 = ABS Q219
5  Q240 = ABS Q240
6  FN 17: SYSWRITE ID 212 =+3
7  DECLARE STRING QS30
8  QS30 = SYSSTR( ID10025 NR1 )
9  DECLARE STRING QS31 = "CfgGeoCycle"
10 ;******** M3 / M4 ***********
11 DECLARE STRING QS32 = "displaySpindleErr"
12 Q0 = CFGREAD( KEY_QS30 TAG_QS31 ATR_QS32 )
13 FN 9: IF +Q0 EQU +0 GOTO LBL 111
14 FN 9: IF +Q110 EQU +1 GOTO LBL 111
15 FN 9: IF +Q110 EQU +0 GOTO LBL 111
16 FN 14: ERROR= 1000
17 LBL 111
18 FN 10: IF +Q109 NE -1 GOTO LBL 198
19 FN 14: ERROR= 1001
20 LBL 198
21 FN 18: SYSREAD Q1 = ID200 NR1
22 Q1 = ABS Q1
23 FN 2: Q11 =+Q225 - +Q1
24 FN 1: Q12 =+Q226 + +Q1
25 FN 0: Q13 =+1
26 FN 1: Q14 =+Q225 + +Q218
27 FN 1: Q14 =+Q14 + +Q1
28 FN 2: Q16 =+Q219 - +Q1
29 FN 2: Q16 =+Q16 - +Q1
30 FN 9: IF +Q240 EQU +1 GOTO LBL 1
31 FN 2: Q18 =+Q240 - +1
32 FN 4: Q16 =+Q16 DIV +Q18
33 LBL 1
34 FN 1: Q17 =+Q227 + +Q200
35 L  X+Q11  Y+Q12 R0 FMAX
36 L  Z+Q17 FMAX
37 L  Z+Q227 FQ206
38 LBL 2
39 L  X+Q11  Y+Q12 FQ209
40 L  X+Q14 FQ207
41 FN 1: Q12 =+Q12 + +Q16
42 FN 1: Q13 =+Q13 + +1
43 FN 11: IF +Q13 GT +Q240 GOTO LBL 99
44 L  X+Q14  Y+Q12 FQ209
45 L  X+Q11  Y+Q12 FQ207
46 FN 1: Q12 =+Q12 + +Q16
47 FN 1: Q13 =+Q13 + +1
48 FN 12: IF +Q13 LT +Q240 GOTO LBL 2
49 FN 9: IF +Q13 EQU +Q240 GOTO LBL 2
50 LBL 99
51 L  Z+Q17 FMAX
52 END PGM 230 MM 
