CONTROL NUMÉRICO COMPUTERIZADO
BLOQUE III: PROGRAMACIÓN. FAGOR 8025.
ÍNDICE
ÍNDICE 2
1.- INTRODUCCIÓN
7
1.1.- EL LENGUAJE FAGOR CNC 8025/8030. ___________________________________________ 7 1.2.- ORÍGENES. __________________________________________________________________ 7 1.3.- BLOQUE DE PROGRAMACIÓN ESTÁNDAR. _______________________________________ 7
1.3.1.- Ejemplo_________________________________________________________ 8
1.4.- PROGRAMACIÓN PARAMÉTRICA. _______________________________________________ 9 1.5.- FUNCIONES MÁS UTILIZADAS._________________________________________________ 10 1.6.- FUNCIONES AUXILIARES. _____________________________________________________ 11
1.6.1.- Parada de programa. M00. _________________________________________ 11 1.6.2.- Parada condicional del programa. M01. _______________________________ 11 1.6.3.- Final de programa. M02.___________________________________________ 12 1.6.4.- Final de programa y vuelta a condiciones iniciales. M30.__________________ 12 1.6.5.- Arranque de cabezal. M03 / M04.____________________________________ 12 1.6.6.- Parada del cabezal. M05. __________________________________________ 12 1.6.7.- Código de cambio de herramienta. M06. ______________________________ 12 1.6.8.- Activar y desactivar refrigerante. M08 / M09. ___________________________ 12 1.6.9.- Abrir y cerrar protección. M10 / M11. _________________________________ 12 1.6.10.- Abrir y cerrar almacén de herramientas. M15 / M16. ____________________ 13 1.6.11.- Sujetar y soltar pinza de herramienta. M20 / M21. ______________________ 13 1.6.12.- Abrir y cerrar sujeción de pieza. M17 / M18. __________________________ 13
1.7.- FUNCIONES PREPARATORIAS. ________________________________________________ 13
1.7.1.- Programación absoluta o incremental. G90 / G91._______________________ 13 1.7.2.- Programación en milímetros o pulgadas. G71 / G70._____________________ 14 1.7.3.- Velocidad de avance. G94 / G95. ____________________________________ 15 1.7.4.- Velocidad de corte. G96 / G97.______________________________________ 15
2.- FUNCIONES DE CONTROL DE TRAYECTORIAS (I).
17
2.1.- FUNCIONES DE COMPENSACIÓN. G43/G44. G41/G42/G40. _________________________ 17
2.1.1.- Introducción ____________________________________________________ 17 2.1.2.- Compensación de Radio. G41/G42. __________________________________ 17 2.1.3.- Anulación de Compensación de radio. G40. ___________________________ 18 2.1.4.- Compensación de Longitud (Solo Fresadora). G43.______________________ 18 2.1.5.- Anulación Compensación de Longitud. G44. ___________________________ 19
2.2.- POSICIONAMIENTO RÁPIDO. G00. ______________________________________________ 20
2.2.1.- Descripción y Sintaxis del Bloque____________________________________ 20 2.2.2.- Comentarios sobre la Programación _________________________________ 20 2.2.3.- Ejemplos _______________________________________________________ 20
2.3.- INTERPOLACIÓN LINEAL. G01. _________________________________________________ 23
2.3.1.- Descripción y Sintaxis del Bloque____________________________________ 23 2.3.2.- Comentarios sobre la Programación _________________________________ 23 2.3.3.- Ejemplos _______________________________________________________ 23
2.4.- INTERPOLACIÓN CIRCULAR. G02/G03. __________________________________________ 30
2.4.1.- Descripción y Sintaxis del Bloque____________________________________ 30 2.4.2.- Programación de G02/G03 En coordenadas Cartesianas: punto final y centro _ 31 2.4.3.- Programación de G02/G03 En coordenadas Cartesianas: punto final y Radio _ 31
2.4.4.- Programación de G02/G03 En coordenadas Polares: Centro y ángulo del Punto Final _______________________________________________________________ 33 2.4.5.- Programación del Centro en Coordenadas Absolutas (No Simulada).________ 33 2.4.6.- Ejemplos _______________________________________________________ 34
3.- EJES, SISTEMAS DE COORDENADAS Y LLAMADAS A BLOQUES.
41
3.1.- GUARDAR / RECUPERAR ORIGEN DE COORDENADAS. G31. G32.___________________ 413.1.1.- Descripción y Sintasix_____________________________________________ 41 3.1.2.- Ejemplos _______________________________________________________ 41
3.2.- PRESELECCIÓN DE COTAS. G92. ______________________________________________ 42
3.2.1.- Descripción y Sintaxis del Bloque. ___________________________________ 42 3.2.2.- Limitación de velocidad del Cabezal. G92._____________________________ 42 3.2.3.- Ejemplos _______________________________________________________ 43
3.3.- PRESELECCIÓN DE ORIGEN DE COORDENADAS POLARES. G93.___________________ 46
3.3.1.- Descripción y Sintaxis del Bloque. ___________________________________ 46 3.3.2.- Ejemplos _______________________________________________________ 46
3.4.- TRASLADO DE ORIGEN. G53. G54. G55. G56. G57. G58. G59. _______________________ 50
3.4.1.- Descripción _____________________________________________________ 50 3.4.2.- Carga del Origen ________________________________________________ 50 3.4.3.- Activación del Origen._____________________________________________ 50 3.4.4.- Ejemplos _______________________________________________________ 50
4.- FUNCIONES DE CONTROL DE TRAYECTORIAS (II).
57
4.1.- INTERPOLACIÓN CIRCULAR TANGENTE A LA TRAYECTORIA ANTERIOR. G08. ________ 57
4.1.1.- Descripción y Sintaxis del Bloque____________________________________ 57 4.1.2.- Programación de G08 En coordenadas Cartesianas _____________________ 57 4.1.3.- Programación de G08 En coordenadas Polares (No simulado en WinUnisoft) _ 57 4.1.4.- Ejemplos _______________________________________________________ 58
4.2.- INTERPOLACIÓN CIRCULAR DEFINIDA POR TRES PUNTOS. G09. ___________________ 61
4.2.1.- Descripción y Sintaxis del Bloque____________________________________ 61 4.2.2.- Programación de G09 En coordenadas Cartesianas _____________________ 61 4.2.3.- Programación de G09 En coordenadas Polares ________________________ 61 4.2.4.- Ejemplos _______________________________________________________ 62
4.3.- REDONDEO CONTROLADO DE ARISTAS. G36. ___________________________________ 66
4.3.1.- Descripción y Sintaxis del Bloque____________________________________ 66 4.3.2.- Ejemplos _______________________________________________________ 66
4.4.- ACHAFLANADO CONTROLADO DE ARISTAS. G39. ________________________________ 70
4.4.1.- Descripción y Sintaxis del Bloque____________________________________ 70 4.4.2.- Ejemplos _______________________________________________________ 70
4.5.- ENTRADA Y SALIDA TANGENCIAL. G37/G38. _____________________________________ 74
4.5.1.- Entrada Tangencial. G37. Descripción y Sintaxis del Bloque. ______________ 74 4.5.2.- Salida Tangencial. G38. Descripción y Sintaxis del Bloque.________________ 74 4.5.3.- Ejemplos _______________________________________________________ 75
4.6.- ROSCADO ELECTRÓNICO. G33.________________________________________________ 79
4.6.1.- Descripción Y Sintaxis del Bloque. ___________________________________ 79 4.6.2.- Ejemplos _______________________________________________________ 80
4.7.- INTERPOLACIÓN HELICOIDAL. G02/G03. (NO SIMULADA POR WINUNISOFT) __________ 83
4.7.1.- Descripción y Sintaxis del Bloque. ___________________________________ 83 4.7.2.- Ejemplos _______________________________________________________ 83
5.- SALTOS Y LLAMADAS A BLOQUES, SIMETRÍAS, GIROS Y ESCALAS.
85
5.1.- SALTOS Y LLAMADAS A BLOQUE. G25. G26. G27. G28 G29. ________________________ 855.1.1.- Descripción _____________________________________________________ 85 5.1.2.- Saltos _________________________________________________________ 86 5.1.3.- Llamadas ______________________________________________________ 86 5.1.4.- Ejemplos _______________________________________________________ 87 5.2.- IMAGEN ESPEJO. G10. G11. G12. G13. __________________________________________ 92 5.2.1.- Descripción y Sintaxis_____________________________________________ 92 5.2.2.- Ejemplos _______________________________________________________ 92 5.3.- FACTOR DE ESCALA. G72. ____________________________________________________ 96 5.3.1.- Descripción _____________________________________________________ 96 5.3.2.- Factor de Escala Aplicado a todos los ejes ____________________________ 96 5.3.3.- Factor de Escala aplicado a un solo eje (No simulado).___________________ 96 5.3.4.- Ejemplos _______________________________________________________ 97
5.4.- GIRO DEL SISTEMA DE COORDENADAS. G73.___________________________________ 100
5.4.1.- Descripción ____________________________________________________ 100 5.4.2.- Ejemplos ______________________________________________________ 100
6.- CICLOS FIJOS DE MECANIZADO EN TORNO (I): TRAYECTORIAS RECTAS Y CURVAS.107
6.1.- CICLOS FIJOS DE MECANIZADO EN TORNO. CARACTERÍSTICAS GENERALES. ______ 107 6.2.- TORNEADO DE TRAMOS RECTOS. G81. ________________________________________ 1096.2.1.- Descripción y Sintaxis del Bloque___________________________________ 109 6.2.2.- Ciclo de Trabajo Elemental. _______________________________________ 110 6.2.3.- Comentarios Sobre La Programación. _______________________________ 111 6.2.4.- Ejemplos ______________________________________________________ 112
6.3.- REFRENTADO DE TRAMOS RECTOS. G82.______________________________________ 117
6.3.1.- Descripción y Sintaxis____________________________________________ 117 6.3.2.- Ciclo de Trabajo Elemental. _______________________________________ 118 6.3.3.- Comentarios Sobre La Programación. _______________________________ 119 6.3.4.- Ejemplos ______________________________________________________ 120
6.4.- TORNEADO DE TRAMOS CURVOS. G84.________________________________________ 123
6.4.1.- Descripción y Sintaxis. ___________________________________________ 123 6.4.2.- Ciclo de Trabajo Elemental. _______________________________________ 124 6.4.3.- Ejemplos ______________________________________________________ 126
6.5.- REFRENTADO DE TRAMOS CURVOS. G85. _____________________________________ 130
6.5.1.- Descripción y Sintaxis. ___________________________________________ 130 6.5.2.- Ciclo de Trabajo Elemental. _______________________________________ 131 6.5.3.- Ejemplos ______________________________________________________ 133
7.- CICLOS FIJOS DE MECANIZADO EN TORNO (II): RANURAS, ROSCAS Y TALADROS.139
7.1.- RANURADO EN EL EJE X. G88.________________________________________________ 1397.1.1.- Descripción y Sintaxis. ___________________________________________ 139 7.1.2.- Ciclo de Trabajo Elemental. _______________________________________ 140 7.1.3.- Comentarios Sobre La Programación. _______________________________ 141 7.1.4.- Ejemplos ______________________________________________________ 142
7.2.- RANURADO EN EL EJE Z. G89. ________________________________________________ 147
7.2.1.- Descripción y Sintaxis. ___________________________________________ 147 7.2.2.- Ciclo de Trabajo Elemental. _______________________________________ 148 7.2.3.- Comentarios Sobre La Programación. _______________________________ 149
7.2.4.- Ejemplos ______________________________________________________ 150
7.3.- ROSCADO LONGITUDINAL. G86. ______________________________________________ 154
7.3.1.- Descripción y Sintaxis. ___________________________________________ 154 7.3.2.- Ciclo de Trabajo Elemental. _______________________________________ 156 7.3.3.- Ejemplos ______________________________________________________ 157
7.4.- ROSCADO FRONTAL. G87. ___________________________________________________ 160
7.4.1.- Descripción y Sintaxis. ___________________________________________ 160 7.4.2.- Ciclo de Trabajo Elemental. _______________________________________ 161 7.4.3.- Ejemplos ______________________________________________________ 163
7.5.- TALADRADO. G83. __________________________________________________________ 165
7.5.1.- Descripción y Sintaxis. ___________________________________________ 165 7.5.2.- Ciclo de Trabajo Elemental. _______________________________________ 166 7.5.3.- Comentarios Sobre La Programación. _______________________________ 166 7.5.4.- Ejemplos ______________________________________________________ 167
8.- CICLOS FIJOS DE MECANIZADO EN TORNO (III): MECANIZADO DE PERFILES
COMPUESTOS. 169
8.1.- DESBASTADO EN EL EJE X. G68.______________________________________________ 1698.1.1.- Descripción y Sintaxis del Bloque___________________________________ 169 8.1.2.- Ciclo de trabajo Elemental ________________________________________ 170 8.1.3.- Comentarios Sobre La Programación. _______________________________ 172 8.1.4.- Ejemplos ______________________________________________________ 173
8.2.- DESBASTADO EN EL EJE Z. G69. ______________________________________________ 175
8.2.1.- Descripción y Sintaxis del Bloque___________________________________ 175 8.2.2.- Ciclo de trabajo Elemental ________________________________________ 176 8.2.3.- Comentarios Sobre La Programación. _______________________________ 178 8.2.4.- Ejemplos ______________________________________________________ 179
8.3.- G66. CICLO FIJO DE SEGUIMIENTO DE PERFIL. _______________________________ 180
8.3.1.- Descripción y Sintaxis del Bloque___________________________________ 180 8.3.2.- Ejemplos ______________________________________________________ 181
9.- CICLOS FIJOS DE MECANIZADO EN FRESADORA (I).
183
9.1.- CICLOS FIJOS DE MECANIZADO EN FRESADORA. CARACTERÍSTICAS GENERALES. _ 183 9.2.- ANULACIÓN DE CICLO FIJO. G80. _____________________________________________ 184
9.2.1.- Descripción y Sintaxis del Bloque. __________________________________ 184
9.3.- FORMATO GENERAL DE LOS CICLOS FIJOS G81, G82, G84, G84 R, G85, G86 Y G89. __ 184
9.3.1.- Formato y Sintaxis del Bloque. _____________________________________ 184
9.4.- CICLO FIJO DE TALADRADO. G81. _____________________________________________ 186
9.4.1.- Descripción y Sintaxis del Bloque. __________________________________ 186 9.4.2.- Ciclo de trabajo del Bloque. _______________________________________ 186 9.4.3.- Ejemplos. _____________________________________________________ 186
9.5.- CICLO FIJO DE TALADRADO CON TEMPORIZACIÓN. G82._________________________ 191
9.5.1.- Descripción y Sintaxis del Bloque. __________________________________ 191 9.5.2.- Ciclo de trabajo del Bloque. _______________________________________ 191 9.5.3.- Ejemplos. _____________________________________________________ 192
9.6.- CICLO FIJO DE TALADRADO PROFUNDO. G83. __________________________________ 194
9.6.1.- Descripción y Sintaxis del Bloque. __________________________________ 194 9.6.2.- Ciclo de trabajo del Bloque – Formato A. _____________________________ 196 9.6.3.- Ciclo de trabajo del Bloque – Formato B. _____________________________ 197
9.6.4.- Ejemplos. _____________________________________________________ 198
9.7.- CICLO FIJO DE ROSCADO CON MACHO. G84. ___________________________________ 202
9.7.1.- Descripción y Sintaxis del Bloque. __________________________________ 202 9.7.2.- Ciclo de trabajo del Bloque. _______________________________________ 202 9.7.3.- Ejemplos. _____________________________________________________ 203
9.8.- CICLO FIJO DE ROSCADO RÍGIDO. G84 R. ______________________________________ 206
9.8.1.- Descripción y Sintaxis del Bloque. __________________________________ 206 9.8.2.- Ciclo de trabajo del Bloque. _______________________________________ 206
9.9.- CICLO FIJO DE ESCARIADO. G85. _____________________________________________ 208
9.9.1.- Descripción y Sintaxis del Bloque. __________________________________ 208 9.9.2.- Ciclo de trabajo del Bloque. _______________________________________ 208 9.9.3.- Ejemplos. _____________________________________________________ 208
9.10.- CICLO FIJO DE MANDRINADO CON RETROCESO EN G00. G86. ___________________ 210
9.10.1.- Descripción y Sintaxis del Bloque. _________________________________ 210 9.10.2.- Ciclo de trabajo del Bloque. ______________________________________ 210
9.11.- CICLO FIJO DE CAJERA RECTANGULAR. G87.__________________________________ 211
9.11.1.- Descripción y Sintaxis del Bloque. _________________________________ 211 9.11.2.- Ciclo de trabajo del Bloque. ______________________________________ 212 9.11.3.- Ejemplos. ____________________________________________________ 213
9.12.- CICLO FIJO DE CAJERA CIRCULAR. G88. ______________________________________ 217
9.12.1.- Descripción y Sintaxis del Bloque. _________________________________ 217 9.12.2.- Ciclo de trabajo del Bloque. ______________________________________ 218
9.13.- CICLO FIJO DE MANDRINADO CON RETROCESO EN G01. G89. ___________________ 220
9.13.1.- Descripción y Sintaxis del Bloque. _________________________________ 220 9.13.2.- Ciclo de trabajo del Bloque. ______________________________________ 220
1.- INTRODUCCIÓN
1.1.- EL LENGUAJE FAGOR CNC 8025/8030.
Se ha seleccionado este lenguaje para el aprendizaje de CNC por ser el más completo, sin llegar a los nuevos lenguajes de alto nivel de FAGOR. Aprendiendo con él se comprende muy bien, a nuestro entender, lo que ocurre realmente en máquina y le facilitará al lector el cambio a otros lenguajes si así fuese requerido. Tal y como nosotros pensamos, es un lenguaje muy didáctico.
No existen diferencias apreciables a nivel de lenguaje entre los modelos CNC 8025 y los modelos CNC 8030, la única diferencia entre estos, es a nivel constructivo del control. El modelo CNC 8025 es de tipo compacto y el modelo 8030 es de tipo modular.
Dentro del lenguaje FAGOR CNC 8025/8030 existen pequeñas modificaciones que afectan tanto a los controles como a los lenguajes, para optimizarlos en la aplicación a diferentes máquinas:
• 8025/8030GP: Control para propósito general.
• 8025/8030T: Control específico para tornos.
• 8025/8030M: Control específico para centros de mecanizado de hasta 4 ejes.
• 8025/8030MS: Control específico para centros de mecanizado de hasta 5 ejes.
Además de los enumerados existen distintas opciones que pueden montarse en todos ellos:
• Si añaden la letra G, tienen la opción de gráficos.
• Si añaden la letra I, se construyen con un autómata programable integrado (PLC).
• Si añaden la letra K, dispondrá de una memoria de 512 Kb.
1.2.- ORÍGENES.
Para la programación en CNC se utilizan tres orígenes denominados comúnmente ceros:
• Cero máquina: Es el origen definido para la máquina, situado por el fabricante con referencia a elementos fijos en ella, por lo cual este cero es inamovible por el usuario.
• Cero pieza: Es el origen elegido en la pieza para su programación. De la elección de la posición de este cero dependerá en gran medida la facilidad para programarla, para ello si la pieza es simétrica convendrá colocar el cero en el o los ejes de simetría. Asimismo si la pieza tiene elementos curvos (taladros, redondeos, etc) será interesante en la medida de lo posible la colocación del cero en sus ejes de simetría y/o revolución.
• Cero herramienta: Es el origen que toma como referencia la herramienta para su movimiento. Este cero en función de los parámetros de la herramienta (longitud, ancho, radio de punta, etc) será compensado mediante las funciones correspondientes.
1.3.- BLOQUE DE PROGRAMACIÓN ESTÁNDAR.
Se entiende por bloque de programación a cada una de las líneas de código que conforman un programa de control numérico.
Está formado por una serie de letra, números y símbolos ordenados convenientemente.
Páginas: 8
Un bloque tipo es de la siguiente forma:
N4 G2 X4.3 Y4.3 Z4.3 I4.3 J4.3 K4.3 F4 S4 T4.4 M2 (Comentarios) Veamos detenidamente que significa cada una de ellas:
N Æ Número de bloque. Todos los bloques de un programa comienzan por un número de máximo cuatro cifras que indica la posición que ocupa el bloque. Se utiliza este número de bloque, además, para hacer llamadas y saltos entre bloques. Al iniciar la programación conviene escribir los bloques de 10 en 10 para así, si fuese necesario incluir líneas intermedias.
G Æ Funciones preparatorias. Inmediatamente después del número de bloque se sitúa la función G seguida de dos dígitos. Esta función indica al control como será el desplazamiento a realizar.
X Y Z ÆCoordenadas de posición. Indica al control las posiciones iniciales y/o finales entre las que se desplazará. Utiliza cuatro dígitos para la parte entera y tres decimales para la parte decimal. (Cuando su valor se da en pulgadas, utiliza tres cifras para la parte entera y cuatro para la parte decimal).
I J K Æ Coordenadas auxiliares. Al igual que las coordenadas de posición, indica coordenadas en aquellos bloques en los que es necesaria su programación. (Cuando su valor se da en pulgadas, utiliza tres cifras para la parte entera y cuatro para la parte decimal).
F ÆFunción velocidad de avance. Utilizada para programar la velocidad de avance de los ejes, utiliza cuatro dígitos.
S ÆFunción velocidad de corte. Utilizada para programar la velocidad de corte, utiliza cuatro dígitos.
T ÆFunción selección de herramientas. Se utiliza para designar la herramienta y su corrector a utilizar en el mecanizado. La herramienta se define por los cuatro dígitos anteriores al punto y el corrector por las cuatro posteriores al punto.
M Æ Función auxiliar. Se utiliza para definir funciones propias de cada máquina. Utiliza dos dígitos. Algunas de ellas están predefinidas (p. e. M03 es giro del cabezal) y otras se dejan al criterio del fabricante.
( ) Æ Comentarios. Se utilizan para explicar el contenido del bloque. Todo aquello que aparezca entre paréntesis no será tenido en cuenta por el simulador.
Todos los bloques del programa mantendrán este formato, aunque no tienen porqué existir todos los parámetros.
Únicamente existe un bloque que no mantiene este formato, es el primer bloque de programa que se utiliza para identificar el programa en el CNC (nombre de programa), su formato es el símbolo “%” seguido de cinco cifras. El nombre de programa en un control es único.
1.3.1.- EJEMPLO
A continuación se muestra un ejemplo de un programa en CNC llamado “00000”. %00000
N0010 T1.1 M3 N0020 G0 X0 Z0
N0030 M30
1.4.- PROGRAMACIÓN PARAMÉTRICA.
El CNC dispone de 255 parámetros (P0-P254) utilizables por el usuario, para ayuda a la programación, con ellos se pueden definir operaciones y saltos. Estos pueden sustituir a valores de cotas, valores de funciones, etc
La letra K seguido de un número indica un valor constante en formato decimal (p. e. K26, se utiliza para indicar el valor 26). Puede ser positivo o negativo.
La letra H seguido de un número indica un valor constante en formato hexadecimal (p. e. H35AFD478, se utiliza para indicar el valor en hexadecimal 35AFD478). Debe ser positivo, entero, de máximo 8 caracteres. Solo se pueden utilizar en operaciones binarias y formando parte del segundo operando.
A continuación se recogen en una tabla las de operaciones que se pueden realizar entre parámetros o constantes, mediante las funciones F1 a F33.
FUNCIÓN OPERACIÓN REALIZADA FORMATO DESCRIPCIÓN
F1 Suma P1 = P2 F1 P3 El valor de P1 será la suma de P2 y P3
F2 Resta P1 = P2 F2 P3 El valor de P1 será la diferencia de P2 y P3
F3 Multiplicación P1 = P2 F3 P3 El valor de P1 será el producto de P2 y P3
F4 División P1 = P2 F4 P3 El valor de P1 será el cociente de P2 entre P3
F5 Raíz cuadrada P1 = F5 P2 El valor de P1 será la raíz cuadrada de P2
F6 Raíz cuadrada de la suma
de los cuadrados P1 = P2 F6 P3
El valor de P1 será la raíz cuadrada de la suma de los cuadrados de P2 y P3
F7 Seno P1 = F7 P2 El valor de P1 será el valor del seno de P2 (en grados sexagesimales)
F8 Coseno P1 = F8 P2 El valor de P1 será el valor del coseno de P2 (en grados sexagesimales)
F9 Tangente P1 = F9 P2 El valor de P1 será el valor de la tangente
de P2 (en grados sexagesimales)
F10 Arco Tangente P1 = F10 P2 El valor de P1 será el arco en grados sexagesimales cuya tangente es P2
F11 Comparación P1 = F11 P2 Compara parámetros entre ellos o con una constante (Ver Capítulo de Saltos y
Llamadas)
F12 Parte entera P1 = F12 P2 El valor de P1 será el valor de la parte entera de P2
F13 Parte Entera más Uno P1 = F13 P2 El valor de P1 será el valor de la parte entera de P2 más una unidad
F14 Parte Entera menos Uno P1 = F14 P2 El valor de P1 será el valor de la parte
entera de P2 menos una unidad
F15 Valor absoluto P1 = F15 P2 El valor de P1 será el valor absoluto de P2
Páginas: 10
FUNCIÓN OPERACIÓN REALIZADA FORMATO DESCRIPCIÓN
F16 Complementación P1 = F16 P2 El valor de P1 será el complementado de P2 (-P2)
F17 Función especial P1 = F17 P2 El valor de P1 será el de la dirección de memoria del bloque de valor P2
F18 Función especial P1 = F18 P2 El valor de P1 será el de la cota X del
bloque de valor P2
F19 Función especial P1 = F19 P2 El valor de P1 será el de la cota Y del bloque de valor P2
F20 Función especial P1 = F20 P2 El valor de P1 será el de la cota Z del bloque de valor P2
F21 Función especial P1 = F21 P2 El valor de P1 será el de la cota W del
bloque de valor P2
F22 Función especial P1 = F22 P2 El valor de P1 será el de la dirección de memoria del bloque anterior al valor P2
F23 Función especial P1 = F23 P2 El valor de P1 será el del número de la tabla de la herramienta en operación
F24 Función especial P1 = F24 P2
El valor de P1 será el de R que se encuentra en la posición de la tabla de herramientas
de valor P2
F25 Función especial P1 = F25 P2 El valor de P1 será el de L que se encuentra en la posición de la tabla de herramientas
de valor P2
F26 Función especial P1 = F26 P2 El valor de P1 será el de I que se encuentra en la posición de la tabla de herramientas
de valor P2
F27 Función especial P1 = F27 P2
El valor de P1 será el de K que se encuentra en la posición de la tabla de herramientas
de valor P2
F28 Función especial P1 = F28 P2 encuentra en el bloque cuya dirección es P2 El valor de P1 será el de la cota V que se
F29 Función especial P1 = F29 P2 EL valor P1 será el de la cota V en el bloque
de dirección P2
F30 Operación binaria: AND P1 = P2 F30 P3 El valor de P1 será el resultado de la operación binaria AND de P2 con P3
F31 Operación binaria: OR P1 = P2 F31 P3 El valor de P1 será el resultado de la operación binaria OR de P2 con P3
F32 Operación binaria: XOR P1 = P2 F32 P3 El valor de P1 será el resultado de la
operación binaria XOR de P2 con P3
F33 Operación binaria: NOR P1 = F33 P2 El valor de P1 será el del complemento a uno de P2
1.5.- FUNCIONES MÁS UTILIZADAS.
La explicación de las funciones se realizará clasificándolas por el tipo de control que va a realizar, así las agruparemos en:
• Funciones auxiliares.
• Funciones de control de trayectorias.
• Funciones de ejes y sistemas de coordenadas.
• Funciones de ciclos fijos.
Dentro de cada uno de estos grupos existen lo que se llaman funciones modales, es decir, funciones incompatibles entre sí y que permanecerán activa mientras no se programe lo contrario. Además, existen funciones predefinidas por el fabricante y que asume el control en el arranque, de modo que si no se dice lo contrario la máquina utilizará esos parámetros (p. e. si no se dice lo contrario una máquina arrancará con programación en mm.).
1.6.- FUNCIONES AUXILIARES.
Las funciones auxiliares son utilizadas para programar eventos, externos a la programación, paradas, puesta en marcha de refrigerantes, abrir mordazas, etc.
Su formato es: N4 M2 Donde:
N Æ Número de bloque (de hasta cuatro cifras).
M ÆFunción auxiliar cuyo código puede ir desde 00 hasta 99
Se pueden programar más de una función auxiliar a la vez, hasta un máximo de siete, pero hay que tener en cuenta que se ejecutarán en el orden programado. No obstante para mayor claridad del programa se recomienda utilizar una por cada bloque.
Las órdenes estándar de programación son M00, M01, M02, M03, M04, M05, M06 y M30, el resto de las funciones son programadas por el fabricante, y es él quien asigna su uso. A continuación veremos las estándar y las programadas en las máquinas de la empresa ALECOP.
1.6.1.- PARADA DE PROGRAMA. M00.
La función auxiliar M00 interrumpe la ejecución de un programa, para reanudarlo habrá de reanudarlo con la orden marcha.
La ejecución se reiniciará en el punto en que se interrumpió, así como las características tecnológicas utilizadas hasta el momento (unidades, etc).
No se debe utilizar para finalizar un programa pues no restaura el control a las condiciones iniciales.
1.6.2.- PARADA CONDICIONAL DEL PROGRAMA. M01.
La función auxiliar M01 interrumpe la ejecución de un programa siempre que esté activada una señal externa al control, se utiliza como parada de control.
Páginas: 12
1.6.3.- FINAL DE PROGRAMA. M02.
La función auxiliar M02 acaba la ejecución de un programa y lo devuelve a las condiciones iniciales con parada de cabezal. Si se diese de nuevo la orden de marcha el programa se ejecutaría donde se dejó pero en condiciones iniciales.
1.6.4.- FINAL DE PROGRAMA Y VUELTA A CONDICIONES INICIALES. M30.
La función auxiliar M30 es similar a M02 con la única diferencia que en este caso el programa vuelve al primer bloque programado. Es la utilizada habitualmente para acabar la ejecución de un programa.
1.6.5.- ARRANQUE DE CABEZAL. M03 / M04.
Las funciones auxiliares M03 y M04 activan el arranque y giro del eje principal de la máquina en sentido horario (M03) o sentido antihorario (M04).
Para ejecutar esta función es necesario haber programado previamente alguna velocidad S. Si en el programa no existiese ninguna velocidad programada, el control no sabrá a que velocidad girar y nos reportará un mensaje de error.
1.6.6.- PARADA DEL CABEZAL. M05.
La función M05 efectúa una parada del eje principal de la máquina.
1.6.7.- CÓDIGO DE CAMBIO DE HERRAMIENTA. M06.
Esta función solo es necesario en fresadora.
La función M06 ejecuta la subrutina de cambio de herramientas, esta puede ser de dos formas, en función de la existencia o no de cambiador automático de herramientas.
Si no existe cambiador automático, se ejecuta una parada de cabezal y posteriormente una parada de programa.
Si existe cambiador automático de herramienta, se ejecutará una parada de cabezal, y posteriormente una subrutina que variará en función de la construcción de la máquina. El propósito de esta subrutina es acercar le cabezal al cambiador, posicionar el cambiador, efectuar el cambio, etc
1.6.8.- ACTIVAR Y DESACTIVAR REFRIGERANTE. M08 / M09.
Solo válido para las máquinas de ALECOP.
La función M08 activa la puesta en marcha del refrigerante. La función M09 desactiva la puesta en marcha del refrigerante.
1.6.9.- ABRIR Y CERRAR PROTECCIÓN. M10 / M11.
Solo válido para las máquinas de ALECOP.
La función M10 envía una señal de apertura del sistema de protección de la máquina. La función M11 envía una señal de cierre del sistema de protección de la máquina.
1.6.10.- ABRIR Y CERRAR ALMACÉN DE HERRAMIENTAS. M15 / M16.
Solo válido para las máquinas de ALECOP. Esta función solo está asignada en fresadora.
Esta función por sí sola no tiene utilidad, pero se utiliza como parte de la subrutina M06 de cambio de herramienta.
Debido a que para el cambio de herramientas es necesario posicionar el almacén de herramientas en un punto determinado, es necesario definir estas funciones que ejecutan la entrada y salida del almacén desde y hasta su posición.
1.6.11.- SUJETAR Y SOLTAR PINZA DE HERRAMIENTA. M20 / M21.
Solo válido para las máquinas de ALECOP. Esta función solo está asignada en fresadora.
Se utiliza también como parte de la subrutina del cambio de herramientas, realiza la apertura (M20) y cierre (M21) de la pinza del portaherramientas.
1.6.12.- ABRIR Y CERRAR SUJECIÓN DE PIEZA. M17 / M18.
Solo válido para las máquinas de ALECOP.
Esta función envía una señal de apertura (M17) o cierre (M18) del sistema de sujeción de la pieza. Estas son, la mordaza en el caso de la fresadora y el plato de garras en el caso del torno.
1.7.- FUNCIONES PREPARATORIAS.
1.7.1.- PROGRAMACIÓN ABSOLUTA O INCREMENTAL. G90 / G91.
Indica el modo en el que se indicará las coordenadas de trabajo.
Si el modo es absoluto (G90), las cotas estarán siempre referidas al origen de coordenadas, por el contrario si estamos en modo incremental (G91), las cotas se indicarán con respecto a la cota del movimiento anterior.
El control asume al inicio la programación absoluta (G90).
Se pretende programar un movimiento OABCA según las coordenadas de la figura siguiente:
Páginas: 14 B (100,70) C (10,100) A (8,10) Z Y O (0,0)
EJEMPLO I: PROGRAMACIÓN EN COORDENADAS ABSOLUTAS G90. El programa resultante sería:
N110 ...
N120 G00 Y8 Z10 (Desplazamiento desde O hasta A) N130 G00 Y100 Z70 (Desplazamiento desde A hasta B) N130 G00 Y100 Z70 (Desplazamiento desde B hasta C) N140 G00 Y10 Z100 (Desplazamiento desde C hasta A) N150 ...
EJEMPLO II: PROGRAMACIÓN EN COORDENADAS INCREMENTALES G91. El programa resultante sería:
N110 ...
N120 G00 Y8 Z10 (Desplazamiento desde O hasta A) N130 G00 Y92 Z60 (Desplazamiento desde A hasta B) N130 G00 Y-90 Z30 (Desplazamiento desde B hasta C) N140 G00 Y-2 Z-90 (Desplazamiento desde C hasta A) N150 ...
1.7.2.- PROGRAMACIÓN EN MILÍMETROS O PULGADAS. G71 / G70.
Especifica si el control interpretará las coordenadas en milímetros (G71) o pulgadas (G70) en su ejecución. Estas unidades también afectarán a las compensaciones de herramientas.
El control inicia su programación en milímetros (G71).
Estas funciones son modales, es decir se mantendrán activas hasta no se programe alguna función que la cambie o se programe un final de programa.
1.7.3.- VELOCIDAD DE AVANCE. G94 / G95.
Especifica si la velocidad de avance indicada en la función F se indicará en unidades de mm/min, en cuyo caso será constante (G94), o en mm/rev, en cuyo caso variará con la velocidad de giro del cabezal (G95).
En torno se iniciará G95 (mm/rev). En fresadora con G94 (mm/min).
Estas funciones son modales, es decir se mantendrán activas hasta no se programe alguna función que la cambie o se programe un final de programa.
1.7.4.- VELOCIDAD DE CORTE. G96 / G97.
Esta función es distinta en función de que su aplicación sea en torno o en fresadora.
• Torno:
• G96: Indica las unidades de la velocidad de corte en m/min, con lo que la velocidad de corte es constante, y el control calcula en cada momento la velocidad de giro del cabezal.
Figura 1-1 Velocidad de corte constante (G96).
• G97: Indica las unidades de la velocidad de giro en rpm., con lo que esta permanece constante. En este caso habrá de tenerse en cuenta para el cálculo de la potencia y de la velocidad de corte, el caso mas desfavorable, que será el del diámetro mayor.
Figura 1-2 Velocidad de giro constante (G97).
• Fresadora:
• G96: Indica si se trabaja en velocidad de avance superficial constante, es decir considera la velocidad programada como la velocidad de contacto con la pieza con lo cual esta variará en función del diámetro de la herramienta.
• G97: Considera la velocidad programada como la de avance del centro de la herramienta. En ambos casos se inicia el control con G97.
Páginas: 16
Estas funciones son modales, es decir se mantendrán activas hasta no se programe alguna función que la cambie o se programe un final de programa.
2.- FUNCIONES DE CONTROL DE TRAYECTORIAS (I).
2.1.- FUNCIONES DE COMPENSACIÓN. G43/G44. G41/G42/G40.
2.1.1.- INTRODUCCIÓN
En los trabajos habituales de mecanizado es necesario tener en cuenta la longitud y el radio de la herramienta para definir su trayectoria y obtener en la pieza las dimensiones deseadas.
En CNC se utilizan funciones de compensación de longitud y radio para poder programar directamente la geometría deseada. El control calcula la trayectoria a seguir por la herramienta según la trayectoria programada y las dimensiones almacenadas en la tabla de herramientas.
2.1.2.- COMPENSACIÓN DE RADIO. G41/G42.
Indica al control que utilice el radio de la herramienta y lo compense a derecha (G42) o a izquierda (G41) en función del sentido de mecanizado. Para que la compensación pueda hacerse efectiva es necesario almacenar el radio de la herramienta y el factor de forma en la tabla de herramientas.
El simulador permite cargar los valores de las dimensiones de las herramientas directamente en la tabla correspondiente, trabajando en modo gestor y en la pestaña herramientas.
También se pueden almacenar las dimensiones de una herramienta dentro de un programa de CN, mediante el código G50.
G41 Æ La compensación coloca la herramienta a la izquierda de la trayectoria programada, según el sentido del movimiento.
G42 Æ La compensación coloca la herramienta a la derecha de la trayectoria programada, según el sentido del movimiento.
En la Figura 2-1 se presenta como actúan las funciones G41 y G42. La trayectoria programada se ha dibujado en línea continua, y la trayectoria calculada por el CNC para el centro está trazada en línea discontinua. Se ha sombreado dónde quedará el material de la pieza.
R
G41
R
G42
Figura 2-1 Compensación de Radio G41/G42.
Páginas: 18
Las funciones G41 y G42 son modales y incompatibles entre sí. Se anulan, la una con la otra, con G40, M02, M30 o por una Emergencia o Reset.
En torno, al programar las trayectorias sin compensar el radio de la herramienta, se producen errores en las trayectorias no paralelas a los ejes, ver Figura 2-2. Si los movimientos son todos paralelos a los ejes, activar la compensación de radio no produce ningún efecto.
A
B Error
Figura 2-2 Error debido a radio de herramienta en torno.
En fresadora, las trayectorias programadas, si no está activada la compensación de herramienta corresponderán al centro de la herramienta.
2.1.3.- ANULACIÓN DE COMPENSACIÓN DE RADIO. G40.
Esta función anula la compensación de radio de herramienta, programada con G41 o G42.
El código G40 sólo puede programarse en un bloque en el que se programe un movimiento rectilíneo, sino el programa dará un error.
2.1.4.- COMPENSACIÓN DE LONGITUD (SOLO FRESADORA). G43.
En el torneado, el control asume la longitud de la herramienta al cargar la herramienta con su código T (Ej. T3.3). Sin embargo, en el fresado, para compensar la longitud de las herramientas es necesario programar el código G43.
Al programar este código, el control suma o resta los valores de longitud y correctores de desgaste almacenados en la tabla de herramientas a la cota de cada punto programado correspondiente al eje perpendicular al plano de trabajo.
La compensación de longitud es modal, y se anula con las funciones G44, G74, M02, M30 o al realizarse un Reset o una Emergencia.
N0040 G43 G0 X-110 Y-95 Z-178 M03
En el que está programado también un desplazamiento a máxima velocidad.
2.1.5.- ANULACIÓN COMPENSACIÓN DE LONGITUD. G44.
Mediante este código se anula la compensación de la longitud de la herramienta en el fresado, programado mediante el código G43.
El formato del bloque sería similar al de la función G43, y la anulación de la compensación sería efectiva en el siguiente desplazamiento.
Páginas: 20
2.2.- POSICIONAMIENTO RÁPIDO. G00.
2.2.1.- DESCRIPCIÓN Y SINTAXIS DEL BLOQUE
Cuando se programa G00 se realiza un movimiento desde la posición en que se encuentra hasta la posición indicada a la máxima velocidad que los ejes permitan (es decir, sin tener en cuenta la velocidad de avance programada). La trayectoria resultante es siempre una línea recta entre el punto inicial y el punto final. El avance en este movimiento estará determinado por el del eje más lento. Esta función se utiliza para realizar desplazamientos rápidos de la herramienta antes de realizar una determinada operación (arranque de material, cambio de herramienta ...).
Al programar la función G00, no se anula el último avance programado (F), es decir, cuando se programa de nuevo G01, G02 ó G03 el desplazamiento se realizará con ese avance.
El bloque se construye de la siguiente manera:
N0010 G00 X300 Y100 Z200
Donde X, Y y Z son las coordenadas del punto final de la trayectoria. Según el modo de programación elegido estas coordenadas vendrán dadas en cotas absolutas, medidas respecto al origen que esté activo, o en cotas incrementales.
Esta función es modal e incompatible con G01, G02, G03 y G33. Está activa después de ejecutarse M02/M30 y después de una EMERGENCIA o RESET.
2.2.2.- COMENTARIOS SOBRE LA PROGRAMACIÓN
• Si el programa es para torno, el punto final de la trayectoria vendrá definido únicamente por las coordenadas X y Z.
• Las coordenadas del punto final pueden venir dadas como constantes o en función de parámetros previamente definidos.
• Si alguna de las coordenadas del punto final coincide con la del punto de inicio, no será necesario indicar su valor en el bloque.
2.2.3.- EJEMPLOS
EJEMPLO I: PROGRAMACIÓN DE POSICIONAMIENTO RÁPIDO EN TORNO.
El programa que se presenta en este ejemplo realiza los desplazamientos representados en la Figura 2-3. El punto 0 de la figura representa al punto de cambio de herramientas (X75 Z200).
1 2 3 0 Z X 80 85 15 10 10
Figura 2-3 Trayectoria para ejemplo de programación con G00 en torno. N0010 G90 (Cotas Absolutas)
N0020 G94 (Avance en mm/min)
N0030 G97 (Velocidad de giro en rev/min)
N0040 F100 S800 (Avance 100 mm/min, Velocidad de giro 800 rev/min) N0050 T1.1 (Herramienta 1, corrector 1)
N0060 G0 X40 Z85 (Tray 0-1)
N0070 G91 X-20 (Cotas Incrementales, Tray 1-2) N0080 Z 15 (Tray 2-3)
N0090 G90 X75 Z200 (Tray 3-0) N0100 M30
Nótese que como G00 (que también puede programarse G0) permanece activo durante todo el programa no es necesario incluirlo en todos los bloques (no aparece en los bloques N0070 a N0090). De hecho, no hubiera sido necesario incluirlo en el bloque N0060 ya que al iniciar el programa también está activo.
Las trayectorias 1-2 y 2-3 son trayectorias paralelas a un eje, por lo que una de las coordenadas de los puntos origen y destino coinciden. El bloque se programa incluyendo únicamente la coordenada que varía. La trayectoria (1-2) es paralela al eje X, los puntos 1 y 2 tienen la misma coordenada Z (85), por lo tanto, en el bloque N0070 sólo se programa el valor de la cota Z.
En el bloque N0010 se indica que la programación se realizará con cotas absolutas. En el bloque N0060 se programa la trayectoria 0-1 indicando las coordenadas del punto final con cotas absolutas (respecto al 0 pieza).
En el bloque N0070 se indica que la programación se realizará con cotas incrementales. Las coordenadas del punto 2 (en éste caso la X, que es la única que varía) se programan con cotas incrementales. Como la programación es en diámetros, la cota X incremental (X-20) será el doble de la distancia entre los puntos 1 y 2 (10). El signo indicará el sentido del movimiento.
La programación de los códigos G90 y G91 (cotas absolutas/incrementales) no desactiva el código G00 de desplazamiento rápido.
Páginas: 22
EJEMPLO II: PROGRAMACIÓN DE POSICIONAMIENTO RÁPIDO EN FRESADORA.
El programa que se presenta en este ejemplo realiza los desplazamientos representados en la Figura 2-4. El punto 0 de la figura representa al punto de cambio de herramientas (X0 Y0 Z0) y coincide con el cero máquina y el cero pieza.
Bruto Cilindro Z, 20 â 100 ∆ (mm). Situado centrado y apoyado sobre el plano Z-190.
38 38 50 7030 A B 64 C (0,0,0) (-220,-190,-190) X Z Y 150
Figura 2-4 Trayectoria para ejemplo de programación con G00 en fresadora.
La forma y dimensiones del bruto en el simulador, se indican en modo Gestor en el panel de Bruto. Forma: Cilindro Z. Fijación: Ninguna.
Las coordenadas Xminimo, Yminimo y Zminimo solicitadas corresponden al punto central de la base inferior del
cilindro. En nuestro caso: -110, -95, -190.
Dimensiones: Longitud: 20. Diámetro: 100. N0010 F100 S1000 T1.1
N0020 M6 (Cambio Herramienta) N0030 G90 (Cotas Absolutas)
N0040 G0 X-50 Y-38 Z-150 (Tray 0-1) N0050 M3 (Arranque del cabezal) N0060 G91 X-70 Z30 (Tray 1-2) N0070 Y-64 (Tray 2-3)
N0080 G90 X0 Y0 Z0 (Tray 3-0) N0090 M30
Nótese que los movimientos dentro de un plano (N0060) o según la dirección de un eje (N0070) se han programado indicando únicamente las coordenadas del punto final de la trayectoria que no coinciden con las del punto inicial.
Al igual que en el ejemplo anterior, algunas trayectorias se han programado en cotas absolutas (G90) y otras en cotas incrementales (G91). Como son funciones modales e incompatibles, una estará activa hasta que se programe la otra. Así, como en el bloque N0060 se ha programado el cogido G91, todas las coordenadas se darán con cotas incrementales hasta que se programe el cogido G90 (N0080).
2.3.- INTERPOLACIÓN LINEAL. G01.
2.3.1.- DESCRIPCIÓN Y SINTAXIS DEL BLOQUE
Cuando se programa G01 se realiza un desplazamiento desde la posición en que se encuentra hasta la posición indicada, según una trayectoria recta y con el avance (F) programado. El CNC calcula el avance correspondiente a cada eje, para que el avance resultante coincida con el programado.
El bloque se construye de la siguiente manera:
N0010 G01 X300 Y100 Z200
Donde X, Y y Z son las coordenadas del punto final de la trayectoria. Según el modo de programación elegido estas coordenadas vendrán dadas en cotas absolutas, medidas respecto al origen que esté activo, o en cotas incrementales.
Es una función modal, incompatible con G00, G02, G03 y G33.
2.3.2.- COMENTARIOS SOBRE LA PROGRAMACIÓN
• Si el programa es para torno, el punto final de la trayectoria vendrá definido únicamente por las coordenadas X y Z.
• Las coordenadas del punto final pueden venir dadas como constantes o en función de parámetros previamente definidos (Ver Ejemplo I:).
• Si alguna de las coordenadas del punto final coincide con la del punto de inicio, no será necesario indicar su valor en el bloque.
2.3.3.- EJEMPLOS
EJEMPLO I: INTERPOLACIÓN LINEAL EN TORNO. PROGRAMACIÓN EN DIÁMETROS.
El programa que se presenta en este ejemplo genera la geometría de la Figura 2-5. El punto de cambio de herramientas es (X75 Z200).
Bruto de 80 â 30 ∆ (mm). Cero pieza coincide con cero máquina. Programación en diámetros. Programar pasadas de 1 mm de espesor.
Z
X
Ø2 4 15 61 2 Ø2 6 Ø3 0Figura 2-5 Geometría para ejemplos de programación con G01 en Torno. N0010 G90 (Cotas Absolutas)
N0020 G94 (Avance en mm/min)
Páginas: 24
N0030 G97 (Velocidad de giro en rev/min)
N0040 F100 S800 (Avance 100 mm/min, Velocidad de giro 800 rev/min) N0050 T1.1 (Herramienta 1, corrector 1)
N0060 G0 X28 Z81 M03 (Posición de inicio y arranque del cabezal) N0070 (Cilindrado a Diam. 26) N0080 P01=K15 N0090 G01 Z P01 N0100 X29 N0110 G0 Z81 N0120 X26 N0130 G01 Z P01 N0140 X27 N0150 G0 Z79 N0160 (Refrentado a Long 78) N0170 G01 X-5 N0180 G0 Z79.5 N0190 X27 N0200 Z78 N0210 G01 X-5 N0220 G0 Z78.5 N0230 X24 N0240 (Chaflán) N0250 G01 Z78 N0260 X26 Z76 N0270 G0 X75 Z200 N0280 M30
El arranque de material se va a realizar en pasadas de 1 mm, separando la herramienta 0.5 mm para retroceder. Se realizarán tres operaciones (Ver Figura 2-6):
Z X Ø3 0 Z X Ø3 0 Z X Ø3 0 15 65 Ø2 6 15 63 80 Ø2 6 15 61 2 Ø2 6 Ø2 4
Figura 2-6 Operaciones para la generación de la geometría de la Figura 2-5. a) Cilindrado a 26 mm de diámetro. b) Refrentado a 78 mm de longitud. c) Achaflanado.
• Refrentado de la base del cilindro, a una longitud de 78 mm.
• Achaflanado.
Se han programado con interpolación lineal (G01), es decir, a avance programado, los movimientos con arranque de material y los movimientos próximos a la superficie de la pieza. Se han programado con desplazamientos rápidos (G00) los movimientos de retroceso para realizar las diferentes pasadas y los movimientos de la herramienta desde y hasta el punto de cambio.
Como G00 y G01 son modales, no es necesario incluirlas en todos los bloques consecutivos en los que se realice el desplazamiento rápido o el desplazamiento a velocidad de avance programado, por ejemplo en los bloques N180-N200 todos los desplazamientos son a máximo avance, pero no se programa el código G00 en todos ellos.
Como G00 y G01 son incompatibles, no pueden estar activos simultáneamente. Para activarlos y desactivarlos se van programando alternativamente según sea necesario: por ejemplo los bloques N90-N100 son desplazamientos a avance programado (G01 en bloque N90) y los bloques N110-N120 son desplazamientos a máximo avance (G00 en bloque N110).
Todos los movimientos paralelos a los ejes se han programado únicamente con la coordenada que varía en el desplazamiento (Ver bloques N110-N130).
Las coordenadas de los puntos pueden definirse como constantes, o en función de parámetros. En el bloque N80 se asigna un valor a un parámetro (P01) y en los bloques N90 y N130 se define una coordenada del punto final en función de ese parámetro.
EJEMPLO II: INTERPOLACIÓN LINEAL EN TORNO. PROGRAMACIÓN EN RADIOS.
El mismo programa del ejemplo anterior utilizando la cota X expresada en radios sería el que se presenta a continuación:
N0010 G90 (Cotas Absolutas) N0020 G94 (Avance en mm/min)
N0030 G97 (Velocidad de giro en rev/min)
N0040 F100 S800 (Avance 100 mm/min, Velocidad de giro 800 rev/min) N0050 T1.1 (Herramienta 1, corrector 1)
N0060 G0 X14 Z81 M03 (Posición de inicio y arranque del cabezal) N0070 (Cilindrado a Diam. 26) N0080 P01=K15 N0090 G01 Z P01 N0100 X14.5 N0110 G0 Z81 N0120 X13 N0130 G01 Z P01 N0140 X13.5 N0150 G0 Z79 N0160 (Refrentado a Long 78) N0170 G01 X-2.5 N0180 G0 Z79.5 Páginas: 25
Páginas: 26 N0190 X13.5 N0200 Z78 N0210 G01 X-2.5 N0220 G0 Z78.5 N0230 X12 N0240 (Chaflán) N0250 G01 Z78 N0260 X13 Z76 N0270 G0 X37.5 Z200 N0280 M30
Este programa se obtiene del anterior dividiendo entre 2 la cota X en todos los bloques en los que aparezca.
EJEMPLO III: INTERPOLACIÓN LINEAL EN FRESADORA.
El programa que se presenta en este ejemplo genera la geometría de la Figura 2-7. El punto de cambio de herramientas es (X0 Y0 Z0) y coincide con el cero máquina y con el cero pieza.
Bruto Cilindro Z, 20 â 100 ∆ (mm). Situado centrado y apoyado sobre el plano Z-190.
3 6 Ø60 68 68 20 Ø 100 3
Figura 2-7 Geometría para ejemplos de programación con G01 en Fresadora. El bruto se define como en el apartado 0.
El programa sería:
N0010 F100 S1000 T2.2 N0020 M6
N0030 G90 (Cotas Absolutas)
N0050 (Triángulo) N0060 G0 X-110 Y-65 Z-168 M03 N0070 G01 G91 Z-5 N0080 X25.9808 Y-45 N0090 X-51.9616 N0100 X25.9808 Y45 N0110 Z 5 N0120 G90 X0 Y0 Z0 N0130 (Cuadrado) N0140 T1.1 N0150 M6 N0160 G0 X-76 Y-61 Z-168 M3 N0170 G01 G91 Z-5 N0180 X-68 N0190 Y-68 N0200 X68 N0210 Y68 N0220 Z5 N0230 G90 X0 Y0 Z0 N0240 M30
El programa realiza el mecanizado en dos operaciones:
• Mecanizado del triángulo, con la herramienta T2.2 que tiene 6 mm de diámetro.
• Mecanizado del cuadrado, con la herramienta T1.1 que tiene 2.5 mm de diámetro.
Después de programar la herramienta hay que programar el código de la rutina de cambio de herramienta (M06).
Para que los desplazamientos programados correspondan a la punta de la herramienta se programa el código G43 (Véase el apartado 2.1.4.-).
Cada operación tendrá la siguiente secuencia de movimientos:
• Acercamiento de la herramienta: La herramienta se desplazará a máxima velocidad desde el punto de cambio de herramienta a uno de los puntos de la geometría a generar, quedando una determinada distancia (2 mm) por encima de la superficie. Como la superficie superior del cilindro está a una cota absoluta de Z-170, el acercamiento se realizará a una cota Z-168 (Bloques N60 y N160). En estos bloques se programa también el arranque del cabezal (M03).
• Bajada de la herramienta a la cota de la ranura: Mediante un movimiento a avance programado, la herramienta desciende hasta la cota de la ranura. Este movimiento se ha programado en cotas incrementales, el desplazamiento será (hacia abajo) de 2 mm de la distancia de seguridad más 3 mm de la profundidad de la ranura (Z-5, Bloques N70 y N170). En estos bloques se programa el código de programación en cotas incrementales (G91).
• Programación de la geometría: Se programan las trayectorias rectas que componen la geometría, indicando únicamente las cotas que varían. Como los movimientos son en un plano no es necesario indicar la variación de la cota Z. En algunos casos los movimientos son paralelos a los ejes X o Y, y tampoco es necesario programar alguna de estas coordenadas. Como está activo G91, las
Páginas: 28
coordenadas están dadas con cotas incrementales. (Bloques N80-N100 y N180-N210). También está activo G01, por lo que no se programa en ninguno de esos bloques.
• Ascenso de la herramienta para salir de la ranura: La herramienta se extrae verticalmente a la velocidad de avance programada, hasta la misma cota en la que se colocó al acercarla. (Bloques N110 y N220).
• Desplazamiento al punto de cambio de herramienta: Para llevar la herramienta la punto de cambio, se activa la programación de cotas absolutas (G90). El desplazamiento se realiza a máxima velocidad G00.
EJEMPLO IV: INTERPOLACIÓN LINEAL CON COMPENSACIÓN. FRESADORA.
El programa que se presenta en este ejemplo genera la geometría de la Figura 2-8. El punto de cambio de herramientas es (X0 Y0 Z0) y coincide con el cero máquina y con el cero pieza.
Bruto Cilindro Z, 20 â 100 ∆ (mm). Situado centrado y apoyado sobre el plano Z-190.
20 Ø 100 25 25 25 86,603 28,868 6 2, 5
Figura 2-8 Geometría para ejemplo de programación de G01 con compensación. N0010 F100 S1000 T2.2 N0020 M6 N0030 G90 (Cotas Absolutas) N0040 P00=K3 (Radio de la herramienta) N0050 P01=K70 F1 P00 N0060 G43 G0 X-110 Y- P01 Z-168 M03 N0070 G01 Z-171 N0080 G42 Y-70 N0090 G91 X43.3015 N0100 X-43.3015 Y-75
N0110 X-43.3015 Y75 N0120 X43.3015 N0130 G40 G90 Z-168
N0140 G0 X0 Y0 Z0 (Herramienta al punto de cambio) N0150 T1.1 N0160 M06 N0170 P00=K1.25 N0180 P01=K120 F1 P00 N0190 G43 G0 X-110 Y- P01 Z-168 M03 N0200 G01 Z-171 N0210 G41 Y-120 N0220 G91 X-14.434 N0230 X14.434 Y50 N0240 X14.434 Y-50 N0250 X-14.434 N0260 G40 G90 Z-168 N0270 G00 X0 Y0 Z0
N0280 M30 (Fin del programa)
Páginas: 30
2.4.- INTERPOLACIÓN CIRCULAR. G02/G03.
2.4.1.- DESCRIPCIÓN Y SINTAXIS DEL BLOQUE
Cuando se programan los códigos G02 o G03, se realiza un desplazamiento desde la posición en que se encuentra hasta la posición indicada, siguiendo una trayectoria circular y con el avance (F) programado. El CNC calcula el avance correspondiente a cada eje, para que el avance resultante coincida con el programado.
La interpolación circular sólo se puede ejecutar en un plano. En torno se ejecutará en el plano XZ. En fresadora se podrá ejecutar en el plano XY, en el plano XZ y en el plano YZ. Las definiciones de sentido horario (G02) y sentido antihorario (G03) se han fijado de acuerdo con el sistema de coordenadas representado en la Figura 2-9 para torno y en la Figura 2-10 para fresadora, siempre referido al movimiento de la herramienta sobre la pieza.
Figura 2-9 Definición de sentido G02, G03 en torno.
Figura 2-10 Definición de los sentidos de G02, G03 en fresadora.
G02 y G03 son funciones modales, incompatibles entre sí e incompatibles también con G00, G01 y G33. Cuando se programan estas funciones el control asume como nuevo origen de coordenadas polares el centro del arco trazado.
Para calcular la trayectoria el CNC necesita, además de las coordenadas del punto final, las coordenadas del centro o el radio del arco. El bloque se puede construir de las siguientes maneras:
• En coordenadas Cartesianas: con las coordenadas del punto final y las del centro (estas últimas medidas respecto al punto de inicio del arco).
• En coordenadas Polares: con las coordenadas del punto final y las del centro. El centro se dará con sus coordenadas cartesianas medidas respecto al punto de inicio del arco. La coordenada polar radial del punto final coincidirá con la del punto inicial (al asumir el CNC como nuevo origen polar el centro del arco), por lo tanto sólo habrá que indicar la coordenada angular del punto final.
2.4.2.- PROGRAMACIÓN DE G02/G03 EN COORDENADAS CARTESIANAS: PUNTO FINAL Y CENTRO
TORNO: El plano en el que se calcula la interpolación es el plano XZ. El formato del bloque es:
N0260 G03 (G02) X26 Z74 I0 K-4
FRESADORA: Existen tres planos posibles para calcular la interpolación circular XZ, XY, YZ. Así, los formatos de los bloques son:
• Plano XY:
N0260 G17 G03 (G02) X26 Y74 I0 J-4
El código G17 indica que el plano de trabajo es el plano XY.
• Plano XZ:
N0260 G18 G03 (G02) X26 Z74 I0 K-4
El código G18 indica que el plano de trabajo es el plano XZ.
• Plano YZ:
N0260 G19 G03 (G02) Y26 Z74 J0 K-4
El código G19 indica que el plano de trabajo es el plano YZ.
Donde X, Y y Z son las coordenadas del punto final de la trayectoria. Según el modo de programación elegido estas coordenadas vendrán dadas en cotas absolutas, medidas respecto al origen que esté activo, o en cotas incrementales.
I Æ Distancia según el eje X desde el punto de inicio del arco (donde está situada la herramienta) al centro del mismo. Este parámetro tiene que programarse siempre, aunque su valor sea 0, y se programa con signo (según el sentido del eje). Como este parámetro es una distancia, en el caso de torno su valor será independiente de si se está programando la coordenada X en radios o diámetros.
J Æ Distancia según el eje Y desde el punto de inicio del arco al centro del mismo. Se programa con signo (indicado por el sentido del eje). Tiene que programarse siempre, aunque tenga valor 0.
K Æ Distancia según el eje Z desde el punto de inicio del arco al centro del mismo. Se programa con signo (indicado por el sentido del eje). Tiene que programarse siempre, aunque tenga valor 0.
2.4.3.- PROGRAMACIÓN DE G02/G03 EN COORDENADAS CARTESIANAS: PUNTO FINAL Y RADIO
TORNO:
El formato del bloque es:
Páginas: 32 N0260 G03 (G02) X26 Z74 R4
FRESADORA:
Los formatos de los bloques son:
• Plano XY: N0260 G17 G03 (G02) X26 Y74 R4 • Plano XZ: N0260 G18 G03 (G02) X26 Z74 R4 • Plano YZ: N0260 G19 G03 (G02) Y26 Z74 R4
Donde X, Y y Z son las coordenadas del punto final de la trayectoria. Según el modo de programación elegido estas coordenadas vendrán dadas en cotas absolutas, medidas respecto al origen que esté activo, o en cotas incrementales.
R Æ Radio del Arco. Existen cuatro arcos de circunferencias que unan dos puntos con un mismo radio (Ver Figura 2-11), el arco quedará determinado por el código programado (G02 ó G03) y por el signo del radio. El radio positivo corresponde al arco de circunferencia de ángulo inferior a 180º y el negativo al de ángulo mayor a 180º.
Figura 2-11 Signo del radio en la programación de arcos con G02/G03. En la Figura 2-11 se puede diferenciar los siguientes arcos:
o Arco 1: G02 X Z R< 0. o Arco 2: G02 X Z R >0. o Arco 3: G03 X Z R >0 o Arco 4: G03 X Z R <0
Si se programa un círculo completo, con la programación del radio, el CNC visualizará el error 47, debido a que existen infinitas soluciones.
2.4.4.- PROGRAMACIÓN DE G02/G03 EN COORDENADAS POLARES: CENTRO Y ÁNGULO DEL PUNTO FINAL
TORNO:
El formato del bloque es:
N0260 G03 (G02) A90 I0 K-4 FRESADORA: • Plano XY: N0260 G17 G03 (G02) A90 I0 J-4 • Plano XZ: N0260 G18 G03 (G02) A90 I0 K-4 • Plano YZ: N0260 G19 G03 (G02) A90 J0 K-4 Donde:
I Æ Distancia según el eje X desde el punto de inicio del arco (donde está situada la herramienta) al centro del mismo. Este parámetro es una distancia, y por lo tanto su valor será independiente de si se está programando la coordenada X en radios o diámetros. Se programa con signo (indicado por el sentido del eje). Tiene que programarse siempre, aunque tenga valor 0.
J Æ Distancia según el eje Y desde el punto de inicio del arco al centro del mismo. Se programa con signo (indicado por el sentido del eje). Tiene que programarse siempre, aunque tenga valor 0.
K Æ Distancia según el eje Z desde el punto de inicio del arco al centro del mismo. Se programa con signo (indicado por el sentido del eje). Tiene que programarse siempre, aunque tenga valor 0.
A Æ Ángulo del punto final respecto al centro polar. Cuando se programa una interpolación circular con G02 o G03 el CNC asume el centro del arco como centro polar.
2.4.5.- PROGRAMACIÓN DEL CENTRO EN COORDENADAS ABSOLUTAS (NO SIMULADA).
La función G06, con G02 o G03 activo, permite programar las coordenadas del centro (I J K) con cotas absolutas medidas respecto al cero pieza y no respecto al punto inicial del arco como se hacía en los apartados anteriores (2.4.2.- y 2.4.4.-).
Esta función no es modal, por lo tanto debe programarse en cada bloque en el que se quiera dar las coordenadas del centro en coordenadas absolutas. El programa WinUnisoft no simula esta función.
TORNO: El plano en el que se calcula la interpolación es el plano XZ. El formato del bloque es:
N0260 G03 (G02) G06 X26 Z74 I0 K-4
FRESADORA: Existen tres planos posibles para calcular la interpolación circular XZ, XY, YZ.
Páginas: 34
Así, los formatos de los bloques son:
• Plano XY:
N0260 G17 G03 (G02) G06 X26 Y74 I0 J-4 El código G17 indica que el plano de trabajo es el plano XY.
• Plano XZ:
N0260 G18 G03 (G02) G06 X26 Z74 I0 K-4 El código G18 indica que el plano de trabajo es el plano XZ.
• Plano YZ:
N0260 G19 G03 (G02) G06 Y26 Z74 J0 K-4 El código G19 indica que el plano de trabajo es el plano YZ.
2.4.6.- EJEMPLOS
EJEMPLO I: INTERPOLACIÓN CIRCULAR EN TORNO. PROGRAMACIÓN EN DIÁMETROS.
El programa que se presenta en este ejemplo genera la geometría de la Figura 2-12. El punto de cambio de herramientas es (X75 Z200).
Bruto de 80 â 30 ∆ (mm). Cero pieza coincide con cero máquina. Programación en diámetros. Programar pasadas de 2 mm de espesor como máximo.
Z X Ø3 0 68 ,67 80° R10 4 3 15 6 20 8 31 Ø2 6 Ø 18, 5 1 5 80
Figura 2-12 Geometría para ejemplos de programación con G02/G03 en Torno N0010 G90 (Cotas Absolutas)
N0020 G94 (Avance en mm/min)
N0030 G97 (Velocidad de giro en rev/min)
N0040 F100 S800 (Avance 100 mm/min, Velocidad de giro 800 rev/min) N0050 T1.1 (Herramienta 1, corrector 1)
N0060 G0 X26 Z81 M03 (Posición de inicio y arranque del cabezal) N0070 (Cilindrado a Diam. 26 y curva R 10)
N0080 G01 Z21
N0130 G02 X30 Z15 R10 N0140 G0 Z81
N0150 (Torneado del Extremo) N0160 X22
N0180 G03 A68.678 I-1 K-5 N0190 G0 Z81
N0240 X18.5 N0250 G01 Z80
N0260 G03 A68.678 I-1 K-5
N0270 (Torneado de la Ranura Curva) N0280 G0 X75 Z200 N0290 T4.4 N0300 G0 X27 Z49 N0310 G01 G91 X-0.5 N0320 G02 G06 X0 Z-8 I3 K-4 N0330 M30
El mecanizado se ha programado en tres fases.
• Cilindrado a 26 y curva de R10 (Trayectoria 1–2-3 en la Figura 2-13): Se ha programado la trayectoria completa. La curva se ha programado en coordenadas cartesianas (absolutas), con el punto final y el radio (N130).
Ø3 0 R10 1 2 3 81 4 Ø2 6 15
Figura 2-13 Cilindrado y curva de la Figura 2-12.
• Torneado de la Curva del Extremo (ver Figura 2-14): Se ha realizado en dos pasadas paralelas (Tray 6-7 y 10-11). La curva está programada en coordenadas polares (igual en los dos bloques N180 y N260), pero están desplazada 2 mm una respecto a la otra porque está desplazado el origen del arco (Bloques N170 y N250).
5 6 8 7 8 9 10 11 12 1 1 Ø2 2 Ø2 6 Ø 29, 5 Ø1 8, 5 1 Ø2 6 5 1 68 ,67 8° 68 ,67 8°
Figura 2-14 Mecanizado de la curva del extremo.
Páginas: 36
• Torneado de la ranura curva (trayectoria 14-15 de la Figura 2-15): Se ha programado dando las coordenadas en cotas incrementales. La trayectoria se ha definido por el punto final y la posición del centro (N320). 12 13 14 15 16 4 3 8 31
Figura 2-15 Mecanizado de la Ranura curva.
EJEMPLO II: INTERPOLACIÓN CIRCULAR EN FRESADORA. PROGRAMACIÓN DE UNA CIRCUNFERENCIA COMPLETA.
El programa que se presenta en este ejemplo genera la geometría de la Figura 2-16. El punto de cambio de herramientas es (X0 Y0 Z0) y coincide con el cero máquina y con el cero pieza.
Bruto Cilindro Z, 20 â 100 ∆ (mm). Situado centrado y apoyado sobre el plano Z-190.
20 Ø 100 R20 3 R 20 30°
Figura 2-16 Geometría para ejemplos de programación con G02/G03 en Fresadora N0010 G71 G91 G94 G96 F100 S2000 T2.2
N0020 M06
N0040 G0 X-110 Y-115 Z-168 M03 N0050 G01 Z-7
N0060 G03 X17.32 Y30 I17.32 J10 (Tray 1-2: Punto Final y Centro) N0070 A-120 I-17.32 J10 (Tray 2-3: Polares)
N0080 X17.32 Y-30 R-20 (Tray 3-1: Punto Final y Radio) N0090 X0 I0 J20 (Circunf. Completa: Punto Final y Centro) N0100 G01 Z7
N0110 G0 G90 G44 X0 Y0 Z0 (Desact. Compensación long) N0120 M30 (Fin de programa)
En la primera línea del programa se indica el modo en que se va a programar (N10), las coordenadas se darán como cotas incrementales (G91) y en mm (G71). La velocidad de avance se dará en mm/min (G94) y corresponderá al punto de corte de la herramienta (G96).
El mecanizado de los tres arcos se ha realizado como se indica en la Figura 2-17.
30° 1 2 R 20 10 20 30 17,32 2 3 150 ° 10 17,32 3 4 30° 20
Figura 2-17 Secuencia en el mecanizado de los arcos. Izq) Tray. 1-2. Centro) Tray. 2-3. Der) Tray. 3-1.
Las trayectorias se han programado del siguiente modo:
• Trayectoria 1-2 (Figura 2-17.Izq): Se ha programado en coordenadas cartesianas, con las coordenadas del centro (respecto al punto 1) y del punto final (medidas respecto a 1 porque G91 está activo).
• Trayectoria 2-3 (Figura 2-17.Centro): Se ha programado en coordenadas polares. El centro se da en coordenadas cartesianas respecto a 1). El ángulo dado es el incremento de ángulo entre el final (-150º) y el inicial (-30º), considerando el centro del arco como origen de coordenadas polares. Así: A=-150-(-30)=-120º.
• Trayectoria 3-1 (Figura 2-17.Der): Se ha programado en coordenadas cartesianas, dando el radio. La circunferencia completa (ver Figura 2-18) se ha programado en coordenadas cartesianas (dando el punto final y el radio), y también podría haberse programado del siguiente modo:
N0120 G02 A0 I0 J20
Páginas: 38
R 20
4
Figura 2-18 Circunferencia completa.
Como la función G03 es modal, sólo se ha escrito en el bloque N60, aunque permanece activo durante todas las trayectorias curvas programadas, hasta el bloque N90 (incluido).
EJEMPLO III: INTERPOLACIÓN CIRCULAR EN FRESADORA. COMPENSACIÓN DE RADIO.
El programa que se presenta en este ejemplo genera la geometría de la Figura 2-19. El punto de cambio de herramientas es (X0 Y0 Z0) y coincide con el cero máquina y con el cero pieza.
Bruto Cilindro Z, 20 â 100 ∆ (mm). Situado centrado y apoyado sobre el plano Z-190.
20 Ø 100 R20 6 R20 5 10 34,641
Figura 2-19 Geometría para ejemplo de programación con G02/G03 con compensación. N0010 G71 G91 G94 G96 F100 S2000 T2.2
N0020 M06
N0030 G43 (Act. Compensación Longitud) N0040 P1 = K6 (Diam. Herram.)