0  BEGIN PGM RECPOCMILL 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 NR10 =+Q207 ; Vorschub
13 FN 17: SYSWRITE ID 30 NR11 =+Q351 ;Gleichlauf-Gegenlauf
14 FN 17: SYSWRITE ID 31 NR21 =+Q206 ; Vorschub Pendeln
15 FN 17: SYSWRITE ID 31 NR23 =+Q203 ; Oberkante Werkstck
16 FN 17: SYSWRITE ID 31 NR27 =+0 ;Streifenbreite rcksetzen
17 FN 17: SYSWRITE ID 31 NR35 =+128 ; Rueckzugsmodus
18 FN 17: SYSWRITE ID 31 NR15 =+Q370 ; Ueberlappungsfaktor
19 Q11 = Q203 - SGN Q201 * ( Q204 ) ; Sichere Hoehe
20 Q12 = Q203 - SGN Q201 * ( Q200 ) ; Sicherheitsabst
21 Q18 = SGN Q201
22 Q19 = ABS ( Q366 )
23 FN 10: IF +Q18 NE -1 GOTO LBL 41
24 FN 12: IF +Q12 LT +Q11 GOTO LBL 42
25 Q11 = Q12
26 FN 9: IF +0 EQU +0 GOTO LBL 42
27 LBL 41
28 FN 12: IF +Q11 LT +Q12 GOTO LBL 42
29 Q11 = Q12
30 LBL 42
31 FN 17: SYSWRITE ID 31 NR22 =+Q11 ; Rueckzugshoehe
32 FN 18: SYSREAD Q14 = ID220 NR2 IDX3 ; Verschiebung
33 FN 18: SYSREAD Q16 = ID210 NR4 IDX1 ; Skalierung X
34 FN 18: SYSREAD Q17 = ID210 NR4 IDX2 ; Skalierung Y
35 FN 18: SYSREAD Q15 = ID210 NR4 IDX3 ; Skalierung Z
36 Q13 = Q200 ; S-Abst umladen
37 LBL 24
38 Q1 = Q218 - ( 2 * Q368 / Q16 )
39 Q2 = Q219 - ( 2 * Q368 / Q17 )
40 FN 17: SYSWRITE ID 30 NR5 =+Q1 ; Laenge
41 FN 17: SYSWRITE ID 30 NR6 =+Q2 ; Breite
42 FN 2: Q8 =+Q220 - +Q368
43 FN 11: IF +Q8 GT +0 GOTO LBL 25
44 FN 0: Q8 =+0
45 LBL 25
46 FN 17: SYSWRITE ID 30 NR9 =+Q8 ; Rundungsradius
47 Q3 = ( ABS Q201 ) * Q15 - Q369 ; Tiefe - Aufmass Tiefe
48 Q4 = ABS Q202 ; Betrag Zustellung
49 FN 9: IF +Q215 EQU +2 GOTO LBL 30
50 CALL LBL 95
51 LBL 30
52 FN 9: IF +Q215 EQU +1 GOTO LBL 99
53 FN 9: IF +Q368 EQU +0 GOTO LBL 27
54 FN 17: SYSWRITE ID 30 NR1 =+Q200 ; Sicherheitsabstand
55 FN 17: SYSWRITE ID 30 NR5 =+Q218 ; Laenge
56 FN 17: SYSWRITE ID 30 NR6 =+Q219 ; Breite
57 FN 17: SYSWRITE ID 30 NR9 =+Q220 ; Rundungsradius
58 FN 17: SYSWRITE ID 30 NR10 =+Q385 ; Vorschub
59 FN 17: SYSWRITE ID 31 NR21 =+Q385 ; Vorschub Pendeln
60 FN 17: SYSWRITE ID 31 NR27 =+Q368 ; Streifenbreite Schlichtaufmass
61 FN 9: IF +Q338 EQU +0 GOTO LBL 26 ;
62 Q4 = ABS Q338 ; Betrag Zustellung beim Schlichten
63 Q13 = Q200
64 Q19 = 0
65 CALL LBL 95
66 FN 9: IF +0 EQU +0 GOTO LBL 27
67 LBL 26
68 Q19 = 0
69 Q10 = Q203 + SGN Q201 * ( ABS Q201 - ( ABS Q200 + ABS Q369 ) / Q15 ) ;
70 Q8 = Q10 * Q15 + Q14 ; Zyklusanfangshoehe transformiert
71 FN 17: SYSWRITE ID 30 NR1 =+Q200 ; Sicherheitsabstand
72 FN 17: SYSWRITE ID 30 NR2 =+0 ; Tiefe
73 FN 17: SYSWRITE ID 30 NR3 =+Q4 ; Betrag Zustelltiefe
74 FN 17: SYSWRITE ID 31 NR24 =+Q8 ; Zyklusanfangshoehe
75 FN 17: SYSWRITE ID 31 NR36 =+Q8 ; Zyklusendhoehe
76 L  Z+Q10 R0 FMAX ; jeweilige Zyklusanfangshoehe
77 FN 22: FUNCT Q0 FNR53 PIN0 PIN0 PIN0 PEX+Q19
78 LBL 27
79 FN 17: SYSWRITE ID 31 NR35 =+0 ; sichere Hoehe
80 FN 9: IF +Q369 EQU +0 GOTO LBL 99
81 Q10 = Q203 + SGN Q201 * ( ABS Q201 - ( ABS Q200 + ABS Q369 ) / Q15 ) ;
82 Q8 = Q15 * Q10 + Q14 ; Zyklusanfangshoehe transformiert
83 Q3 = ABS ( Q369 ) ;
84 Q3 = SGN Q201 * Q3
85 FN 17: SYSWRITE ID 30 NR1 =+Q200 ; Sicherheitsabstand
86 FN 17: SYSWRITE ID 30 NR2 =+Q3 ;  Endtiefe
87 FN 17: SYSWRITE ID 30 NR3 =+Q369 ; Betrag Zustelltiefe
88 FN 17: SYSWRITE ID 30 NR10 =+Q385 ; Vorschub
89 FN 17: SYSWRITE ID 31 NR21 =+Q206 ; Vorschub Pendeln
90 FN 17: SYSWRITE ID 31 NR24 =+Q8 ; akt. Tiefe transformiert
91 FN 17: SYSWRITE ID 31 NR27 =+0 ; Streifenbreite Schlichtaufmass 0
92 FN 17: SYSWRITE ID 31 NR36 =+Q8 ; Zyklusendhoehe
93 L  Z+Q10 R0 FMAX ; jeweilige Zyklusanfangshoehe
94 FN 22: FUNCT Q0 FNR53 PIN0 PIN0 PIN0 PEX+Q366 ; Rechtecktasche
95 FN 9: IF +0 EQU +0 GOTO LBL 99
96 LBL 95
97 Q6 = SGN Q201 * Q4
98 FN 0: Q5 =+0 ; akt. Zustelltiefe
99 LBL 96
100 Q9 = Q203 + SGN Q201 * ( Q5 - ABS Q13 ) / Q15 ;
101 Q7 = Q9 * Q15 + Q14 ;
102 FN 1: Q5 =+Q5 + +Q4 ; akt. Zustelltiefe + Zustellung
103 FN 12: IF +Q5 LT +Q3 GOTO LBL 97
104 Q6 = ( Q3 + Q4 - Q5 ) * SGN Q201
105 LBL 97
106 FN 1: Q8 =+Q7 + +Q6
107 FN 1: Q10 =+Q9 + +Q6
108 FN 17: SYSWRITE ID 31 NR24 =+Q7 ;  Zyklusanfangshoehe
109 FN 17: SYSWRITE ID 31 NR36 =+Q8 ; Zyklusendhoehe
110 FN 17: SYSWRITE ID 30 NR2 =+Q6 ;  Tiefe (aktuelle bzw. End-)
111 FN 17: SYSWRITE ID 30 NR3 =+Q4 ; Betrag Zustelltiefe
112 L  Z+Q9 R0 FMAX ; zur Zyklusanfangshoehe
113 FN 22: FUNCT Q0 FNR53 PIN0 PIN0 PIN0 PEX+Q19 ; Rechtecktasche
114 FN 12: IF +Q5 LT +Q3 GOTO LBL 96 ; Tiefe erreicht
115 LBL 0
116 LBL 99
117 CYCL DEF 10.0 ROTATION
118 CYCL DEF 10.1 IROT-Q224
119 L  Z+Q12 R0 FMAX
120 FN 10: IF +Q195 NE +1 GOTO LBL 100
121 FN 9: IF +Q301 EQU +0 GOTO LBL 101
122 L  Z+Q11 R0 FMAX
123 LBL 100
124 L  Z+Q11 R0 FMAX
125 LBL 101
126 FN 22: FUNCT Q0 FNR121 PIN1 PIN0 PIN20 ;RESTORE Q0-Q20
127 FN 22: FUNCT Q0 FNR2
128 END PGM RECPOCMILL MM 
