Capítulo 1
Funciones básicas de programación con CNC
1. Introducción
Dentro de una empresa dedicada al mecanizado de piezas por arranque de viruta, los profesionales en producción por mecanizado pueden ocupar diferentes puestos de trabajo relacionados con la fabricación mediante sistemas CNC.
El trabajo con máquinas herramientas automáticas de control numérico implica la realización de múltiples actividades, como pueden ser labores de manejo, preparación, puesta a punto y por supuesto, fabricación de piezas. En la mayoría de los casos, los programas de control numérico necesarios para la fabricación de las piezas los realizarán los especialistas programadores en el departamento de programación u oficina técnica. No obstante, es muy común que el propio operario de este tipo de máquinas lleve a cabo pequeñas modificaciones y/o correcciones a pie de máquina de programas de control numérico y que realice programas para la fabricación de piezas de geometría sencilla.
Para el correcto desempeño de cualquiera de las actividades mencionadas anteriormente, será imprescindible disponer de nociones sobre las funciones básicas de programación con CNC.
2. Sistemas de coordenadas y puntos de origen
El Control Numérico Computerizado (CNC) es un sistema de automatización que aplicado a una máquina herramienta controla todas las acciones de la misma, consiguiendo que esta ejecute una secuencia de operaciones y movimientos que se establecen previamente en el programa CNC. De este modo se puede automatizar diferentes acciones de una máquina, como pueden ser los movimientos de los carros y el cabezal, los cambios de herramientas, las velocidades de trabajo, etc.
El programa CNC consiste en un conjunto de instrucciones detalladas que indican a la máquina lo que debe hacer, siguiendo una secuencia lógica de trabajo. El programa se escribe sobre un archivo informático, utilizando un lenguaje especial (código) que incluye letras y números.
Ejemplo de una trayectoria de una herramienta de corte que debe generar una geometría sobre una pieza
Nota
El programador establece las trayectorias que deben seguir las herramientas definidas de acuerdo con un sistema de coordenadas y las condiciones de trabajo y traduce estos datos a un lenguaje o código que sea capaz de entender la máquina.
2.1. Sistemas de coordenadas
Para definir en el programa CNC las trayectorias que debe seguir la herramienta se define la posición de una serie de puntos. Para que la máquina pueda trabajar con las cotas de posición especificadas, estos datos deben darse en un sistema de referencia que coincida con las direcciones de desplazamiento de los carros de los ejes. Para ello, se utiliza un sistema de coordenadas con los ejes X, Y y Z. Este es el denominado sistema de coordenadas cartesiano. En tornos basta un plano para definir el contorno, mientras que para fresados es necesario indicar también la profundidad (penetración).
Definición de la posición de puntos en sistemas de coordenadas cartesianas rectangulares bidimensional usado para tornos (izquierda) y tridimensional usado para fresadoras (derecha)
Cuando se desea indicar una secuencia correlativa de puntos existen dos modos diferentes de hacerlo:
Ejemplo
Indicación de posición de puntos en coordenadas absolutas:
Posición de puntos en un sistema de coordenadas cartesiano empleando acotación absoluta
Indicación de posición de puntos en coordenadas incrementales:
Posición de puntos en un sistema de coordenadas cartesiano empleando acotación incremental
Existe otra posibilidad para definir las coordenadas de un punto, el sistema de “coordenadas polares”. El sistema de coordenadas polares se utiliza generalmente cuando la pieza o una parte de ella está acotada con radios y ángulos. El punto donde se cortan los radios se denomina “polo”.
Ejemplo
Indicación de posición de puntos en coordenadas polares:
Posición de puntos en un sistema de coordenadas polares
Para obtener una determinada geometría sobre una pieza mediante arranque de viruta, cualquier máquina herramienta dispone de movimiento relativo entre pieza y herramienta en los ejes coordenados del espacio.
Nota
Esto posibilita mecanizar en la pieza, y según la tipología de máquina, diferentes tipos de superficies planas o curvas.
El movimiento relativo entre la pieza y la herramienta de corte puede efectuarse de diferentes maneras. Puede desplazarse la herramienta mientras que la pieza se mantiene inmóvil o viceversa. También puede darse el caso combinado de que alguno de los movimientos (en X, Y o Z) lo tenga la herramienta y el resto la pieza. Lo anterior depende de la estructura elegida por cada fabricante de máquinas herramientas para cubrir las diferentes necesidades de la industria. Para que un programa de CNC pueda controlar tanto una máquina como otra, se determina que solo se moverá la herramienta, permaneciendo la pieza quieta.
Esta forma de interpretar los movimientos y los ejes de coordenadas hace mucho más sencilla la programación, pues no se tiene que pensar continuamente qué es lo que verdaderamente se mueve.
2.2. Regla de la mano derecha
Como ayuda nemotécnica para conocer la dirección positiva (+) de los diferentes ejes de movimiento de cualquier máquina sirve la llamada regla de la mano derecha (según DIN 66217).
Situándose delante de la máquina con el dedo corazón de la mano derecha en dirección opuesta a la dirección de penetración del cabezal, entonces:
3. Estructura de un programa CNC
Un programa de control numérico es un conjunto de información codificada que se traduce en una serie de órdenes y pasos que se producen de forma correlativa. Estas órdenes tienen que efectuarse en una secuencia lógica establecida para que el control de la máquina herramienta sea capaz de ejecutarlas.
La labor o conjunto de tareas que son necesarias realizar para obtener un programa de control numérico se denomina programación. Por lo tanto, el objetivo del hecho de programar es obtener un programa CNC con el que se pueda mecanizar una determinada pieza.
Todo programa CNC contiene y va alternando información de tipo geométrico (trayectoria de la herramienta, situación del origen de coordenadas, etc.) y de tipo tecnológico (dimensiones de herramienta, datos de corte, uso de refrigerante, etc.).
Según la clase de estructura del programa, la programación CNC puede ser del tipo cerrada o abierta. La del tipo cerrada es la clase de programación que se realiza siguiendo una tabla o estructura de forma más o menos aislada. Este sistema de programación se utiliza poco actualmente.
Ejemplo
En este fragmento de estructura cerrada se puede observar como las líneas del programa están perfectamente estructuradas, y aunque falte algún dato en alguna de las líneas, la casilla o espacio correspondiente se tiene que respetar.
N |
G |
X |
Y |
Z |
M |
001 |
00 |
-20 |
-5 |
||
002 |
01 |
-20 |
-5 |
-3 |
03 |
003 |
90 |
08 |
|||
004 |
01 |
130 |
-5 |
-3 |
|
005 |
05 |
La programación del tipo abierta es la más utilizada por los fabricantes de controles y se trata de un sistema que permite escribir líneas con solamente dos caracteres o líneas con hasta 250 caracteres, pero con unas normas a respetar y en el orden de escritura predeterminado.
Ejemplo
En este fragmento de programa de estructura abierta se puede observar como las líneas contienen solamente los caracteres correspondientes a las funciones deseadas, siguiendo únicamente ciertas normas y orden de escritura.
N10 G00 G90 X-20 Y-5 Z30 F120 S1200 T2.2
N20 Z-3
N30 G01 X130 M03 M08
N40M05
N50 M30
3.1. Sistema ISO de programación CNC
El sistema ISO es un estándar de normalización, y como ocurre en otros ámbitos de la industria tiene como objeto la estandarización internacional de normas en la fabricación. En este caso está aplicado a la estructura de programación CNC.
La mayoría de los fabricantes actuales de sistemas de control numérico basan sus lenguajes de programación en el estándar ISO. No obstante, la tecnología de fabricación y las innovaciones de los fabricantes han evolucionado más rápido que la normalización, y esto ha llevado a que existan diferencias e incompatibilidades entre los lenguajes de programación de las distintas marcas.
Nota
A pesar de ello las estructuras de programación son muy similares, por lo que, una vez aprendido un sistema, resulta fácil adaptarse al resto.
3.2. Frases y palabras en programación CNC
La estructura básica de un programa CNC está compuesta por frases o bloques, y las frases contienen palabras.
Por lo tanto, un programa para la mecanización de una pieza con una geometría en particular estará compuesto por un texto con una serie de líneas (desde unas pocas hasta miles) que se llaman bloques o frases y esas frases contienen palabras (una sola o varias). Como se muestra más adelante, las palabras están formadas por letras y números. La unidad de control de la máquina herramienta CNC lee las frases en el orden en el que se han escrito en el texto, y conforme a las palabras que contenga cada frase, la máquina realizará un movimiento o actividad. Por eso es necesario que el operario de este tipo de máquinas y el técnico de programación conozcan todos estos términos y su significado.
En la estructura de frases de un programa completo de CNC se suelen distinguir tres partes:
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:
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:
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:
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
Esta palabra está compuesta por la letra X seguida de un número. En máquinas con tres ejes de movimiento como fresadoras CNC y centros de mecanizado, este número define la posición del cabezal de la maquina (eje de la herramienta) en dirección del eje de coordenada “X” respecto al cero pieza o centro de referencia que el programador ha fijado al comenzar a realizar el programa. En tornos CNC este número define la posición de diámetros o radios del mecanizado de la pieza de trabajo.
El formato a utilizar es un número de cuatro dígitos para la parte entera y cuatro dígitos para la parte decimal, en un rango de datos que va desde −9999.9999 hasta 9999.9999.
4.4. Y / Z - Coordenada
Todo lo indicado para la palabra correspondiente a la coordenada “X” ocurre para las coordenadas “Y” y “Z”. Para torno CNC la coordenada Z se corresponde con las longitudes del mecanizado.
El orden de colocación de las tres coordenadas ha de ser siempre el mismo: X, Y, Z. Las coordenadas son modales. Aunque se omita alguna de ellas el orden debe ser respetado siempre.
Ejemplo
Abajo se muestran varios bloques de un programa CNC. Los tres bloques de la izquierda no podrían ejecutarse en una máquina herramienta CNC porque no respeta el orden de escritura de las coordenadas X, Y, Z. Los tres bloques de la derecha están programados correctamente.
N50 Z-8 X25 |
N50 X25 Z-8 |
|
N60 Z-10 Y135 |
N60 Y135 Z-10 |
|
N70 Y100 X60 |
N70 X60 Y100 |
4.5. (----) - Comentarios
Se pueden escribir comentarios siempre y cuando se enmarquen entre paréntesis. Todo lo escrito entre paréntesis no tiene efecto sobre las acciones de la máquina. Su finalidad es la de indicar, a título informativo, datos en el programa que recuerden al operario de la máquina anotaciones fundamentales, tales como tipo de herramienta, inicio de una operación concreta de mecanizado dentro del programa, etc.
4.6. Cabecera de programas CNC
Se denomina cabecera de programa a dos o tres líneas que se colocan al inicio del texto, donde se indican las preferencias del programador.
Recuerde
En la estructura de frases de un programa completo de CNC se suelen distinguir tres partes: cabecera de programa, secuencia de movimientos para el mecanizado y fin de programa.
El uso de esta cabecera en el inicio de los programas no es obligatorio, pero sí muy aconsejable. El control, al iniciarse, tiene una serie de funciones preparatorias (G) y auxiliares (M) activas por defecto. Si se empieza un programa de nuevo, y al leer las primeras líneas no se indica el estado en que se desea iniciar dichas funciones, se puede encontrar con resultados inesperados.
Las funciones que generalmente se muestran en la cabecera de los programas se eligen de entre las siguientes:
Funciones cabecera control FAGOR 8025-M |
|||
---|---|---|---|
Función |
Denominación |
Modal |
Activa |
G54-G59 |
Decalajes (traslado de origen) |
Modal |
|
G70 |
Programación en pulgadas |
Modal |
|
G71 |
Programación en mm |
Modal |
Activa |
G90 |
Programación en cotas absolutas |
Modal |
Activa |
G91 |
Programación en cotas incrementales |
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 |
M03 |
Giro del cabezal a derechas |
Modal |
G53 / G59 - Decalaje traslado de origen
El programador puede elegir el origen de coordenadas de la pieza (W) que más le facilite su trabajo. En todos los casos, al comenzar la labor de preparación de la máquina para el mecanizado, el operario tendrá que comunicar al control en qué lugar del sistema de coordenadas fijo del aparato (M) debe estar situado el punto cero del sistema de coordenadas de la pieza (W).
Definición
Decalaje
Es la distancia que existe entre el cero máquina y el cero pieza. Esta distancia se puede medir en la misma máquina y se indican en las direcciones X, Y, Z según el tipo de máquina.
Las distancias se anotan en el control de la máquina en una tabla de decalajes. La tabla permite la introducción de hasta siete decalajes diferentes, y cada uno de ellos se relaciona con las funciones G53 a G59.
Al poder registrar en el control varios decalajes del punto de origen (del G53 al G59) se facilita el mecanizado múltiple. Se pueden mecanizar varias piezas simultáneamente, cada una de ellas con su propio “cero pieza”.
Relación entre el origen de coordenadas fijo de la máquina y el origen de coordenadas de la pieza programada a mecanizar
G94 - Velocidad de avance en mm/min y G95 – Velocidad de avance en mm/rev
Estas dos funciones están relacionadas con el formato que se utilice para expresar la velocidad de avance F de la herramienta sobre la pieza. El valor de F puede expresarse en mm/min o en mm/rev.
Con la función G94 o G95 lo que se hace es activar un sistema u otro. Esta función suele escribirse en la cabecera y quedará activa para todo el programa.
G70 - Programación en pulgadas y G71 - Programación en mm
Las funciones G70 y G71 se emplean para indicar al control de la máquina si las coordenadas utilizadas en el programa están expresadas en pulgadas (G70) o en milímetros (G71). Estas funciones son contradictorias entre sí y ambas son modales, por lo que siempre estará activada una de ellas por defecto.
Nota
El sistema más utilizado en nuestro país es el G71 (mm), y es el que el control activa por defecto si en la cabecera del programa no se le indica ninguno de los dos.
G90 - Programación en cotas absolutas y G91 - Programación en cotas incrementales
Un programa CNC define, entre otras acciones, los movimientos que debe realizar la herramienta de corte sobre la pieza para obtener una determinada geometría. Estos movimientos quedan definidos por trayectorias que pasan por una serie de puntos en el espacio de trabajo. Como ya se sabe, para indicar la posición de una secuencia correlativa de puntos se pueden utilizar dos tipos de coordenadas: absolutas o incrementales.
Es importante que cuando se inicie un programa se conozca el sistema de coordenadas que se va a utilizar, por lo que es aconsejable colocar en la cabecera el valor deseado: G90 si las coordenadas que se van a indicar a continuación en el programa se expresan en absolutas, o G91 si se hace en incrementales. En un programa se pueden cambiar ambos sistemas tantas veces como se quiera.
En el mecanizado por arranque de virutas se suele programar siempre en valor absoluto, porque resulta muy cómodo y útil poder conocer el lugar respecto un punto fijo donde debe estar la herramienta, leyendo directamente cualquier línea del programa independientemente de todas las anteriores.
Recuerde
Con un sistema de coordenadas absolutas se introducen las coordenadas de cada punto haciendo siempre referencia directa con el origen.
Los sistemas de coordenadas relativas o incrementales hacen referencia al último punto indicado. El origen de coordenadas se va desplazando y colocando en el último punto marcado.
5. Identificación de las funciones relacionadas con las condiciones tecnológicas
A continuación se muestra con detalle la identificación de las funciones relacionadas con las condiciones tecnológicas, como son la velocidad de giro, la indicación de la velocidad de avance, la designación y el corrector de la herramienta de corte.
5.1. S - Velocidad de giro
Esta palabra está compuesta por la letra S seguida de un número que se corresponde con el valor de la velocidad de giro de la herramienta o de la pieza, según la máquina. El valor de esta velocidad puede expresarse en r.p.m. (revoluciones por minuto), en cuyo caso, la velocidad de giro permanecerá constante según el valor fijado. Para tornos CNC la velocidad puede expresarse por el valor de la Vc (velocidad de corte de la herramienta en m/min), en cuyo caso las r.p.m. van cambiado según el diámetro de trabajo en cada momento.
Importante
Si no se introduce ningún valor de S al comenzar el mecanizado, la máquina entenderá que tendrá que girar a 0 rpm, por lo que aunque se le dé la orden de girar no lo hará por estar en valor 0.
5.2. F - Indicación de la velocidad de avance
Esta palabra está compuesta por la letra F seguida de un número. Se utiliza para indicar a la máquina la velocidad a la que debe desplazarse la herramienta de corte cuando esté mecanizando a velocidad controlada. Esta velocidad se suele denominar “velocidad de avance”, y se puede expresar en dos formatos o unidades diferentes:
5.3. T - Herramienta de corte
El código T identifica la herramienta que se quiere seleccionar. La palabra T va acompañada de un número que se corresponde con el que le asigna el programador a cada una de las herramientas de corte que usará para el proceso completo de mecanizado del programa CNC.
Las herramientas pueden estar en un almacén gestionado por el CNC o en un almacén manual.
5.4. D - Corrector de herramienta
Con los correctores de herramienta se definen las dimensiones de esta. Cada herramienta puede tener asociados varios correctores.
Para activar un corrector, este debe haber sido definido previamente. Para ello, el CNC dispone en la tabla de herramientas de una sección en la que se pueden definir varios de ellos.
En el programa se puede hacer referencia a cada corrector de diferentes maneras. Los formatos más utilizados entre los fabricantes son los siguientes:
6. Interpolaciones circulares (lineales) en avance programado y máximo de la máquina
A continuación, se estudiará en qué consiste una interpolación circular y una interpolación lineal. Como se verá, solamente las de tipo lineal se pueden realizar a velocidad controlada mediante el programa o a la máxima velocidad de la máquina.
Para fabricar una pieza mediante mecanizado de CNC hay que definir en el programa los movimientos que deben realizar las herramientas de corte sobre un trozo de materia prima. Estos movimientos se clasifican en simples generalmente rectilíneos o curvos.
En operaciones de torneado la trayectoria del filo de la herramienta a programar coincide con el perfil de la geometría a mecanizar. En cambio, en operaciones de fresado la trayectoria programada se corresponde con la que debe seguir el centro de la herramienta, y por lo tanto depende del diámetro de esta.
Secuencia de movimientos de la herramienta para mecanizar el contorno de una pieza en fresadora (izquierda) y en torno (derecha)
6.1. Interpolación lineal a velocidad de avance máxima
Con la función G00 se programan todos los desplazamientos rápidos y en línea recta que tenga que realizar la herramienta durante el proceso de mecanizado. Cuando se habla de movimiento rápido se refiere a la máxima velocidad que es capaz de alcanzar los ejes de movimiento de la máquina. Esta velocidad varía en función del fabricante y características del aparato, pero actualmente, en todos ellos, los movimientos suelen ser muy rápidos, pudiendo alcanzar 80.000 mm/min.
Nota
En estos tipos de movimientos no existe contacto entre la pieza y la herramienta.
Esta función se suele emplear en movimientos de aproximación de la herramienta a la zona de trabajo de la pieza, entre diferentes pasadas o retiradas al finalizar una operación. Es conveniente utilizar esta función siempre que sea viable para emplear el menor tiempo posible en la mecanización de la pieza, no obstante es muy importante tener en cuenta lo siguiente: si la herramienta de corte entra en contacto con la pieza durante un desplazamiento rectilíneo rápido del tipo G00 se producirá la rotura inmediata de esta, y posiblemente se provoquen otros tipos de daños en la máquina.
La función G00 es modal, es decir, una vez escrita en una línea del programa permanece activa y no es necesario escribirla en líneas sucesivas. La función G00 se anula con alguna de las funciones G01, G02, G03 o G33.
Al emplear la función G00, no se anula la F que esté programada anteriormente, manteniéndose en la memoria de la máquina hasta que se active o cambie por otro valor F.
Extracto de programa CNC donde se combinan interpolaciones lineales a máxima velocidad y a velocidad programada
6.2. Interpolación lineal a velocidad de avance programada
Los desplazamientos en línea recta arrancando material de la pieza que debe realizar la herramienta para el mecanizado se programan con la función G01. La velocidad de estos desplazamientos queda fijada por la función F.
La función G01 es modal, por lo tanto, una vez escrita en una línea del programa permanece activa y no es necesario escribirla en líneas sucesivas. La función G01 se anula con alguna de las funciones G00, G02, G03 o G33.
Movimiento de fresa realizando una interpolación lineal a velocidad de avance programada
Ejemplo
Abajo se muestra un extracto de un programa CNC de torno. En él se observa como ha sido programada la última pasada de acabado del contorno de una pieza de revolución. Han sido proyectados la posición de los puntos que definen ese contorno según el origen de coordenadas marcado. Esos puntos se corresponden con los puntos que sigue el filo de la herramienta cuando se ejecuta el programa en la máquina.
N0070 G95 F0.04 S1000 T1.1 M4
N0080 G0 X15 Z0
N0090 G1 X20 Z-28
N0100 Z-64
N0110 X32
N0120 X40 Z-74
N0130 Z-99
N0140 G0 X50 Z0
N0150 M30
6.3. Aplicación práctica sobre modificaciones de una pieza
Suponga que ocupa un puesto como operario de máquinas CNC. La empresa donde trabaja practica políticas de incentivos sobre aquellos empleados que aporten soluciones de mejora sobre los procesos de fabricación. En este momento se encuentra fabricando la pieza que se indica en la figura con el programa CNC que se adjunta. ¿Sería usted capaz de plantear alguna modificación que suponga una mejora?
Solución
En primer lugar se tiene que analizar cada uno de los movimientos que describe la herramienta de corte sobre la pieza, así como los movimientos de aproximación fuera de ella.
Del análisis anterior se comprueba que existen movimientos externos a la pieza sin producirse arranque de viruta que se realizan a velocidad controlada. Si estos se realizasen a la velocidad máxima de la máquina se conseguirá una reducción en el tiempo total del proceso de mecanizado.
Con la mejora realizada el programa quedaría de esta manera:
7. Interpolaciones circulares en sentido horario y anti-horario
En la mayoría de ocasiones, el programador se encontrará ante la necesidad de que la herramienta describa un movimiento circular para obtener la forma final de la pieza. En estos casos se tendrá que recurrir a un tipo de funciones (palabras tipo G) que permiten realizar un movimiento circular (círculo completo o un arco de círculo) de la herramienta. Se trata de las funciones G02 y G03 que se mostrarán a continuación.
Con la función G02 y G03 se programan movimientos circulares a velocidad controlada (por medio de la función F). Por lo tanto, las interpolaciones circulares se emplean para movimientos de mecanizado con la herramienta cortando material.
La diferencia entre G02 y G03 se encuentra en el sentido en que se realiza el círculo o el sector de círculo (arco). Según esto:
Las funciones G02 y G03 se pueden escribir como G2 y G3 y se pueden programar solas o con más funciones preparatorias, siempre que no sean contradictorias. Las funciones G2 y G3 son modales y se anulan entre sí o con las funciones G00, G01 y G33.
La función G2 o G3 debe ir acompañada de datos que definan exactamente el arco que se quiere describir con la herramienta (punto inicial, punto final, radio de curvatura, etc.). Según el tipo de datos que acompañan a la función G2/G3 existen diferentes formatos de programación de un arco.
En este capítulo se mostrarán dos formatos diferentes de programar un desplazamiento circular de la herramienta:
7.1. Interpolación circular con punto final y radio del arco
El formato de programación es el siguiente:
Donde:
Los datos necesarios para programar el arco los tendrá que obtener el programador del plano o dibujo realizado en CAD (software para realizar dibujo asistido por ordenador) correspondiente de la pieza.
Al programar la función G02 o G03 con este formato de radio del arco se dará la circunstancia de que pueden existir dos soluciones, ya que en el programa no se indica el centro de la circunferencia en ningún momento. En el caso de que un arco que esté comprendido en un ángulo mayor de 180º, se recurre a los caracteres + y –, introduciendo el valor del radio con dichos signos, para que el control de la máquina entienda cuál de los dos caminos debe escoger.
Ejemplo
Ejemplo de interpolación circular con punto final y radio del arco (unidades en pulgadas):
7.2. Interpolación circular con punto final y centro del arco
El otro modo de programar un círculo o un arco de círculo, es utilizando como datos las coordenadas del punto final del arco y la posición del centro de dicho arco:
Donde:
Los datos de las distancias I y J se darán siempre en valores incrementales, independientemente del sistema de programación que se esté usando. Es decir, se tiene que tener en cuenta la posición del centro del arco además de las distancias respecto al punto inicial.
Ejemplo
Extracto de programa para el mecanizado de una ranura circular usando coordenadas absolutas:
N20 G0 G90 X35 Y60 Z3
N30 G1 Z-5 F100
N40 G3 X50 Y45 I0 J-15 F500
7.3. Aplicación práctica sobre la realización de cambios en un programa
El encargado de la empresa de mecanizado donde trabaja usted como operario de máquinas CNC le pide que realice algunos cambios sobre un programa ya existente. Abajo se muestra el programa del que se dispone actualmente y una imagen que indica las modificaciones que se pretenden implementar sobre la pieza. ¿Podría indicar qué cambios efectuaría usted en el programa original?
Solución
Lo primero que hay que realizar es un estudio del dibujo o el plano donde se especifican los cambios que ha sufrido la geometría de la pieza. De él se deduce que se deben incorporar cuatro redondeos en la ranura que recorre el interior de la pieza.
Esta modificación supone tener que introducir en el programa existente cuatro nuevos bloques para programar las cuatro interpolaciones circulares, así como corregir varias coordenadas en las interpolaciones lineales:
8. Significación de las funciones M
Las palabras de programación “tipo” M se conocen con el nombre de funciones auxiliares. Estas funciones están compuestas por la letra M seguida de un número de dos dígitos entre 00 y 99. Con las funciones M se gobiernan todos los aspectos auxiliares del mecanizado, tales como la puesta en marcha de la herramienta o de la pieza y de los sistemas de refrigeración (taladrina), finalización de programas, etc.
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í.
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: M03 = M3).
Funciones auxiliares control FAGOR 8025-M |
|||
---|---|---|---|
Función M |
Denominación |
Modal |
Activa |
M00 |
Parada programa |
||
M01 |
Parada condicional del programa |
||
M02 |
Fin de programa |
||
M03 |
Giro del cabezal a derechas |
Modal |
|
M04 |
Giro del cabezal a izquierdas |
Modal |
|
M05 |
Parada del cabezal |
Modal |
Activa |
M06 |
Cambio de herramienta |
||
M08 |
Puesta en marcha del refrigerante |
Modal |
|
M09 |
Desactivar refrigerante |
Modal |
Activa |
M10 |
Abrir puerta |
||
M11 |
Cerrar puerta |
||
M17 |
Abrir plato de garras |
||
M18 |
Cerrar plato de garras |
||
M19 |
Orientación del cabezal para el cambio |
||
M22 |
Operación con palets |
||
M30 |
Fin de programa y vuelta al inicio |
De todas las funciones auxiliares, a continuación se muestran las más características.
8.1. M03 - Giro a derecha del cabezal
Esta función es la encargada de la puesta en marcha del cabezal principal. En el caso de las fresadoras, el cabezal principal es donde se encuentra la herramienta de corte, mientras que en tornos, es donde se fija la pieza a mecanizar. La velocidad a la que gira la fresa cuando se ejecuta la función M03 es la que se le indique con la función S. La palabra S se escribe en la misma línea donde se coloque M03 o en otra línea anterior del programa.
Importante
La función M03 deberá estar escrita en el programa antes de que la herramienta entre y haga contacto con el material de la pieza a fabricar, de lo contrario se producirá la rotura de la herramienta. Si no se indica un valor de S (velocidad de giro del cabezal), el control entenderá que es 0, y también se provocará la rotura de la herramienta.
8.2. M04 - Giro a izquierda del cabezal
Esta función sigue la misma mecánica que M03. La diferencia se encuentra únicamente en el sentido en el que girará el cabezal principal.
8.3. M05 - Parada del cabezal
Se emplea cuando se desea detener el cabezal donde está montada la herramienta o la pieza, según la máquina. Esta función se suele colocar en la frase correspondiente del programa cuando una herramienta se va a retirar y efectuar el cambio por otra herramienta. Si no se introduce, la máquina frenará el cabezal de todos modos cuando se solicite un cambio de herramienta con la función M06.
8.4. M06 - Cambio de herramienta
Es muy común que las máquinas herramientas de control numérico dispongan de un almacén interno donde se colocan todas las herramientas necesarias para la fabricación de las piezas, y un mecanismo automático capaz de intercambiar dichas herramientas sin intervención del operario. Al leer la función M06, la máquina realiza el cambio físico real de una por otra. Es decir, el aparato retira la herramienta que tenía en posición de trabajo en ese momento y coloca la nueva que se ha designado previamente con la función T.
En el caso de máquinas con cambio manual de herramientas, también es necesario utilizar la función M06 cuando sea necesario cambiar una por otra, y desde el punto de vista de programación, no hay diferencia entre ambas.
8.5. M08 - Puesta en marcha del refrigerante y M09 – Paro del refrigerante
Habitualmente, se usa refrigerante de corte (taladrina o aceite) en todo tipo de mecanizado y hay que activarlo (M08) antes de que la herramienta de corte entre en contacto con la pieza y desactivarlo (M09) para realizar un cambio de herramienta. Estas funciones son muy simples y actúan como un interruptor.
Uso de refrigerante de corte durante el mecanizado en un centro de mecanizado CNC
8.6. M30 - Fin de programa y vuelta al inicio
Con esta palabra escrita en última posición de la última frase del programa CNC se indica a la máquina que se ha terminado el trabajo de mecanización. Al leer la unidad de control la palabra M30, la máquina se detiene y el control regresa a la primera frase del programa para poder ser ejecutado de nuevo desde el principio cuando el operario lo desee. Todos los programas que se realicen deben llevar la función M30 como final de programa.
8.7. Aplicación práctica sobre errores en un programa CNC
Suponga que se encuentra trabajando como operario de máquinas CNC. Abajo se muestra un extracto del programa con el que usted se dispone a fabricar una pieza. Sin tener en cuenta la geometría de la pieza, ¿detecta usted algún error en el programa CNC?
Solución
Si se realiza una lectura y análisis de las primeras líneas del programa y conociendo las funciones básicas de programación, se puede deducir un error grave. El error consiste en que el cabezal principal no gira durante el mecanizado, y esto provocaría una rotura de la herramienta. Concretamente, el cabezal no gira durante el mecanizado porque falta la función auxiliar M03. Esta función debe figurar en alguna línea antes de que se produzca un contacto de la herramienta con la pieza de trabajo en velocidad de avance programado.
A continuación se muestra el programa con la función M03 incorporada.
9. Fabricante
Las máquinas herramientas CNC para el mecanizado por arranque de virutas se componen de dos elementos fundamentales: la unidad de control y el equipo de procesado. La unidad de control es la encargada de leer el programa CNC, interpretarlo y convertirlo en señales eléctricas o electrónicas que gobiernan los motores de los carros, cabezal y demás sistemas del equipo de procesado, que es la parte física de la máquina que realiza el trabajo útil de mecanizado.
El empresario puede encontrar en el mercado fabricantes de unidades de control (CNC) y fabricantes de equipos de procesado por separado, así como fabricantes de equipos de procesado con controles propios. De esta forma se puede hallar una misma marca de máquina herramienta equipada con diferentes marcas comerciales de unidades de control.
En la siguiente tabla se enumeran los principales fabricantes de unidades de control CNC.
FABRICANTES DE CNC |
||||
---|---|---|---|---|
Fabricante |
Tecnología de mecanizado |
CNC propio |
||
Torneado |
Fresado |
Otros |
||
FAGOR |
X |
X |
||
FANUC |
X |
X |
X |
|
HAAS |
X |
X |
haas |
|
HEIDENHAIN |
X |
X |
||
MAZAK |
X |
X |
mazatrol |
|
MITSUBISHI |
X |
X |
X |
|
OKUMA |
X |
X |
okuma |
|
SIEMENS |
X |
X |
X |
10. Resumen
De todo lo visto en este capítulo, y a modo de resumen, se puede extraer algunas conclusiones que ayuden a entender de forma global la estructura y funciones básicas de un programa de control numérico:
Ejercicios de repaso y autoevaluación
1. Un sistema de coordenadas cartesiano...
2. La regla de la mano derecha...
3. La siguiente figura representa una secuencia de puntos que parten del centro de coordenadas “W1”. Debe rellenar la tabla indicando las coordenadas cartesianas absolutas o incrementales según el caso. Se considera que cada recuadro tiene un valor de 10 mm de lado.
Punto |
Coordenadas Absolutas |
Coordenadas Incrementales |
||||
---|---|---|---|---|---|---|
X |
Y |
Z |
X |
Y |
Z |
|
W1 |
||||||
1 |
||||||
2 |
||||||
3 |
||||||
4 |
||||||
5 |
||||||
6 |
||||||
7 |
||||||
8 |
||||||
9 |
||||||
W1 |
4. En las máquinas de control numérico actuales, el tipo de estructura de programación más utilizado es:
5. Complete la siguiente oración.
Un programa para la mecanización de una pieza con una geometría en particular estará compuesto por un _______________ con una serie de ____________ (desde unas pocas hasta miles) que se llaman ____________ o ___________ , y donde esas frases contienen ______________ (una sola o varias).
6. De las siguientes frases, indique cuál es verdadera o falsa.
Todos los programas CNC deben tener un nombre o un número que lo identifique. Algunos controles numéricos solo aceptan números.
En programación ISO, todas las letras se escribirán en mayúsculas.
En un programa CNC, los datos (palabras) modales están siempre activos y no se pueden anular.
Se denomina cabecera de programa a dos o tres líneas que se colocan al inicio del texto, donde se indican las preferencias del programador.
7. Para indicar el tipo de unidades que se utilizan para establecer las coordenadas de movimiento se utilizan las funciones...
8. De las siguientes frases, indique cuál es verdadera o falsa.
Con la letra S seguida de un número se indica a la máquina la velocidad de avance de la herramienta.
Los correctores de herramienta definen las dimensiones de la herramienta.
Si no se programan las funciones auxiliares M03 o M04, la herramienta no comenzará a girar.
La palabra M30 en programación se utiliza para conectar la salida de refrigerante de corte.
9. Con la función G00 se programan desplazamientos...
10. Cuando se necesita describir una trayectoria circular con la herramienta de corte se utilizan...