20 L Z+100 R0 FMAX M2
21 LBL 10
22 Q16 = Q6 - Q10 - Q108
23 FN 0: Q20 = +1
24 FN 0: Q24 = +Q4
25 Q25 = (Q5 - Q4) / Q13
26 CYCL DEF 7.0 POINT ZÉRO
27 CYCL DEF 7.1 X+Q1
28 CYCL DEF 7.2 Y+Q2
29 CYCL DEF 7.3 Z+Q3
30 CYCL DEF 10.0 ROTATION
31 CYCL DEF 10.1 ROT+Q8
32 L X+0 Y+0 R0 FMAX
33 L Z+5 R0 F1000 M3
34 LBL 1
35 CC Z+0 X+0
36 LP PR+Q16 PA+Q24 FQ11
37 L Y+Q7 R0 FQ12
38 FN 1: Q20 = +Q20 + +1
39 FN 1: Q24 = +Q24 + +Q25
40 FN 11: IF +Q20 GT +Q13 GOTO LBL 99
41 LP PR+Q16 PA+Q24 FQ11
42 L Y+0 R0 FQ12
43 FN 1: Q20 = +Q20 + +1
44 FN 1: Q24 = +Q24 + +Q25
45 FN 12: IF +Q20 LT +Q13 GOTO LBL 1
46 LBL 99
47 CYCL DEF 10.0 ROTATION
48 CYCL DEF 10.1 ROT+0
49 CYCL DEF 7.0 POINT ZÉRO
50 CYCL DEF 7.1 X+0
51 CYCL DEF 7.2 Y+0
52 CYCL DEF 7.3 Z+0
53 LBL 0
54 END PGM CYLIN
HEIDENHAIN TNC 320
Dégager l'outil, fin du programme
Sous-programme 10: Usinage
Calcul surépaisseur et outil par rapport au rayon du cylindre
Initialiser le compteur pour les pas fraisés
Copier l'angle initial dans l'espace (plan Z/X)
Calculer l'incrément angulaire
Décaler le point zéro au centre du cylindre (axe X)
Calculer la position angulaire dans le plan
Prépositionnement dans le plan, au centre du cylindre
Prépositionnement dans l'axe de broche
Initialiser le pôle dans le plan Z/X
Aborder position initiale du cylindre, obliquement dans la matière
Coupe longitudinale dans le sens Y+
Actualiser le compteur
Actualiser l'angle dans l'espace
Demande si travail terminé, si oui, aller à la fin
Aborder l'„arc" pour exécuter la coupe longitudinale suivante
Coupe longitudinale dans le sens Y–
Actualiser le compteur
Actualiser l'angle dans l'espace
Demande si travail non encore terminé, si oui, retour à LBL 1
Annuler la rotation
Annuler le décalage du point zéro
Fin du sous-programme
443