En la estructura de frases de un programa completo de CNC se suelen distinguir tres partes:
1 Cabecera de programa.
2 Secuencia de movimientos para el mecanizado.
3 Fin de programa.
Aunque el estándar de normalización ISO no obliga a seguir esta estructura de tres partes diferenciadas, ni hace referencia a los contenidos que debe incluir cada una de ellas, la experiencia práctica ha demostrado su enorme utilidad, reduciendo los tiempos de preparación y ajustes durante el trabajo, así como disminuyendo el número de incidentes en la fabricación. De forma general, esto puede cambiar según las preferencias del programador o forma de trabajo dentro de la empresa.
Los contenidos recomendados para cada una de las tres partes fundamentales de un programa CNC son los siguientes:
1 Cabecera de programa: identificación del programa, pieza que se fabrica con él, plano asociado, cliente, operaciones que se realizan en el programa, descripción de las herramientas de corte, sistema de coordenadas utilizado para definir la posición de puntos y sistema de unidades empleado por el programador, formato de velocidad de avance y cualquier comentario que resulte útil a los profesionales que intervienen en el proceso de elaboración del producto.
2 Secuencia de movimientos para el mecanizado: suele ser la parte más extensa del programa y es la encargada de definir con cada uno de sus bloques las trayectorias de movimiento de la herramienta sobre la pieza produciendo el arranque de viruta hasta obtener la geometría final de la pieza.
3 Fin de programa: suele incluir funciones específicas que indican a la máquina que el proceso de mecanizado ha terminado. Además es recomendable que contenga órdenes que desactiven otras funciones modales que han sido activadas en las partes anteriores del programa y que pueden producir acciones inesperadas sobre la máquina al comenzar con un trabajo o pieza nueva.
Incluso en sistemas de programación abierta es necesario respetar una serie de normas a la hora de construir las frases y palabras que van a componer un programa. Cada fabricante de controles tiene criterios diferentes, pero a continuación se indican algunas consideraciones o recomendaciones generales con los que suelen coincidir muchos controles:
1 Todos los programas CNC deben tener un nombre o un número que lo identifique. Algunos controles numéricos solo aceptan números.
2 % debe aparecer como primer carácter en la primera frase del programa.
3 Todas las letras se escribirán en mayúsculas.
4 Existen datos (palabras) modales que actúan como un interruptor. Es decir, una vez se activan no es necesario repetir la orden hasta que sea necesario cambiarla por otra diferente.
Ejemplo
Estos dos extractos de un programa son equivalentes porque muchas funciones en programación ISO son modales.
N80 G01 X35 Z-3 F850 M3 M8 |
N80 G01 X35 Z-3 F850 M3 M8 |
N90 G01 X78 Z-3 F850 M3 M8 |
N90 X78 |
4. Funciones genéricas
A continuación, se enumeran los tipos de palabras que se emplean para escribir las frases que componen un programa CNC:
1 N - Número de frase o bloque.
2 G - Funciones preparatorias.
3 X - Coordenada.
4 Y / Z - Coordenada.
5 F - Indicación de la velocidad de avance.
6 S - Velocidad de giro de la herramienta.
7 T - Nº de herramienta.
8 D - Corrector de herramienta.
9 H - Corrector de herramienta.
10 M - Funciones auxiliares.
11 (----) - Comentarios.
Ahora y en los próximos epígrafes de este capítulo se estudiará con más detalle la aplicación y modo de empleo de cada una de estas palabras “tipo” dentro de la estructura de un programa CNC.
4.1. N - Número de frase o bloque
Esta palabra está compuesta por la letra N seguida de un número que debe estar comprendido entre 0 y 9999. El número que se le conceda queda a elección del programador, siempre teniendo en cuenta que el orden de ejecución lo realizará en sentido numérico ascendente.
Es recomendable programar con un intervalo de 10 en 10, pues si al escribir un programa se tiene que intercalar un bloque con posterioridad entre otros dos, no se podrá realizar si los números son correlativos.
En muchos controles no es obligatorio su empleo, no obstante, se recomienda su uso para una mayor facilidad a la hora de la localización de una frase.
4.2. G - Funciones preparatorias
Las funciones preparatorias, también conocidas como G-codes o códigos G, están compuestos por la letra G seguida de un número de dos dígitos entre 00 y 99. Indican al sistema todos los datos que utilizará para realizar los movimientos de la máquina.
En una misma frase de programación se puede escribir más de una función (palabra) de este tipo, siempre y cuando no sean contradictorias entre sí.
Ejemplo
Con la función G02, el programador ordena a la máquina que realice un movimiento interpolado circular a derechas (sentido horario), mientras que con la función G03, se consigue un movimiento del mismo tipo, pero en sentido contrario (anti horario). Si se escriben las dos funciones en una misma frase o bloque del programa el sistema ejecutará solamente la última que lea o en algunos casos informará de que existe un error.
Si la función tiene como primer carácter un 0 se puede escribir usando los dos dígitos u obviando el cero de la izquierda (ejemplo: G01 = G1).
A continuación, se muestra el listado de funciones preparatorias para el control numérico del fabricante Fagor, modelo FAGOR 8025.
Funciones preparatorias control FAGOR 8025-M |
Función G |
Denominación |
Modal |
Activa |
G00 |
Interpolación lineal a máxima velocidad |
Modal |
Activa |
G01 |
Interpolación lineal a velocidad controlada |
Modal |
|
G02 |
Interpolación circular a derechas |
Modal |
|
G03 |
Interpolación circular a izquierdas |
Modal |
|
G04 |
Temporización |
|
|
G05 |
Trabajo en arista matada |
Modal |
Activa |
G06 |
Interpolación circular con programación de centros, en absoluto |
|
|
G07 |
Trabajo en arista viva |
Modal |
|
G08 |
Trayectoria circular tangente a la anterior |
|
|
G09 |
Trayectoria circular definida por tres puntos |
|
|
G10 |
Anulación imagen espejo |
Modal |
Activa |
G11 |
Imagen espejo en el eje X |
Modal |
|
G12 |
Imagen espejo en el eje Y |
Modal |
|
G13 |
Imagen espejo en el eje Z |
Modal |
|
G14 |
Activación del eje C en tornos |
Modal |
|
G15 |
Selección del plano C-Z |
Modal |
|
G16 |
Selección del plano C-X |
Modal |
|
G17 |
Selección del plano XY |
Modal |
Activa |
G18 |
Selección del plano XZ |
Modal |
|
G19 |
Selección del plano YZ |
Modal |
|
G20 |
Llamada a subrutina estándar |
|
|
G21 |
Llamada a subrutina paramétrica |
|
|
G22 |
Definición de subrutina estándar |
|
|
G23 |
Definición de subrutina paramétrica |
|
|
G24 |
Fin de subrutina |
|
|
G25 |
Salto llamada incondicional |
|
|
G26 |
Salto llamada condicional si = 0 |
|
|
G27 |
Salto llamada condicional si no = 0 |
|
|
G28 |
Salto llamada condicional si menor |
|
|
G29 |
Salto llamada condicional si = > |
|
|
G30 |
Visualizar código de error definido mediante K |
|
|
G31 |
Guardar origen de coordenadas actual |
|
|
G32 |
Recuperar origen de coordenadas guardado mediante G31 |
|
|
G33 |
Roscado electrónico |
Modal |
|
G36 |
Redondeo controlado de aristas |
|
|
G37 |
Entrada tangencial |
|
|
G38 |
Salida tangencial |
|
|
G39 |
Achaflanado controlado de aristas |
|
|
G40 |
Anulación de la compensación de radio |
Modal |
Activa |
G41 |
Compensación de radios a izquierdas |
Modal |
|
G42 |
Compensación de radios a derechas |
Modal |
|
G43 |
Compensación de longitud |
Modal |
|
G44 |
Anulación de la compensación de longitud |
Modal |
Activa |
G49 |
“FEED RATE” programable |
Modal |
|
G50 |
Carga de dimensiones de herramienta desde la tabla |
|
|
G52 |
Comunicación con red local Fagor |
|
|
G53 |
Decalaje 1 traslado de origen |
Modal |
|
G54 |
Decalaje 2 traslado de origen |
Modal |
|
G55 |
Decalaje 3 traslado de origen |
Modal |
|
G56 |
Decalaje 4 traslado de origen |
Modal |
|
G57 |
Decalaje 5 traslado de origen |
Modal |
|
G58 |
Decalaje 6 traslado de origen |
Modal |
|
G59 |
Decalaje 7 traslado de origen |
Modal |
|
G64 |
Mecanizado múltiple en arco |
|
|
G65 |
Ejecución independiente de un eje |
|
|
G66 |
Ciclo fijo de seguimiento de perfil en torno |
|
|
G68 |
Ciclo fijo de desbastado eje X (torno) |
|
|
G69 |
Ciclo fijo de desbastado eje Z (torno) |
|
|
G70 |
Programación en pulgadas |
Modal |
|
G71 |
Programación en mm |
Modal |
Activa |
G72 |
Factor escala |
Modal |
|
G73 |
Giro del sistema de coordenadas |
Modal |
|
G74 |
Búsqueda automática de referencia máquina |
|
|
G75 |
Trabajo con palpador |
|
|
G75N2 |
Ciclos fijos de palpador |
|
|
G76 |
Creación automática de bloques |
|
|
G77 |
Acoplamiento del 4º eje “W” o del 5º eje “V” con su asociado |
Modal |
|
G78 |
Anulación G77 |
Modal |
Activa |
G79 |
Ciclo fijo definido por el usuario |
Modal |
|
G80 |
Anulación de ciclos fijos |
Modal |
Activa |
G81 |
Ciclo fijo de taladrado |
Modal |
|
G82 |
Ciclo fijo de taladrado con temporizador |
Modal |
|
G83 |
Ciclo fijo de taladrado profundo |
Modal |
|
G84 |
Ciclo fijo de roscado con macho |
Modal |
|
G85 |
Ciclo fijo de escariado |
Modal |
|
G86 |
Ciclo fijo de mandrinado con retroceso en G00 |
Modal |
|
G87 |
Ciclo fijo de cajera rectangular |
Modal |
|
G88 |
Ciclo fijo de cajera circular |
Modal |
|
G89 |
Ciclo fijo de mandrinado con retroceso en G01 |
Modal |
|
G90 |
Programación en cotas absolutas |
Modal |
Activa |
G91 |
Programación en cotas incrementales |
Modal |
|
G92 |
Desplazamiento de origen pieza |
Modal |
|
G93 |
Preselección de origen de coordenadas polares |
Modal |
|
G94 |
Velocidad de avance F en mm/min |
Modal |
Activa |
G95 |
Velocidad de avance F en mm/rev |
Modal |
|
G96 |
Velocidad de avance superficial constante (fresadora) |
Modal |
|
G96 |
Velocidad de rotación S en m/min (torno) |
Modal |
|
G97 |
Velocidad de avance del centro de la herramienta constante (fresadora) |
Modal |
Activa |
G97 |
Velocidad de rotación S en rev/min (torno) |
Modal |
Activa |
G98 |
Vuelta de la herramienta al plano de partida al terminar un ciclo |
Modal |
Activa |
G99 |
Vuelta de la herramienta al plano de referencia al terminar un ciclo |
Modal |
|
4.3. X - Coordenada
Читать дальше