0  BEGIN PGM SLOTMILL MM 
1  Q195 = Q197
2  Q197 = 0
3  FN 22: FUNCT Q0 FNR1
4  FN 22: FUNCT Q0 FNR113
5  FN 22: FUNCT Q0 FNR121 PIN0 PIN0 PIN20 ;SAVE Q0-Q20
6  Q20 = ( SGN Q201 * ABS ( Q204 ) ) * - 1
7  FN 10: IF +Q204 NE +0 GOTO LBL 43
8  Q20 = ( SGN Q201 * ABS ( Q200 ) ) * - 1
9  LBL 43
10 FN 17: SYSWRITE ID 30 NR1 =+Q200 ; Sicherheitsabstand
11 FN 17: SYSWRITE ID 30 NR4 =+Q206 ; Vorschub Tiefe
12 FN 17: SYSWRITE ID 30 NR9 =+0 ; akt. Radius
13 FN 17: SYSWRITE ID 30 NR10 =+Q207 ; Vorschub
14 FN 17: SYSWRITE ID 30 NR11 =+Q351 ;Gleichlauf-Gegenlauf
15 FN 17: SYSWRITE ID 31 NR21 =+Q206 ; Vorschub Pendeln
16 FN 17: SYSWRITE ID 31 NR23 =+Q203 ; Oberkante Werkstck
17 FN 17: SYSWRITE ID 31 NR27 =+0 ; kein Schlichtaufmass
18 FN 17: SYSWRITE ID 31 NR35 =+128 ; Rueckzugsmodus
19 FN 17: SYSWRITE ID 31 NR15 =+1 ; Ueberlappungsfaktor
20 FN 18: SYSREAD Q1 = ID260 NR1 IDX1 ; X-aktuelle Position
21 FN 18: SYSREAD Q2 = ID260 NR1 IDX2 ; Y-aktuelle Position
22 FN 17: SYSWRITE ID 31 NR38 =+Q1 ; Mitte X-Achse
23 FN 17: SYSWRITE ID 31 NR39 =+Q2 ; Mitte Y-Achse
24 FN 18: SYSREAD Q14 = ID220 NR2 IDX3 ; Verschiebung
25 FN 18: SYSREAD Q16 = ID210 NR4 IDX1 ; Skalierung X
26 FN 18: SYSREAD Q17 = ID210 NR4 IDX2 ; Skalierung Y
27 FN 18: SYSREAD Q15 = ID210 NR4 IDX3 ; Skalierung Z
28 Q1 = Q218 - ( 2 * Q368 / Q16 ) ; Laenge - Aufmass
29 Q2 = Q219 - ( 2 * Q368 / Q17 ) ; Breite - Aufmass
30 Q11 = Q203 - SGN Q201 * ( Q204 ) ; Sichere Hoehe
31 Q12 = Q203 - SGN Q201 * ( Q200 ) ; Sicherheitsabst
32 Q13 = Q200
33 Q18 = SGN Q201
34 FN 10: IF +Q18 NE -1 GOTO LBL 41
35 FN 12: IF +Q12 LT +Q11 GOTO LBL 42
36 Q11 = Q12
37 FN 9: IF +0 EQU +0 GOTO LBL 42
38 LBL 41
39 FN 12: IF +Q11 LT +Q12 GOTO LBL 42
40 Q11 = Q12
41 LBL 42
42 FN 17: SYSWRITE ID 31 NR22 =+Q11 ; Rueckzugshoehe
43 FN 17: SYSWRITE ID 30 NR5 =+Q1 ; Laenge
44 FN 17: SYSWRITE ID 30 NR6 =+Q2 ; Breite
45 Q3 = ( ABS Q201 ) * Q15 - Q369 ; Tiefe - Aufmass Tiefe
46 Q4 = ABS Q202 ; Betrag Zustellung
47 FN 9: IF +Q215 EQU +2 GOTO LBL 30
48 FN 17: SYSWRITE ID 31 NR52 =+1 ; default  M110 schruppen und Schlichten
49 FN 11: IF +Q439 GT +2 GOTO LBL "schruppenmitm110"
50 FN 17: SYSWRITE ID 31 NR52 =+0 ;  kein m110 beim schruppen
51 LBL "schruppenmitm110"
52 CALL LBL 95
53 LBL 30
54 FN 9: IF +Q215 EQU +1 GOTO LBL 99
55 FN 9: IF +Q368 EQU +0 GOTO LBL 27
56 FN 17: SYSWRITE ID 30 NR1 =+Q200 ; Sicherheitsabstand
57 FN 17: SYSWRITE ID 30 NR5 =+Q218 ; Laenge
58 FN 17: SYSWRITE ID 30 NR6 =+Q219 ; Breite
59 FN 17: SYSWRITE ID 30 NR10 =+Q385 ; Vorschub
60 FN 17: SYSWRITE ID 31 NR21 =+Q385 ; Vorschub Pendeln
61 FN 17: SYSWRITE ID 31 NR27 =+Q368 ; Streifenbreite Schlichtaufmass
62 FN 9: IF +Q338 EQU +0 GOTO LBL 26 ;
63 Q4 = ABS Q338 ; Betrag Zustellung beim Schlichten
64 Q13 = Q200
65 FN 17: SYSWRITE ID 31 NR52 =+1 ; default  M110 schruppen und Schlichten
66 FN 11: IF +Q439 GT +0 GOTO LBL "schlichtenmitm110"
67 FN 17: SYSWRITE ID 31 NR52 =+0 ;  kein m110 beim schlichten
68 LBL "schlichtenmitm110"
69 CALL LBL 95
70 FN 9: IF +0 EQU +0 GOTO LBL 27
71 LBL 26
72 Q10 = Q203 + SGN Q201 * ( ABS Q201 - ( ABS Q200 + ABS Q369 ) / Q15 ) ;
73 Q8 = Q10 * Q15 + Q14 ; Zyklusanfangshoehe transformiert
74 FN 17: SYSWRITE ID 30 NR1 =+Q200 ; Sicherheitsabstand
75 FN 17: SYSWRITE ID 30 NR2 =+0 ; Tiefe
76 FN 17: SYSWRITE ID 30 NR3 =+Q4 ; Betrag Zustelltiefe
77 FN 17: SYSWRITE ID 31 NR24 =+Q8 ; Zyklusanfangshoehe
78 FN 17: SYSWRITE ID 31 NR36 =+Q8 ; Zyklusendhoehe
79 L  Z+Q10 R0 FMAX
80 FN 17: SYSWRITE ID 31 NR52 =+1 ; default  M110 schruppen und Schlichten
81 FN 11: IF +Q439 GT +0 GOTO LBL "seitenschlichtenmitm110"
82 FN 17: SYSWRITE ID 31 NR52 =+0 ;  kein m110 beim schlichten
83 LBL "seitenschlichtenmitm110"
84 FN 22: FUNCT Q0 FNR55 PIN0 PIN0 PIN0 PEX+Q366 ; Nut rufen
85 LBL 27
86 FN 17: SYSWRITE ID 31 NR35 =+0 ; sichere Hoehe
87 FN 9: IF +Q369 EQU +0 GOTO LBL 99
88 Q10 = Q203 + SGN Q201 * ( ABS Q201 - ( ABS Q200 + ABS Q369 ) / Q15 ) ;
89 Q8 = Q15 * Q10 + Q14 ; Zyklusanfangshoehe transformiert
90 Q3 = ABS ( Q369 ) ;
91 Q3 = SGN Q201 * Q3
92 FN 17: SYSWRITE ID 30 NR1 =+Q200 ; Sicherheitsabstand
93 FN 17: SYSWRITE ID 30 NR2 =+Q3 ; Endtiefe
94 FN 17: SYSWRITE ID 30 NR3 =+Q369 ; Betrag Zustelltiefe
95 FN 17: SYSWRITE ID 30 NR10 =+Q385 ; Vorschub
96 FN 17: SYSWRITE ID 31 NR21 =+Q206 ; Vorschub Pendeln
97 FN 17: SYSWRITE ID 31 NR24 =+Q8 ; Zyklusanfangshoehe
98 FN 17: SYSWRITE ID 31 NR27 =+0 ; kein Schlichtaufmass
99 FN 17: SYSWRITE ID 31 NR36 =+Q8 ; Zyklusendhoehe
100 L  Z+Q10 R0 FMAX ; jeweilige Zyklusanfangshoehe
101 FN 17: SYSWRITE ID 31 NR52 =+1 ; default  M110 schruppen und Schlichten
102 FN 11: IF +Q439 GT +1 GOTO LBL "tiefenschlichtenmitm110"
103 FN 17: SYSWRITE ID 31 NR52 =+0 ;  kein m110 beim schlichten
104 LBL "tiefenschlichtenmitm110"
105 FN 22: FUNCT Q0 FNR55 PIN0 PIN0 PIN0 PEX+Q366 ; Nut rufen
106 FN 9: IF +0 EQU +0 GOTO LBL 99
107 LBL 95
108 Q6 = SGN Q201 * Q4
109 FN 0: Q5 =+0 ; akt. Zustelltiefe
110 LBL 96
111 Q9 = Q203 + SGN Q201 * ( Q5 - ABS Q13 ) / Q15
112 Q7 = Q9 * Q15 + Q14 ; Zyklusanfangshoehe transformiert
113 FN 1: Q5 =+Q5 + +Q4 ; akt. Zustelltiefe + Zustellung
114 FN 12: IF +Q5 LT +Q3 GOTO LBL 97
115 Q6 = ( Q3 + Q4 - Q5 ) * SGN Q201
116 LBL 97
117 FN 1: Q8 =+Q7 + +Q6
118 FN 1: Q10 =+Q9 + +Q6
119 FN 17: SYSWRITE ID 31 NR24 =+Q7 ;  Zyklusanfangshoehe
120 FN 17: SYSWRITE ID 31 NR36 =+Q8 ; Zyklusendhoehe
121 FN 17: SYSWRITE ID 30 NR2 =+Q6 ;  akt. Tiefe
122 FN 17: SYSWRITE ID 30 NR3 =+Q4 ; Betrag Zustelltiefe
123 L  Z+Q9 R0 FMAX ; zur Zyklusanfangshoehe
124 FN 22: FUNCT Q0 FNR55 PIN0 PIN0 PIN0 PEX+Q366 ; Nut
125 FN 12: IF +Q5 LT +Q3 GOTO LBL 96 ; Tiefe erreicht
126 LBL 0
127 LBL 99
128 CYCL DEF 10.0 DREHUNG
129 CYCL DEF 10.1 IROT-Q374
130 L  Z+Q12 R0 FMAX
131 FN 10: IF +Q195 NE +1 GOTO LBL 100
132 FN 9: IF +Q301 EQU +0 GOTO LBL 101
133 L  Z+Q11 R0 FMAX
134 LBL 100
135 L  Z+Q11 R0 FMAX
136 LBL 101
137 FN 22: FUNCT Q0 FNR121 PIN1 PIN0 PIN18 ;RESTORE Q0-Q18
138 FN 22: FUNCT Q0 FNR2
139 END PGM SLOTMILL MM 
