BEGIN PGM 264 MM 
Q200 = ABS Q200
Q202 = ABS Q202
Q204 = ABS Q204
Q206 = ABS Q206
Q207 = ABS Q207
Q253 = ABS Q253
Q256 = ABS Q256
Q257 = ABS Q257
Q258 = ABS Q258
Q335 = ABS Q335
Q359 = ABS Q359
;Massfaktor abfragen
FN 18: SYSREAD Q0 = ID210 NR4 IDX1
FN 10: IF +Q0 NE +1 GOTO LBL 205
FN 18: SYSREAD Q0 = ID210 NR4 IDX2
FN 10: IF +Q0 NE +1 GOTO LBL 205
FN 18: SYSREAD Q0 = ID210 NR4 IDX3
FN 10: IF +Q0 NE +1 GOTO LBL 205
FN 9: IF +0 EQU +0 GOTO LBL 204
LBL 205
FN 14: ERROR= 1007
LBL 204
FN 17: SYSWRITE ID 212 =+3
QL12 = Q512
FN 10: IF +QL12 NE +0 GOTO LBL 203
QL12 = Q207
LBL 203
;
DECLARE STRING QS30
QS30 = SYSSTR( ID10025 NR1 )
DECLARE STRING QS31 = "CfgGeoCycle"
;******** M3 / M4 ***********
DECLARE STRING QS32 = "displaySpindleErr"
Q0 = CFGREAD( KEY_QS30 TAG_QS31 ATR_QS32 )
FN 9: IF +Q0 EQU +0 GOTO LBL 111
FN 9: IF +Q110 EQU +1 GOTO LBL 111
FN 9: IF +Q110 EQU +0 GOTO LBL 111
FN 14: ERROR= 1000
LBL 111
;
FN 18: SYSREAD Q25 = ID200 NR1
DECLARE STRING QS32 = "displayDepthErr"
Q2 = CFGREAD( KEY_QS30 TAG_QS31 ATR_QS32 )
FN 9: IF +Q2 EQU +0 GOTO LBL 206
FN 11: IF +Q201 GT +0 GOTO LBL 207
FN 11: IF +Q356 GT +0 GOTO LBL 207
FN 12: IF +Q358 LT +0 GOTO LBL 206
FN 9: IF +Q358 EQU +0 GOTO LBL 206
LBL 207
FN 14: ERROR= 1077
LBL 206
FN 10: IF +Q109 NE -1 GOTO LBL 198
FN 14: ERROR= 1001
LBL 198
Q18 = ( Q335 - ABS Q239 ) / 2
FN 11: IF +Q18 GT +Q25 GOTO LBL 201
FN 14: ERROR= 1003
LBL 201
Q16 = ABS Q201 + ABS Q239 / 3
Q17 = ABS Q356
FN 12: IF +Q16 LT +Q17 GOTO LBL 202
FN 9: IF +Q17 EQU +0 GOTO LBL 202
FN 14: ERROR= 1070
LBL 202
FN 10: IF +Q351 NE +0 GOTO LBL 196
FN 14: ERROR= 1069
LBL 196
FN 9: IF +Q358 EQU +0 GOTO LBL "Check_OFFS_SINK"
FN 11: IF +Q359 GT +0 GOTO LBL "Check_OFFS_SINK"
FN 14: ERROR= 1118
LBL "Check_OFFS_SINK"
FN 9: IF +Q201 EQU +0 GOTO LBL 253
Q356 = ABS Q356 * ( - 1 )
Q358 = ABS Q358 * ( - 1 )
FN 12: IF +Q201 LT +0 GOTO LBL 197
Q356 = ABS Q356
Q358 = ABS Q358
FN 9: IF +0 EQU +0 GOTO LBL 195
LBL 253
FN 9: IF +Q356 EQU +0 GOTO LBL 252
FN 12: IF +Q356 LT +0 GOTO LBL 197
FN 9: IF +0 EQU +0 GOTO LBL 195
LBL 252
FN 9: IF +Q358 EQU +0 GOTO LBL 254
FN 12: IF +Q358 LT +0 GOTO LBL 197
LBL 195
FN 0: Q30 =-1
FN 9: IF +0 EQU +0 GOTO LBL 194
LBL 197
FN 0: Q30 =+1
LBL 194
CALL LBL 4
FN 18: SYSREAD Q196 = ID210 NR3
FN 17: SYSWRITE ID 210 NR3 =+0
FN 1: Q19 =+Q203 + +Q200
Q38 = ABS Q200
Q39 = ABS Q204
FN 11: IF +Q38 GT +Q39 GOTO LBL 7
FN 1: Q19 =+Q203 + +Q204
LBL 7
FN 1: Q20 =+Q203 + +Q200
FN 1: Q24 =+Q203 + +Q356
FN 0: Q15 =+Q203
FN 0: Q34 =+Q258
FN 0: Q22 =+Q202
FN 0: Q35 =+0
Q10 = Q203 + Q201
Q11 = Q10 + ABS Q239 * Q30
Q13 = Q203 + Q358
L  Z+Q20 R0 FMAX
FN 9: IF +Q356 EQU +0 GOTO LBL 31
FN 4: Q21 =+Q34 DIV +Q356
LBL 2
FN 1: Q35 =+Q35 + -Q22
FN 9: IF +Q30 EQU -1 GOTO LBL 50
FN 11: IF +Q35 GT +Q356 GOTO LBL 3
FN 0: Q35 =+Q356
LBL 3
FN 9: IF +0 EQU +0 GOTO LBL 51
LBL 50
FN 12: IF +Q35 LT +Q356 GOTO LBL 51
FN 0: Q35 =+Q356
LBL 51
FN 2: Q36 =+Q203 - -Q35
FN 9: IF +Q257 EQU +0 GOTO LBL 6
LBL 5
FN 2: Q15 =+Q15 - +Q257
FN 9: IF +Q30 EQU -1 GOTO LBL 40
FN 12: IF +Q15 LT +Q36 GOTO LBL 6
FN 9: IF +0 EQU +0 GOTO LBL 41
LBL 40
FN 11: IF +Q15 GT +Q36 GOTO LBL 6
LBL 41
L  Z+Q15 R0 FQ206
L IZ+Q256 F3000
FN 9: IF +Q30 EQU -1 GOTO LBL 42
FN 11: IF +Q15 GT +Q36 GOTO LBL 5
FN 9: IF +0 EQU +0 GOTO LBL 6
LBL 42
FN 12: IF +Q15 LT +Q36 GOTO LBL 5
LBL 6
L  Z+Q36 R0 FQ206
FN 0: Q15 =+Q36
FN 9: IF +Q35 EQU +Q356 GOTO LBL 45
L  Z+Q20 R0 FMAX
FN 1: Q37 =+Q36 + +Q34
L  Z+Q37 R0 FMAX
FN 9: IF +0 EQU +0 GOTO LBL 2
LBL 45
LBL 31
Q26 = Q335 / 2 ; GEW.-RADIUS 
Q27 = ( Q26 - Q25 ) / 2 ; CCX-VERSATZ 
Q28 = Q26 - Q27 ; PR 
Q29 = Q27 ; EINFAHR-R. 
FN 9: IF +Q109 EQU +0 GOTO LBL 230
FN 9: IF +Q109 EQU +6 GOTO LBL 230
FN 9: IF +Q109 EQU +1 GOTO LBL 231
FN 9: IF +Q109 EQU +7 GOTO LBL 231
FN 9: IF +Q109 EQU +2 GOTO LBL 232
FN 9: IF +Q109 EQU +8 GOTO LBL 232
LBL 230
FN 18: SYSREAD Q31 = ID270 NR1 IDX2
FN 18: SYSREAD Q32 = ID270 NR1 IDX3
FN 9: IF +0 EQU +0 GOTO LBL 233
LBL 231
FN 18: SYSREAD Q31 = ID270 NR1 IDX3
FN 18: SYSREAD Q32 = ID270 NR1 IDX1
FN 9: IF +0 EQU +0 GOTO LBL 233
LBL 232
FN 18: SYSREAD Q31 = ID270 NR1 IDX1
FN 18: SYSREAD Q32 = ID270 NR1 IDX2
LBL 233
CC  X+Q31  Y+Q32
FN 9: IF +Q358 EQU +0 GOTO LBL 35
LBL 34
; SENKEN STIRNSEITE 
Q14 = Q359 / 2
Q12 = Q31 - Q14
L  Z+Q13 R0 FQ253 M110
CC  X+Q12 IY+0
CP  PA+180 DR+ FQ206
CC  X+Q31  Y+Q32
CP IPA+360 DR+
CC  X+Q12 IY+0
CP  PA+0 DR+
CC  X+Q31  Y+Q32
LP  PR+0  PA+0 R0 FQ253 M111
LBL 35
FN 9: IF +Q201 EQU +0 GOTO LBL 99
FN 12: IF +QL239 LT +0 GOTO LBL 20
FN 3: QL239 =+QL239 * +Q30
FN 12: IF +Q351 LT +0 GOTO LBL 25
; Gleichlauf Rechtsgewinde GF 
; Z+ DR+ RL 
LBL 11
L  Z+Q10 R0 FQ253 M110
CC IX-Q27 IY+0
APPR PCT  PR+Q28  PA+180  CCA180 R+Q29 RL FQL12
CC  X+Q31  Y+Q32
CP IPA+360 IZ+QL239 DR+ FQ207
CC IX-Q27 IY+0
DEP CT  CCA180 R+Q29 FQ207
CC  X+Q31  Y+Q32
LP  PR+0  PA+0 R0 FQ253 M111
FN 9: IF +0 EQU +0 GOTO LBL 99
; Gegenlauf Rechtsgewinde GF 
; Z- DR- RR 
LBL 25
CC IX-Q27 IY+0
L  Z+Q11 R0 FQ253 M110
APPR PCT  PR+Q28  PA+180  CCA180 R+Q29 RR FQL12
CC  X+Q31  Y+Q32
CP IPA-360 IZ-QL239 DR- FQ207
CC IX-Q27 IY+0
DEP CT  CCA180 R+Q29 FQ207
CC  X+Q31  Y+Q32
LP  PR+0  PA+0 R0 FQ253 M111
FN 9: IF +0 EQU +0 GOTO LBL 99
; Gegenlauflauf Linksgewinde GF 
; Z+ DR- RR 
LBL 20
FN 3: QL239 =+QL239 * +Q30
FN 11: IF +Q351 GT +0 GOTO LBL 27
CC IX-Q27 IY+0
L  Z+Q10 R0 FQ253 M110
APPR PCT  PR+Q28  PA+180  CCA180 R+Q29 RR FQL12
CC  X+Q31  Y+Q32
CP IPA-360 IZ-QL239 DR- FQ207
CC IX-Q27 IY+0
DEP CT  CCA180 R+Q29 FQ207
CC  X+Q31  Y+Q32
LP  PR+0  PA+0 R0 FQ253 M111
FN 9: IF +0 EQU +0 GOTO LBL 99
; Gleichlauf Linksgewinde GF 
; Z- DR+ RL 
LBL 27
CC IX-Q27 IY+0
L  Z+Q11 R0 FQ253 M110
APPR PCT  PR+Q28  PA+180  CCA180 R+Q29 RL FQL12
CC  X+Q31  Y+Q32
CP IPA+360 IZ+QL239 DR+ FQ207
CC IX-Q27 IY+0
DEP CT  CCA180 R+Q29 FQ207
CC  X+Q31  Y+Q32
LP  PR+0  PA+0 R0 FQ253 M111
LBL 99
LBL 4
FN 3: QL239 =+Q239 * +Q30
FN 3: Q200 =+Q200 * +Q30
FN 3: Q202 =+Q202 * +Q30
FN 3: Q204 =+Q204 * +Q30
FN 3: Q256 =+Q256 * +Q30
FN 3: Q257 =+Q257 * +Q30
FN 3: Q258 =+Q258 * +Q30
LBL 0
L  Z+Q20 R0 FMAX
L  Z+Q19 R0 FMAX
FN 17: SYSWRITE ID 210 NR3 =+Q196
LBL 254
END PGM 264 MM 
