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 PUNTO CERO
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 GIRO
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 R0 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 GIRO
49 CYCL DEF 10.1 ROT+0
50 CYCL DEF 7.0 PUNTO CERO
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 ZYLIN
HEIDENHAIN iTNC 530
Llamada al mecanizado
Desplazar libremente la herramienta, final del programa
Subprograma 10: Mecanizado
Calcular la sobremedida y la hta. en relación al radio del cílindro
Fijar el contador de cortes
Copiar el ángulo inicial en el espacio (plano Z/X)
Calcular el paso angular
Desplazar el punto cero al centro del cilindro (eje X)
Calcular la posición angular en el plano
Posicionamiento previo en el plano en el centro del cilindro
Posicionamiento previo en el eje de la hta.
Fijar el polo en el plano Z/X
Llegada a la posición inicial sobre el cilindro, profundización inclinada
en la pieza
Tramo longitudinal en la dirección Y+
Actualizar el contador de cortes
Actualización del ángulo en el espacio
Pregunta si está terminado, en caso afirmativo salto al final
Aproximación al "arco" para el siguiente tramo longitudinal
Tramo longitudinal en la dirección Y-
Actualizar el contador de cortes
Actualización del ángulo en el espacio
Pregunta si no está terminado, en caso afirmativo salto al LBL 1
Anular el giro
Cancelar el desplazamiento del punto cero
Final subprograma
581