BEGIN PGM 3 MM 
Q93 = 1
Q94 = 0
Q95 = 0
CALL PGM Val
CALL PGM error
FN 17: SYSWRITE ID 212 =+3
;**********************************
;--Spindel-Achse Z
Q15 = 1 ;Hauptachse
Q16 = 2 ;Nebenachse
FN 11: IF +Q109 GT +1 GOTO LBL 38
;--Spindel-Achse Y
Q15 = 3
Q16 = 1
FN 9: IF +Q109 EQU +1 GOTO LBL 38
;--Spindel-Achse X
Q15 = 2
Q16 = 3
LBL 38
FN 18: SYSREAD Q82 = ID270 NR1 IDXQ15 ;Hauptachse
FN 18: SYSREAD Q83 = ID270 NR1 IDXQ16 ;Nebenachse
FN 1: Q28 =+Q109 + +1
FN 18: SYSREAD Q28 = ID270 NR1 IDXQ28
FN 18: SYSREAD Q18 = ID220 NR2 IDX1
FN 18: SYSREAD Q19 = ID220 NR2 IDX2
Q82 = Q82 - Q108
CYCL DEF 7.0 NULLPUNKT
CYCL DEF 7.1 IX+Q82
CYCL DEF 7.2 IY+Q83
Q42 = ABS Q32
Q43 = ABS Q33
Q41 = 0
FN 11: IF +Q42 GT +Q43 GOTO LBL 13
Q41 = Q33
Q33 = Q32
Q32 = Q41
CYCL DEF 10.0 DREHUNG
CYCL DEF 10.1 IROT+90
LBL 13
;**********************************
Q70 = ( Q33 - 2 * Q108 ) / 2 ;Schlicht
Q71 = ABS Q32 - 2 * Q108 - 2 * ABS Q70
FN 11: IF +Q32 GT +0 GOTO LBL 12
Q70 = NEG Q70
Q71 = NEG Q71
LBL 12
Q72 = Q108 + Q70
Q29 = ABS Q21 / Q22
Q27 = INT Q29
Q24 = FRAC Q29
FN 9: IF +Q24 EQU +0 GOTO LBL 105
Q27 = Q27 + 1
LBL 105
Q23 = ABS Q22 * Q24
Q22 = SGN Q21 * Q22
Q23 = SGN Q21 * Q23
Q20 = SGN Q21 * Q20
L IX+Q70 R0 FQ26
L IZ+Q20 R0 FQ26
;**********************************
LBL 103
FN 1: Q25 =+Q25 + +1
FN 12: IF +Q25 LT +Q27 GOTO LBL 100
FN 9: IF +Q23 EQU +0 GOTO LBL 100
L IZ+Q23 R0 FQ26
FN 9: IF +0 EQU +0 GOTO LBL 104
LBL 100
L IZ+Q22 R0 FQ26
LBL 104
CALL LBL 1
FN 12: IF +Q25 LT +Q27 GOTO LBL 103
CALL LBL 2
FN 9: IF +0 EQU +0 GOTO LBL 111
;**********************************
LBL 1
L IX+Q71 R0 FQ37
Q71 = NEG Q71
LBL 0
LBL 2
Q75 = Q33 / 2 - Q108
Q76 = Q75 / 2
Q77 = Q75 * 2
CT IX+0 IY+Q75 FQ37
CT IX+0 IY-Q77
CT IX+0 IY+Q77
L IX+Q71 IY+0
CT IX+0 IY-Q77
L IX-Q71 IY+0
CT IX+0 IY+Q77
CT IX+0 IY-Q75
LBL 0
LBL 111
FN 9: IF +Q41 EQU +0 GOTO LBL 14
CYCL DEF 10.0 DREHUNG
CYCL DEF 10.1 IROT-90
LBL 14
CYCL DEF 7.0 NULLPUNKT
CYCL DEF 7.1 IX-Q82
CYCL DEF 7.2 IY-Q83
L  Z+Q28 R0 FMAX
Q82 = Q82 + Q108
L  X+Q82  Y+Q83 R0 FMAX
Q93 = 0
END PGM 3 MM 
