20 CALL LBL 10
21 L Z+100 R0 FMAX M2
22 LBL 10
23 Q16 = Q6 - Q10 - Q108
24 FN 0: Q20 = +1
25 FN 0: Q24 = +Q4
26 Q25 = (Q5 - Q4) / Q13
27 CYCL DEF 7.0 POINT ZÉRO
28 CYCL DEF 7.1 X+Q1
29 CYCL DEF 7.2 Y+Q2
30 CYCL DEF 7.3 Z+Q3
31 CYCL DEF 10.0 ROTATION
32 CYCL DEF 10.1 ROT+Q8
33 L X+0 Y+0 R0 FMAX
34 L Z+5 R0 F1000 M3
35 LBL 1
36 CC Z+0 X+0
37 LP PR+Q16 PA+Q24 FQ11
38 L Y+Q7 R0 FQ12
39 FN 1: Q20 = +Q20 + +1
40 FN 1: Q24 = +Q24 + +Q25
41 FN 11: IF +Q20 GT +Q13 GOTO LBL 99
42 LP PR+Q16 PA+Q24 FQ11
43 L Y+0 Z+0 FQ12
44 FN 1: Q20 = +Q20 + +1
45 FN 1: Q24 = +Q24 + +Q25
46 FN 12: IF +Q20 LT +Q13 GOTO LBL 1
47 LBL 99
48 CYCL DEF 10.0 ROTATION
49 CYCL DEF 10.1 ROT+0
50 CYCL DEF 7.0 POINT ZÉRO
51 CYCL DEF 7.1 X+0
52 CYCL DEF 7.2 Y+0
53 CYCL DEF 7.3 Z+0
54 LBL 0
55 END PGM CYLIN
iTNC 530 HEIDENHAIN
Appeler l'usinage
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
579