Programación de fresas y centros de mecanizado PDF

Summary

Este documento explica la programación de fresas y centros de mecanizado, destacando las funciones preparatorias, avances y velocidades constantes. Se detalla la programación con coordenadas absolutas e incrementales, así como la interpolación lineal y circular. El texto provee un conocimiento práctico y ejemplos para comprender el tema.

Full Transcript

Capítulo 8: Programación de fresas y centros de mecanizado Comenzaremos estudiando la programación de las fresadoras o los centros de mecanizado; no obstante, muchos de los conceptos que tratemos serán extensibles al torno. Funciones preparatorias definidas por defecto Los fabricantes suelen definir...

Capítulo 8: Programación de fresas y centros de mecanizado Comenzaremos estudiando la programación de las fresadoras o los centros de mecanizado; no obstante, muchos de los conceptos que tratemos serán extensibles al torno. Funciones preparatorias definidas por defecto Los fabricantes suelen definir por defecto ciertas funciones preparatorias “G”, asimilando la máquina estos parámetros, aunque no se programen; pero seremos conscientes de que podemos variar esta configuración empleando las funciones “G” correspondientes. Seguidamente analizaremos una serie de funciones preestablecidas por el fabricante. Nosotros indicamos las opciones que por defecto el control suele asumir, pero debemos contrastarlo con las instrucciones que marque el equipo, ya que son parámetros cuya configuración de fábrica puede variar; no obstante, mediante parámetros generales de máquina podremos configurarlos. Funciones de avance “F” G94 Avance en mm/min.Con la función G94 el control entiende que el avance “F” programado es en mm/min. Esta función no suele hacer falta programarla, ya que está definida por defecto por el fabricante y, cuando introducimos el valor de “F” a la máquina, el equipo se moverá en mm/min. G95 Avance en mm/revolución.Cuando programamos G95, el control entiende que el avance que introducimos es en mm/revolución. Esta función se utiliza más en el torneado, pero hay ocasiones en el fresado (muy pocas) en las que puede ser necesario programar los avances con G95. Funciones de velocidad constante Con las funciones G96 y G97 podemos mantener constante la velocidad de avance del punto de corte de la herramienta, o bien mantener constante de velocidad del centro de la herramienta. Así hablaremos de: G96 Velocidad de avance superficial constante.Cuando programamos con G96, el CNC entiende que el avance “F” programado corresponde al avance del punto de corte de la herramienta con la pieza. Con esta función conseguimos un acabado más uniforme, ya que la velocidad de contacto entre la herramienta y la pieza siempre será constante. Es una función modal y se emplea más en el torneado. G97 Velocidad de avance del centro de la herramienta constante.- (programada por defecto) Con esta función conseguimos que el avance del centro de la herramienta sea constante. Para lograrlo, la velocidad de corte en las curvas interiores aumentará y viceversa. Normalmente, esta función se emplea en el fresado, y no sería necesario programarla ya que estaría activada por defecto siendo además modal. G07 / G05 Arista viva / Arista matada.Cuando programamos en arista viva G07, la máquina no comienza la ejecución del bloque siguiente hasta que está en la posición programada; es decir, la fresa realizaría los movimientos indicados en la figura 1, tratados independientemente. Por ello, para pasar del movimiento en el eje Y al movimiento en el eje X, la fresa está obligada a detenerse un pequeño momento. Normalmente esta función está definida por defecto, y no será necesario programarla. Cuando programamos en arista matada G05, la máquina no realiza la transición de movimiento del eje Y al eje X de forma puntual, sino que al llegar a un determinado punto, la fresa empieza a rotar alrededor de la arista que debe mecanizar, suavizando todos sus movimientos (fig. 1). Al ejecutar un programa en arista matada, apreciamos un corte continuo de la herramienta con ausencia de interrupciones y, por consiguiente, un mejor mecanizado y acabado de las piezas 119 Fig. 1 Arista viva Arista matada Pieza de 150x100 Pieza de 150x100 Partimos de(X0 Y0) Partimos de(X0 Y0) G01 G07 X0 Y100 G01 G05 X0 Y100 G01 X150 Y100 G01 X150 Y100 En la versión 8070, existen dos funciones no modales de arista viva y arista matada, siendo respectivamente la G60 y la G61. G43, G44 Compensación de longitud.Cada herramienta que usamos tiene una longitud diferente, no es lo mismo una broca de Ø20 que tenga 200mm de longitud, que una fresa de Ø10 que presente una longitud de 60mm. Por ello, debemos compensar la longitud de las herramientas que usaremos, empleando la función G43. Pero, como ya hemos estudiado, cada vez que introducimos una herramienta en la máquina hay que medir su longitud y, seguidamente, añadir esos valores en la tabla de correctores. Por eso, esta función que estamos tratando en algunos equipos viene programada por defecto, y no es necesario que nosotros la programemos. Sin embargo, en otras máquinas será necesario introducirlo en la cabecera del programa para que tenga en cuenta la compensación de la longitud; es aconsejable que en el bloque donde programamos G43 haya un movimiento en el eje Z, así la máquina asimilará el corrector programado y sabrá qué longitud tiene la herramienta compensándola automáticamente. El G44 corresponde a la función que anula la compensación de longitud de herramienta. Nota: en controles anteriores al 8055, esta compensación tendrá que programarse siempre, ya que no está definida por defecto por el fabricante. En la versión 8070, la compensación de longitud de herramienta se activará o desactivará con D… ó D0 respectivamente. Funciones preparatorias Ya hemos dicho que las funciones preparatorios G son las más importantes para la programación CNC, ya que determinarán la geometría y condiciones de trabajo; seguidamente estudiaremos de forma detallada cada una de ellas. En muchas ocasiones hablaremos de funciones de interpolación, definiendo este término como el cálculo del valor aproximado de una magnitud en un intervalo, cuando se conocen algunos de los valores que toma a uno y otro lado de dicho intervalo. Esta operación de cálculo es la que realiza el CNC cuando se programa convenientemente. G00 Posicionamiento rápido.- Esta orden se refiere a un desplazamiento lineal de aproximación a la pieza. Al no tener que mecanizar material, el movimiento se realizará de forma rápida (fig. 2). En la fresa se recomienda aproximarse primero a un punto de seguridad sin hacer una interpolación en los 3 ejes, sino que nos situaríamos encima de la zona variando los ejes X e Y y después descenderíamos en Z.. G01 Interpolación lineal.- Es el movimiento de trabajo en línea recta; la velocidad de trabajo se programa mediante el avance “F” en mm/min (fig. 3). 120 Fig. 3 Interpolación lineal. Realmente, la “Z-5” no sería necesaria programarla ya que es modal y no cambia. Fig.2 Posicionamiento rápido X-200 Y20 Z50 G00 Pieza de 150x100 X0 Y 0 Z50 Mov. rápid o P2= Posición final X100 Y75 Z-5 P2 P1 Y P1= Posición inicial X50 Y25 Z-5 Y Programaríamos esta línea: G01 X100 Y75 Z-5 X X Z Z G90 / G91 Programación absoluta / Programación incremental.Cuando trabajamos en G90 o coordenadas absolutas, los puntos que vamos introduciendo van referidos a un origen previamente establecido que, normalmente, para nosotros será el origen de la pieza (fig. 4). Cuando programamos en G91, tendremos presente que consideramos el punto en el que estamos como el origen de coordenadas, por lo que introduciremos el valor de X, Y, Z del punto al que queremos desplazarnos partiendo como origen la posición en la que nos encontramos (fig. 5), y esto siempre será así mientras esté activo el G91; tanto G90 como G91 son modales. Coordenadas absolutas Fig. 4 (X0 Y25) Pieza de 150x100 Pieza de 150x100 P2 P2 P1 P3 P1 (X-50 Y-25) (X50 Y-25) (X-50 Y-25) Y P3 Y X Z Coordenadas relativas Fig. 5 X Partimos de P1 (X-50 Y-25) Partimos de P1 (X-50 Y-25) Z G90 G01 X0 Y25 G91 G01 X50 Y50 G90 G01 X50 Y-25 G91 G01 X50 Y-50 G90 G01 X-50 Y-25 G91 G01 X-100 Y0 Seguidamente expondremos la forma de realizar un programa sencillo con los conocimientos adquiridos hasta el momento. Haremos la programación incrementales. en coordenadas absolutas y en Z Y (X0, Y0) X Partiendo de una pieza, cuyas dimensiones son 200x200x40, y cuyo origen está situado en el centro de la cara superior de la pieza, se trata de realizar una isla de 180x180 con una profundidad de 5mm, empleando una fresa frontal de diámetro 10mm. 121 Nota: con los conocimientos adquiridos hasta el momento, y según estamos programando, los movimientos van referidos al centro de la herramienta, por lo que debemos tener presente que las dimensiones finales del mecanizado variarán en función del radio de la herramienta. Para que la medida final de la isla sea 180x180, programaremos una trayectoria con un desfase de 10mm respecto a la final a obtener, debido al radio de la herramienta que empleamos. A continuación, exponemos diversas formas de redactar un mismo programa; todas realizan las mismas operaciones en coordenadas absolutas, y queda a elección del programador cuál usar. La programación simplificada la presentamos en coordenadas absolutas e incrementales Programación simplificada (Coord. Absolutas) Programación completa T1 D1 M06 G90 G43 G00 X-110 Y-110 Z50 F500 S1000 M3 M8 G00 Z1 G01 Z-5 G01 X-95 Y-110 G01 X-95 Y95 G01 X95 Y95 G01 X95 Y-95 G01 X-110 Y-95 G00 X-110 Y-110 G00 Z50 M30 Programación parcialmente simplificada T1 D1 M06 G90 G43 G0 X-110 Y-110 Z50 F500 S1000 M3 M8 G0 Z1 G1 Z-5 G1 X-95 Y-110 G1 Y95 G1 X95 G1 Y-95 G1 X-110 G0 Y-110 G0 Z50 M30 G02 / G03 Interpolación circular.- T1 D1 M6 G90 G43 G0 X-110 Y-110 Z50 F500 S1000 M3 M8 Z1 G1 Z-5 X-95 Y-110 Y95 X95 Y-95 X-110 G0 Y-110 Z50 M30 Programación simplificada (Coord. Incrementales) T1 D1 M6 G90 G43 G0 X-110 Y-110 Z50 F500 S1000 M3 M8 Z1 G1 Z-5 X-95 Y-110 G91 Y205 X190 Y-190 X-205 G90 G0 Y-110 M30 Estas funciones nos permiten realizar círculos o arcos en sentido horario “G02” y en sentido antihorario “G03”, siempre con avance de trabajo “F”. En definitiva, estas funciones tienen el siguiente significado:  G02 Interpolación circular a derechas o sentido horario.  G03 Interpolación circular a izquierdas o sentido antihorario. Tendremos dos posibles formatos de programación en coordenadas cartesianas (fig. 6): 122 Fig. 6 P3 G0 3 G01 P2 2 G0 P1 P3 G01 2 G0 Para hacer cualquier giro, la máquina necesita saber el punto de partida, el punto final y el radio de giro (fig. 7). El punto de partida siempre va a ser conocido, ya que será el comienzo del giro y el lugar donde se encuentre la herramienta antes de mecanizar dicha trayectoria. El punto final se lo debemos programar con las coordenadas X e Y. Fig. 7 P1 P2 P3 Debemos prestar especial atención al radio del arco, ya que lo vamos a poder definir de dos formas: 1. Programando el valor del mismo “R” directamente; pero no es suficiente con este dato, ya que si estudiamos la geometría que se puede dar con todos los parámetros indicados, existirán varias trayectorias posibles (fig. 8). Pondremos un ejemplo para clarificar estos conceptos: imaginemos que vamos programando con un G02, lo que implica que el giro a realizar será en sentido horario; indicaremos las coordenadas del punto final, y seguidamente el valor del radio, pero si solamente diésemos estos parámetros, existirían dos posibles arcos que cumplirían todas las premisas indicadas (fig. 9). Fig. 9 Fig. 8 Cuatro posibles trayectorias Al indicar G02 ó G03 las posibles trayectorias se reducen a dos Con G02 Con G03 P2 P2 P1 P1 P2 P1 P3 P3 P3 Para eliminar este inconveniente se ha establecido un criterio de signos. Es decir, cuando el arco que queremos realizar sea menor de 180º, el valor del radio irá acompañado de un signo positivo; por el contrario, si el giro a realizar es mayor de 180º llevará signo negativo (fig. 10). De esta forma solamente existirá una posible trayectoria con los parámetros aportados al CNC. Fig. 10 Al indicar el signo al radio definimos completamente la trayectoria a realizar Con G02 Con G03 P2 P1 P2 P1 P3 P3 123 Este es el método de programación más empleado; pero en ciertas ocasiones, como para realizar una circunferencia completa, en interpolaciones helicoidales, etc., conviene usar el segundo procedimiento, que seguidamente se expone, ya que al programar con R el control puede generar errores. Se podría hacer con este método una circunferencia completa, pero en dos partes, es decir, definiendo dos arcos. 2. También podemos definir el radio mediante I y J, que serán los valores de las coordenadas del centro de giro respecto al punto inicial del arco; es decir, se considerará el punto inicial del arco como origen de las coordenadas I y J (fig. 11), debiendo indicar siempre su valor, tanto si es positivo, negativo o incluso cuando sea cero. En la tabla 12 se indica la correspondencia entre los ejes cartesianos X, Y, Z y los vectores de posicionamiento I, J, K. Fig. 11 P2 P2 Origen valores "I" y "J" Origen valores "I" y "J" P1 P1 Centro del arco P3 P3 Z Y Centro del arco X Seguidamente realizaremos un ejemplo numérico para afianzar los conceptos estudiados. Supongamos que queremos programar la trayectoria indicada en la figura 12a. La forma de proceder sería la siguiente: Fig. 12a Programando con “R” P2 (X50, Y50) G01 X50 Y50 G02 X77 Y27 R15 P1 (X10, Y50) Programando con “I”, “J” G01 X50 Y50 G02 X77 Y27 I-2 J-29 P3 (X77, Y27) Eje X → Eje Y → Eje Z → Z Y (X0, Y0) Tabla 12 Vector I Vector J Vector K X Finalmente, y para repasar lo estudiado, programaremos la pieza representada en la figura 13. En este dibujo, además de algunas cotas convencionales, se indican las coordenadas de los puntos que necesitamos para programar la pieza. Para ello hemos utilizado el modo de acotación por coordenadas que presenta el programa AutoCAD. Una vez situado el sistema de coordenadas cartesianas, las cifras dispuestas en vertical serán las coordenadas en X, mientras que los números que se muestran horizontalmente serán los correspondientes al eje Y. Lógicamente, podrán ser positivos o negativos dependiendo de la zona donde se localicen. 124 Fig. 13 Tabla 15 G06 Programación del centro del arco en coordenadas absolutas.- Programación G06 Si añadimos la función G06 en una interpolación circular, los valores de las cotas del centro del arco (I, J, K) estarán referidas al origen pieza en coordenadas absolutas, y no al comienzo del arco tal y como vimos en la función G02 / G03. T1 D1 M06 G00 G43 G90 X60 Y320 Z50 F500 S1200 M3 M8 G00 Z1 G01 Z-2.5 F10 G01 X60 Y300 F500 G06 G03 X180 Y180 I180 J300 G06 G02 X300 Y60 I180 J60 G01 X300 Y40 G00 Z200 M30 Por lo tanto, en el siguiente ejemplo, donde partimos de una pieza semielaborada y tenemos que ejecutar una ranura con la forma y dimensiones que se muestran en la figura 14, si queremos emplear la función G06, la forma de programar sería la indicada en la tabla 15. Fig. 14 Y X En la programación observamos claramente cómo los valores I y J van referidos al cero pieza. 125 Fig. 16 G08 Trayectoria circular tangente a la anterior.Con esta función, programamos una trayectoria tangente a la anterior, sin necesidad de programar el radio o las coordenadas I, J, K del centro de giro. En la programación, únicamente se deberán indicar las coordenadas del punto final del arco, pudiendo hacerlo en coordenadas cartesianas o polares, según nos sea más sencillo de programar. Pondremos un ejemplo. Supongamos que tenemos que programar la trayectoria curva de la figura 16. Sabemos que todos sus arcos son tangentes a los anteriores, tendremos en cuenta que es simétrica respecto a sus dos ejes, y al colocar el origen pieza en el centro, podremos obtener las coordenadas de los distintos puntos simplemente cambiando su signo. En definitiva, podríamos operar de la siguiente forma: T1 D1 M06 G00 G43 G90 X33.6 Y37 Z50 F500 S1200 M3 M8 G00 Z1 G01 Z-2.5 F10 G03 X59.1 Y24.7 R50 F500 G08 X59.1 Y-24.7 G08 X33.6 Y-37 G08 X-33.6 Y-37 G08 X-59.1 Y-24.7 G08 X-59.1 Y24.7 G08 X-33.6 Y37 G08 X33.6 Y37 G00 Z100 M30 G09 Trayectoria circular definida por tres puntos.Comenzaremos diciendo que, geométricamente hablando, por tres puntos sólo puede pasar una circunferencia o un arco. Debido a este razonamiento, con la función G09 definimos una trayectoria circular, programando: el punto de partida, que será donde se encuentre la herramienta antes de comenzar la trayectoria circular, el punto final, con las coordenadas X, Y, Z, y un punto intermedio definiéndolo mediante I, J, K desde el cero pieza. En la figura 17 observamos la forma de un arco y su correspondiente programación con G09. Fig. 17 Programación G09 T1 D1 M06 G90 G43 G00 X-62,5 Y-14 Z50 F200 S1200 M03 M08 G00 Z1 G01 Z-2 F20 G09 X60 Y11 I0 J15,5 G00 Z200 M30 Y X Z 126 G04 Temporización.Indicando en la programación G04 K, donde “K” será un valor en centésimas de segundo, se puede programar una temporización. Se suele usar para hacer pequeñas paradas cuando sea necesario. Si indicásemos G04 K100 estaríamos ordenando una parada de 1 segundo cuando el CNC leyese la línea. En la versión 8070, este valor se indica directamente en segundos, pudiendo indicar, por ejemplo, G04 K0.5 (Temporización de 0.5 segundos) G40, G41, G42 Compensación de radio de herramienta.Es muy importante conocer estas funciones, ya que, mediante la compensación de la herramienta, podemos programar las coordenadas del contorno de una pieza sin tener en cuenta al diámetro de la herramienta que emplearemos. Con esta función la máquina, teniendo en cuenta los valores del corrector “D” que se han introducido en la tabla de herramientas, compensará el radio de la misma recalculando la trayectoria a seguir y obteniendo el mecanizado deseado. En definitiva, diremos que los correctores son de vital importancia en la programación CNC, ya que podremos ejecutar un mismo programa con distintas herramientas; así fabricaremos la misma pieza con herramientas de distinto diámetro, sin necesidad de cambiar la programación del perfil a mecanizar (fig.18). Fig. 18 En las siguientes imágenes observamos el recorrido que llevarían herramientas de distinto diámetro al realizar la compensación de radios. Pieza G40 en este movimiento G40 en este movimiento Pieza G41 en este G41 en este movimiento movimiento Fresa Ø10 Fresa Ø63 El control, para aplicar convenientemente la compensación, deberá conocer hacia qué lado está cortando la herramienta, por eso tenemos que diferenciar dos tipos de compensación de herramienta, el G41 y el G42. Fig. 19 Para no confundirnos al programar este parámetro, lo explicaremos con un ejemplo: nos imaginaremos que estamos subidos en la herramienta, como si fuéramos en coche; si vemos que, al avanzar, el material o pieza acabada nos queda a nuestra derecha, entonces programaremos la compensación con G41. Por el contrario, si la zona mecanizada se sitúa a nuestra izquierda, debemos seleccionar la compensación de radio G42 (fig. 19). G41 G42 G41 G42 127 Sólo nos restará comentar que, una vez efectuado el mecanizado, se debe desactivar la función de compensación; para realizarlo programaremos un G40. Consideraciones a tener en cuenta  Siempre que podamos, realizaremos la compensación en movimiento de trabajo, es decir, bajo un G01, y en la línea anterior al movimiento de entrada a la pieza (fig. 20). Aconsejamos compensar en un movimiento en el que la herramienta esté totalmente fuera de la pieza. No se aconseja la aplicación de esta función en un movimiento cuya coordenada final coincida con la superficie de la pieza, ya que podría dejar algún tipo de marca superficial. Del mismo modo, para desactivar la compensación con G40, lo haremos cuando la herramienta ya haya abandonado por completo la pieza, es decir, en la línea siguiente a la última línea del perfil. Fig. 20 En la siguiente imagen vemos el mecanizado de una pieza con dos fresas de distinto diámetro. Observamos que la programación es la misma, ya que al haber introducido el corrector, el control sabe por dónde debe discurrir la herramienta. T1 D1 M06 G90 G43 G00 X-140 Y-140 Z50 F700 S1200 M3 M8 G00 Z1 G01 Z-5 G01 G41 X-90 Y-140; Compensamos hta. G01 X-90 Y90 G01 X90 Y90 G01 X90 Y-90 G01 X-140 Y-90 G00 G40 X-140 Y-140; Descompensamos hta. G00 Z50 M30 T2 D2 M06 G90 G43 G00 X-140 Y-140 Z50 F900 S850 M3 M8 G00 Z1 G01 Z-5 G01 G41 X-90 Y-140; Compensamos hta. G01 X-90 Y90 G01 X90 Y90 G01 X90 Y-90 G01 X-140 Y-90 G00 G40 X-140 Y-140; Descompensamos hta. G00 Z50 M30  También tendremos en cuenta que, para movernos en el eje “Z”, ya sea en programas con repeticiones (que veremos más adelante) o por cualquier otro motivo, se aconseja estar siempre descompensados, ya que, de lo contrario, el control puede darnos errores. No obstante, nuestra experiencia profesional nos ha enseñado que esto no siempre es así, y aunque nosotros siempre programamos como hemos comentado, alguna vez nos hemos movido en el eje “Z” sin anular la compensación, y no hemos tenido inconveniente alguno.  En el fresado es muy recomendable usar el G41, ya que de esta forma estaremos realizando un fresado en concordancia o descendente (fig. 21), por lo que las herramientas trabajarán de forma óptima, logrando prolongar su vida útil y obteniendo mayores rendimientos. Fig. 21 128 G37, G38 Entrada y salida tangencial.Comenzaremos hablando de la entrada tangencial G37, pues al aplicar esta función conseguiremos que la fresa empiece el mecanizado con un movimiento tangencial a la trayectoria de inicio del mecanizado. Es decir, la herramienta no atacará la pieza frontalmente, sino que lo hará de forma tangencial, por lo que el contacto será más suave y progresivo (fig. 22). Lógicamente, esta entrada tangencial se programará en el bloque anterior a la trayectoria de mecanizado real en pieza y, normalmente, con un movimiento G01, ya que estamos entrando a mecanizar y las condiciones de trabajo deberán ser las adecuadas. El control también admitiría una entrada tangencial en G00, pero esta opción es inusual. Además de indicar la entrada G37, debemos indicar al control el valor del radio de entrada “R” que queremos que describa la herramienta para posicionarse tangencialmente a la siguiente trayectoria. Tendremos muy presente que este valor debe ser mayor que el radio de la herramienta, y la distancia entre la herramienta y la trayectoria posterior a la entrada debe ser mayor que el radio programado (fig. 22). Fig. 22 ta. Rh R>Rhta. e qu a> R ci Gracias a esta función se logran evitar marcas en el ta n s i mecanizado, pero a la hora de realizar un programa D estudiaremos la forma más sencilla de realizarlo y, si podemos, evitaremos entradas o salidas tangenciales, empleándolas sólo cuando sea necesario. Por ejemplo, cuando tengamos que mecanizar un agujero interior, será muy aconsejable entrar y salir tangencialmente, logrando un comienzo y final progresivo sin marcas superficiales; por el contrario, cuando podamos hacer que la fresa acceda a la pieza de forma tangencial sin necesidad de emplear esta orden (fig. 23), por ejemplo para contornear una pieza sencilla, no emplearemos esta función. No obstante, si estuviésemos obligados a entrar en una zona intermedia de dicha pieza sería muy aconsejable acceder con entrada tangencial (fig. 23). Podríamos hacer extensible lo comentado a las salidas tangenciales G38. Fig. 23 Aconsejable G37 para entrada en pieza Entrada en pieza sin necesidad de G37 Aconsejable G37 para entrada en pieza sin v. Mo 7 G3. c on M ov G37 Del mismo modo que entramos tangencialmente, en ocasiones también necesitaremos realizar salidas tangenciales. Para ello programaremos de forma similar a la entrada; es decir, indicaremos G38 y el radio de giro R, que deberá ser mayor que el radio de la herramienta; y la distancia a la cota siguiente también deberá ser mayor que el radio programado en la salida tangencial. En la línea final del perfil se indicará la salida tangencial, y el movimiento siguiente debe ser en G01 o G00, tal y como vemos en el ejemplo de la figura 24. 129 Fig. 24 Programación con entrada y salida tangencial T1 D1 M06 G90 G43 G00 X0 Y50 Z50 F500 S1000 M3 M8 G00 Z1 G01 Z-5 G01 G41 G37 R15 X0 Y15 ; Compensación de radio G41 y entrada tangencial G37 G01 X8.66 Y15 G01 X17.32 Y0 G01 X8.66 Y-15 G01 X-8.66 Y-15 G01 X-17.32 Y0 G01 X-8.66 Y15 G01 G38 R15 X0 Y15 ; Salida tangencial G38 G01 G40 X0 Y50; Descompensación de radio G40 G00 Z50 M30 G36, G39 Redondeo y achaflanado controlado de aristas.Empezaremos estudiando la función G36, pudiendo emplearla para redondear una arista viva sin necesidad de programar un giro con G02, G03, etc. Para lograr este mecanizado, solamente debemos introducir G36 R… en el bloque que defina el movimiento hasta las coordenadas de la arista viva que queremos matar, debiendo programar seguidamente la continuación de la trayectoria de mecanizado que tenga la pieza (fig. 25). Esto es debido a que el programa debe conocer las dos superficies entre las que ejecutará el redondeo; por lo tanto, no podemos indicar el G36 en la línea de las coordenadas del vértice y de ahí retirar la herramienta, ya que el programa no podría controlar el redondeo a realizar. Esta función nos facilita enormemente el trabajo de programación, ya que no tendremos la necesidad de conocer las coordenadas iniciales y finales de los arcos para poder realizar los redondeos. Seremos conscientes de que el valor de “R” siempre será positivo. Cuando empleemos la función G39, lograremos realizar achaflanados con una mínima programación. Se tendrán las mismas consideraciones que con la orden de redondeo; es decir, introduciremos el G39 R… en el movimiento lineal donde se programe la esquina hipotética y, en la siguiente línea, indicaremos la trayectoria que seguirá la herramienta. De esta forma la máquina nos dejará un chaflán de distancias iguales al R programado (fig. 26). Fig. 26 Fig. 25 G01 G39 R10 X45 Y90 G01 X90 Y0 G01 G36 R10 X45 Y90 G01 X90 Y0 130 Para concluir la explicación, realizamos la programación de una pieza (figs. 27 y 28) donde se redondean y achaflanan sus vértices. Fig. 27 En la siguiente figura observamos un ejemplo de programación de redondeo y achaflanado de radio 2, basándonos en las dimensiones de la pieza anteriormente mecanizada. PROGRAMA DE REDONDEO DE ARISTAS CON G36; INCLUYE UNA ENTRADA Y UNA SALIDA TANGENCIAL PROGRAMA DE ACHAFLANADO DE ARISTAS CON G39; INCLUYE UNA ENTRADA Y UNA SALIDA TANGENCIAL T1 D1 M06 G90 G43 G00 X0 Y50 Z50 F500 S1000 M3 M8 G00 Z1 G01 Z-5 G01 G41 G37 R15 X0 Y15 ; Compensación de radio G41 y entrada tangencial G37 G01 G36 R2 X8.66 Y15 G01 G36 R2 X17.32 Y0 G01 G36 R2 X8.66 Y-15 G01 G36 R2 X-8.66 Y-15 G01 G36 R2 X-17.32 Y0 G01 G36 R2 X-8.66 Y15 G01 G38 R15 X0 Y15 ; Salida tangencial G38 G01 G40 X0 Y50; Descompensación de radio G40 G00 Z50 M30 T1 D1 M06 G90 G43 G00 X0 Y50 Z50 F500 S1000 M3 M8 G00 Z1 G01 Z-5 G01 G41 G37 R15 X0 Y15 ; Compensación de radio G41 y entrada tangencial G37 G01 G39 R2 X8.66 Y15 G01 G39 R2 X17.32 Y0 G01 G39 R2 X8.66 Y-15 G01 G39 R2 X-8.66 Y-15 G01 G39 R2 X-17.32 Y0 G01 G39 R2 X-8.66 Y15 G01 G38 R15 X0 Y15 ; Salida tangencial G38 G01 G40 X0 Y50; Descompensación de radio G40 G00 Z50 M30 G02 / G03 Interpolación helicoidal.La interpolación helicoidal es un giro en el plano de trabajo, pero incorporando un tercer eje, lo que hará que el movimiento se realice de forma simultánea en los tres ejes y obtengamos como resultado una hélice. En definitiva, sería igual que programar una interpolación circular añadiéndole movimiento en el tercer eje. 131 Fig. 28 Se programa en un bloque, pudiendo usar las funciones G02, G03, G08 ó G09. Como observamos, estas funciones ya las hemos estudiado, pero en este apartado ampliaremos sus posibilidades de aplicación. En definitiva, en una interpolación helicoidal, el bloque constará de los siguientes apartados: Distancias desde el punto inicial de movimiento al centro de giro G02/G03 X…Y… I…J… Coordenadas punto final Z… Fig. 29 Paso en Z K… Coordenada final Podremos programar una única vuelta (fig. 28), por lo que simplemente indicando las coordenadas X e Y del punto final, las distancias I y J, así como la cota Z final, el control ya podrá ejecutar la trayectoria. Fig. 30 Si deseamos que la interpolación helicoidal para el movimiento en Z dé varias vueltas (fig. 29), tendremos que programar un parámetro K, que indica el movimiento en Z por cada vuelta. Si estuviésemos roscando, que es una de las utilidades de esta función, la K sería el paso de la rosca. Es importante tener presente que el movimiento total en Z tiene que ser múltiplo del número de vueltas K, ya que si no se cumple esta premisa, el control nos dará un error. Imaginemos que queremos realizar una leva frontal o de cara que realice un desplazamiento de 20mm al rotar tres cuartas partes (fig. 30). La programación que deberíamos realizar sería la expuesta seguidamente. Programación G02/G03 interpolación helicoidal T2 D2 M06 G00 G43 G00 Z2 G01 Z0; G01 G41 G02 X-5 G90 X0 Y20 Z50 F250 S900 M03 M08 Nos aproximamos lentamente X0 Y5; Compensamos la herramienta para empezar a mecanizar Y0 I0 J-5 Z-20; Programamos un movimiento helicoidal de ¾ de circunferencia desplazándonos 20mm en “Z”. G01 G40 X-20 Y0; Descompensamos G00 Z200 M30 132 Seguidamente vamos a poner un ejemplo de la fabricación de un husillo (fig. 31). Para mecanizarlo realizaremos tres pasadas de desbaste y una de acabado de 0,2mm. Fig. 31 Programación roscado de husillo con fresa T3 D3; Herramienta para hacer rosca cuadrada, con un ancho de 10 mm M6 G0 G43 G90 X0 Y-50 Z50 F200 S1500 M3 M8 G0 Z0 G01 G41 X0 Y-28.2; Compensamos y nos colocamos para dar 1ª pasada de desbaste G02 X0 Y-28.2 I0 J28.2 Z-150 K10; Programamos 1ª bajada con profundidad 1,8mm G01 G40 X0 Y-50; Descompensamos G00 Z0; SUBIMOS A Z0 G01 G41 X0 Y-26.2; Repetimos la secuencia anterior 2 veces más G02 X0 Y-26.2 I0 J26.2 Z-150 K10 G01 G40 X0 Y-50 G00 Z0 G01 G41 X0 Y-25.2 G02 X0 Y-25.2 I0 J25.2 Z-150 K10; La cota final para hacer nuestra rosca sería 25, nosotros hemos dejamos 0.2mm para dar una pasada de acabado y que la rosca nos quede con buen acabado superficial G01 G40 X0 Y-50 G00 Z0 G01 G41 X0 Y-25 G03 X0 Y-25 I0 J25 Z-150 K10; Ahora programamos la pasada de acabado G01 G40 X0 Y-50 G00 Z200 M30 Además de para realizar roscados, la interpolación helicoidal tiene muchas más utilidades. Por ejemplo, cuando tenemos que vaciar agujeros de grandes dimensiones y no queremos emplear un ciclo de cajeras, que posteriormente veremos, ya que realizaría muchos movimientos y por consiguiente se emplearía más tiempo de fresado, podemos hacer el vaciado con una bajada helicoidal, como veremos en el ejemplo siguiente (fig. 32). 133 Fig. 32 Programación desbaste con bajada helicoidal T3 D3 ; Broca para realizar un taladro previo, usamos broca metal duro diámetro 30 y taladramos frontalmente M6 G0 G43 G90 X0 Y0 Z50 F80 S380 M03 M08 G0 Z1 G01 Z-50 G00 Z200 T2 D2 ; Plato para desbastar el agujero M06 G00 G90 X0 Y0 Z50 F600 S800 M03 M08 G00 Z1 G01 G41 X0 Y55 G03 X0 Y55 I0 J-55 Z-50 K1 ; Bajada helicoidal en desbaste del agujero de diámetro 110mm (1mm de pasada) G03 X0 Y55 I0 J-55 ; Damos una pasada en el fondo para que éste quede plano G01 G40 X0 Y0 G00 Z200 M30 En la versión 8070 existen ciclos fijos que simplifican esta programación, pero en versiones anteriores debemos realizarlo tal y como hemos comentado. RPT Repeticiones.Después de haber estudiado las funciones preparatorias principales para la ejecución de programas sencillos, nos parece interesante hacer un paréntesis en su estudio y comentar una orden del lenguaje de programación de alto nivel. 134 El RPT nos sirve para repetir una parte del programa las veces que sea necesario. Cuando estamos elaborando la mecanización de una pieza y existen partes que se repiten dentro del programa, con esta orden podremos decir que se realicen esas reiteraciones sin necesidad de programarlas de nuevo. Como vemos, su propio nombre nos indica su función. Etiqueta última línea de repetición Orden repetición Para ello etiquetaremos las líneas donde queremos que empiece y termine la repetición, por ejemplo con N10 la primera y con N20 la última línea a repetir. Luego le decimos cuantas veces queremos que nos lo repita. (RPT N… , N…) N… Etiqueta 1ª línea de repetición Número de veces a repetir la secuencia Tendremos en cuenta que el control repetirá todo lo programado entre N10 y N20 las veces que se necesite, pero seremos conscientes de que, antes de ejecutar la orden RPT, ya habrá mecanizado una secuencia, pues ésta se programa antes; por lo tanto, si necesitamos 20 reiteraciones de un mismo mecanizado, en la orden repetir programaremos 19, pues se deberá añadir la realizada por el CNC antes de leer la RPT. Seguidamente pondremos un ejemplo para clarificar el empleo de esta orden. Partiendo de una pieza, cuyas dimensiones son 200x200x40, y cuyo origen está situado en el centro de la cara superior de la pieza, se trata de realizar una isla de 180x180 con una profundidad de 20mm, empleando una fresa frontal (fig. 33). Fig. 33 Programa para ver el uso del RPT. La máquina ejecutará lo programado entre N10 y N20 y al llegar al RPT lo repetirá 9 veces, con lo que logramos una profundidad de 2+18=20mm. Z Y (X0, Y0) X T1 D1 ; Fresa frontal de diámetro 10mm M06 G90 G43 G00 X-140 Y-140 Z50 F500 S1000 M3 M8 G00 Z0 N10 G01 G91 Z-2; Etiquetamos la línea de comienzo G01 G90 G41 X-90 Y-140 G01 X-90 Y90 G01 X90 Y90 G01 X90 Y-90 G01 X-140 Y-90 N20 G00 G40 X-140 Y-140; Etiquetamos la línea de final (RPT N10,N20)N9; Programamos el RPT G00 Z50 M30 G92 Preselección de cotas y Limitación de la velocidad de giro.Esta función podrá realizar dos acciones distintas, seguidamente expondremos cada una de ellas: Preselección de cotas Con la función G92, a medida que vayamos programando, podemos trasladar el origen pieza donde nosotros queramos. Para realizar esta preselección de origen, tendremos que estar situados en la coordenada en la que deseemos fijar nuestro nuevo origen pieza y, cuando estemos en ese punto, programaremos G92 X0 Y0 Z0; a 135 partir de ese bloque habremos cambiado el origen pieza y ese punto será nuestro nuevo origen pieza. El G92 se programa sólo en un bloque y es una función modal que se mantendrá activa hasta que se programe otro traslado o se programe la función G53, que irá sola en una línea. Fig. 34 Pieza mecanizada Expondremos un ejemplo de la programación de una pieza empleando la preselección de cotas; supongamos que queremos realizar la pieza representada en las figuras 34 y 35. Fig. 35 Plano de pieza y programación. Programación con preselección de cotas T1 D1 ; Fresa diámetro 6 M6 G00 G43 G90 X20 Y15 Z20 F200 S1200 M03 M08 G92 X0 Y0 ; Determinamos el nuevo cero pieza en el punto donde nos encontramos G00 Z1 G01 Z-2 F20 G01 Y20 F200 G01 G39 R10 X20 ; Hacemos chaflán de 10x45º G01 Y0 G01 X0 G00 Z20 G00 X40 Y0 ; Nos situamos en una nueva cota G92 X0 Y0 ; Determinamos el nuevo cero pieza G00 Z1 G01 Z-2 F20 G01 Y20 F200 G01 G36 R10 X20; Hacemos redondeo de R10 G01 Y0 G01 X0 G00 Z200 M30 Limitación de la velocidad del cabezal Con ella limitamos la velocidad máxima que podrá alcanzar el cabezal, por lo que, a partir de introducir esta orden, el control no aceptará velocidades superiores a las r.p.m. programadas. Tampoco se podrá superar ese valor accionando las teclas del panel frontal. La programación se realizaría de la siguiente forma: Función limitación de velocidad Velocidad máxima, en r.p.m., que alcanzará el cabezal G92 S… Esta función es más empleada en el torno, al usar velocidad de corte constante; por ello, trataremos más en profundidad esta función en el capítulo de torneado. 136 G54, G55, G56 y G57 – G58 y G59 Traslados de origen.Hasta el momento hemos hablado de un origen pieza y cómo programamos respecto a este origen. Pero en ocasiones nos interesará colocar varias piezas iguales sobre la bancada de la máquina, para que el mecanizado se realice de forma correlativa sin interrupción, disminuyendo los tiempos muertos (fig. 36). Por eso, el CNC nos permitirá cargar varios orígenes pieza, en total serán seis los posibles orígenes que podremos predefinir. Para indicarlos tendremos una tabla de orígenes (fig. 37) donde aparecerán los valores X, Y, Z de cada origen de pieza. Podremos cargar estos datos introduciendo las coordenadas directamente en la tabla o desplazar el palpador o herramienta hasta cada origen e indicárselo al control. Tenemos que diferenciar dos tipos de traslados de origen: - Traslados de origen absolutos (G54, G55, G56 y G57). Estarán referidos al origen máquina. - Traslados de origen incrementales (G58 y G59). Se añadirán al origen activo. Fig. 36 Piezas iguales en distintas mordazas. Fig. 37 Tabla de orígenes Al realizar el programa, seremos conscientes de que estas funciones de traslado de orígenes se deberán programar solas en un bloque. Cuando la máquina lee un traslado de origen absoluto, éste queda activo y anula al anterior. Si se programa un traslado incremental G58 ó G59, el CNC añadirá sus valores al traslado de origen absoluto que esté activo en ese momento, anulando previamente el traslado de origen incremental si lo hubiese. Además, el traslado de origen se mantendrá activo aunque apaguemos la máquina. Seguidamente expondremos un ejemplo de la utilización de los traslados de origen. Como ejemplo de lo visto podemos decir que:  G54 → Aplica los valores de la tabla donde está el origen G54.  G59 → Añade los valores de la tabla donde está el G59 al G54.  G55 → Anula lo que hubiese y aplica los valores de G55 de la tabla de orígenes. Finalmente, para afianzar los conceptos estudiados vamos a realizar la programación de una pieza con todos los traslados de origen que se pueden referir. Mecanizaremos, sin interrupción, seis piezas como la indicada en la figura 38. Consideramos el origen pieza en el centro del elemento. 137 Fig. 38 G16, G17, G18, G19 Selección de planos de trabajo.Hasta el momento, todos los trabajos y programaciones realizadas han sido en el plano X-Y, ya que es el que define por defecto el fabricante. Pero habrá ocasiones en las que necesitaremos cambiar de plano de trabajo, como por ejemplo al hacer copiados; para ello seleccionaremos el plano de trabajo que más nos convenga, es decir, el “X-Z” o el “Y-Z”. El cambio de plano será efectivo cuando hacemos interpolaciones circulares, redondeo controlado de aristas, entradas y salidas tangenciales, achaflanado, ciclos fijos, giros del sistema de coordenadas, compensaciones de radios y de longitud de herramientas. Las funciones preparatorias que los definen son las siguientes (fig. 39): G17 Plano X-Y G18 Plano X-Z G19 Plano Y-Z Plano de trabajo formado por eje X y por el eje Y. El eje Z es perpendicular al plano principal y será el eje de trabajo. Plano principal formado por el eje X y el eje Z. El eje Y es perpendicular al plano principal y será el eje de trabajo. Plano de trabajo formado por el eje Y y por el eje Z. El eje X es perpendicular al plano principal y será el eje de trabajo. Con la selección de plano, lo que hacemos es designar dos de las coordenadas principales X, Y, Z como el plano de trabajo y la tercera coordenada sería el eje perpendicular al mismo, que se considera el eje de trabajo. 138 Son funciones modales, por lo que una anulará a la anterior. Por defecto el fabricante programa G17 como plano de trabajo. Tendremos presente que, al trabajar con compensación de herramienta, cuando elijamos un plano de trabajo distinto al G17, debemos indicar a la máquina, siempre que no giremos el cabezal de forma perpendicular al plano de trabajo, cuál es el eje que debe compensar radial y longitudinalmente; para ello programaremos a continuación de G18 o G19 la función G15, indicando el plano donde asumirá la compensación. De lo contrario el control pensaría que la herramienta está orientada de forma perpendicular al plano de trabajo, compensando la herramienta en ese eje de trabajo. En los centros de mecanizado no se puede orientar el cabezal, por lo que debemos programar G15 Z. Fig. 39 G19 +Z -X G17 -Y G18 Seguidamente, realizaremos la programación de la pieza indicada en la figura 40, empleando una selección de plano de trabajo. En la figura 41 observamos la secuencia de mecanizado que realizaría la herramienta. Fig. 40 Programación con selección de plano de trabajo T2 D2; Fresa de bola diámetro 8 M6 G00 G43 G90 X4 Y0 Z50 F500 S2000 M03 M08; Empezamos en X4 para que la primera pasada no sea de 9mm G19; También podríamos programar G16 YZ G15 Z; Programamos cual es el eje longitudinal N10 G91 X-0.5 G90 G00 Y40 G0 Z20 G1 G42 Z10 G1 G36 R5 Y20 G03 G36 R5 Y-20 Z10 J-20 K0 G01 Y-40 G00 G40 Z50 N20 Y0 (RPT N10,N20)N135 G00 Z200 M30 139 Fig. 41 Secuencia del mecanizado. G10, G11, G12, G13, G14 Imagen espejo.Esta función nos permitirá simplificar el mecanizado cuando la pieza presente partes simétricas, ya que podremos ordenar la repetición simétrica de trayectorias respecto a unos determinados ejes que debemos indicar. En definitiva, lo que realizará el control serán unos movimientos iguales a los indicados en el programa original, pero con signo contrario. Las funciones que controlan la imagen espejo serán las siguientes: G11 G12 G13 Activación de la imagen espejo en “X” Activación de la imagen espejo en “Y” Activación de la imagen espejo en “Z” Estas funciones son modales y pueden estar activas simultáneamente, pudiendo tener activa la imagen espejo en un eje, y posteriormente activarla en otro. Estaríamos realizando una imagen espejo en dos ejes a la vez, ya que no se desactivan a no ser que programemos G10. Para anular todas las imágenes espejo, utilizaremos la función G10. Fig. 42 Si programamos con el G14, podemos elegir directamente el eje en el que deseemos la imagen espejo; es decir, después de la función G14 se indicará el eje al que realizar la simetría unido a un valor, que será -1 para activar la función o 1 para desactivarla. Así, por ejemplo, si indicamos G14 X-1, la simetría se activará respecto al eje “X”. Particularidades Seremos conscientes de que al programar la función imagen espejo, cuando se mecanice la simetría establecida, los movimientos que realizará la herramienta serán en sentido contrario al perfil programado; pero el propio control cambiará automáticamente la compensación (G41-G42) para obtener el mecanizado deseado. Seguidamente se muestra el mecanizado de una pieza (fig. 42), indicando la secuencia que realizaría la herramienta (fig. 43). Fig. 43 Secuencia del mecanizado con su respectiva programación. 140 G73 Giro del sistema de coordenadas.Mediante la función G73 podremos hacer que el control rote el sistema de coordenadas, obteniendo de esta forma giros en los mecanizados programados; es decir, vamos a poder repetir unos determinados movimientos definidos pero girados un determinado ángulo. El formato de programación que emplearemos será el siguiente: Abscisa del centro de giro definida en cotas absolutas respecto al cero pieza Función giro de coordenadas G73 Q… I… J… Ángulo de giro en grados Ordenada del centro de giro definida en cotas absolutas respecto al cero pieza Esta función se programará en un solo bloque, existiendo dos posibilidades de configuración, ya que: 1. Será posible girar respecto del cero pieza u origen activo del sistema. Para ello no se programarán los parámetros I y J. 2. Podremos rotar la forma programada respecto a un punto indicado. Se logrará indicando el punto de giro mediante los valores I y J. Fig. 44 Tendremos presente que es una función incremental, por lo que irá sumando el ángulo Q indicado si hubiese varias repeticiones. Al ser una función modal, cuando deseemos anular el giro de coordenadas, indicaremos solamente la función G73, sin ninguna otra indicación. Seguidamente mostramos el ejemplo de programación de una pieza (figs. 44 y 45): Programación pieza T2 D2 ; Fresa diámetro 10 M6 G0 G43 G90 X30 Y0 Z20 F200 S1500 N10 G00 Z1 G01 Z0 N15 G91 Z-1 F20 G90 G1 X50 F200 G91 Z-1 F20 N20 G90 G1 X30 (RPT N15,N20)N4 N25 G00 Z20 G73 Q45; Rotamos la programación (RPT N10,N25) G73 Q45; Rotamos la programación (RPT N10,N25) G73 Q45; Rotamos la programación (RPT N10,N25) G73 Q45; Rotamos la programación (RPT N10,N25) G73 Q45; Rotamos la programación (RPT N10,N25) G73 Q45; Rotamos la programación (RPT N10,N25) G73 Q45; Rotamos la programación (RPT N10,N25) G00 Z200 M30 Fig. 45 Plano de la pieza. Fig. 44 M3 M8 45º 45º 45º 45º 45º 45º 45º 141 G72 Factor escala general.Con esta función podremos escalar, es decir, ampliar o reducir la forma de un mecanizado programado. Existen dos formas de programación del G72: 1º Factor escala aplicado a todos los ejes.- Para ejecutar esta acción, emplearemos la función G72 y, seguidamente, indicaremos la letra S acompañada de un factor de escala. En definitiva, el formato de programación será el siguiente: Factor de escala Función escala general G72 S “número” Parámetro para definir el factor de escala Este comando permanecerá activo hasta que se indique otro factor de escala o se anule la función. Para anular esta función, indicaremos solamente la función G72, sin ninguna indicación adicional. También es cierto que si después de programar G72 indicamos un “0” ó un “1”, el factor escala también se desactivará. 2º Factor escala aplicado a uno o varios ejes.- A continuación de G72 se programará el eje o ejes y el factor escala que deseamos aplicar. El CNC aplicará el factor escala que programemos al eje o ejes y también al avance de dicho eje o ejes. Si programamos un factor escala absoluto y sin anularlo, añadimos un factor de escala a uno o más ejes. El CNC aplicara a dicho eje o ejes que se ven influenciados por ambos factores el producto de los dos factores escala programados. Seguidamente pondremos un ejemplo de la aplicación del factor escala en el mecanizado de una pieza (figs. 46 y 47). Fig. 46 Plano de la pieza. 142 Fig. 47 Secuencia del mecanizado. Programación factor escala con giro T1 D1; Broca diámetro 18 M06 G90 G43 G0 X-90 Y0 Z50 F50 S380 M03 M08 N10 G00 Z1 G01 Z-35 N20 G00 Z20 G00 X-30 (RPT N10,N20) G00 X60 (RPT N10,N20) G00 Z200 T2 D2 ; Fresa diámetro 8 M6 G00 G90 X-90 Y0 Z20 F400 S1200 M03 M08 G92 X0 Y0 ; Trasladamos a la coordenada en la que estamos el origen pieza N25 G00 Z1 G73 Q45 ; Giramos 45º el programa N30 G01 G91 Z-4 G01 G37 R5 G41 X10 ; Entrada tangencial G01 G36 R5 Y10 ; Redondeo en la esquina G01 G36 R5 X-20 G01 G36 R5 Y-20 G01 G36 R5 X20 G01 G38 R5 Y10 ; Salida tangencial N40 G01 G40 X-10 Y0 (RPT N30,N40)N7 G73 ; Anulación del giro de coordenadas N50 G90 G00 Z20 G00 X60 Y0 G92 X0 Y0 ; Cambio origen pieza G72 X2 Y2 ; Factor escala 2 al eje X e Y (RPT N25,N50) G00 X90 Y0 G92 X0 Y0 ; Cambio origen pieza G72 X3 Y3 ; Factor escala 3 al eje X e Y (RPT N25,N50) G0 Z200 M30 Coordenadas polares Con estas coordenadas realizaremos los desplazamientos de la herramienta mediante la programación de radios y ángulos. Según las circunstancias de la pieza, puede sernos de utilidad aplicar la programación en polares, ya que nos podremos mover en el plano simplemente conociendo las distancias angulares y radiales. No será necesario conocer todas las coordenadas cartesianas de todos los puntos. La forma de programar sería: Función G01 R… Q… G02 R… Q… Radio desde el origen pieza 143 Ángulo que forma el radio con la horizontal partiendo del primer cuadrante en sentido antihorario Seguidamente exponemos la programación de una pieza (fig. 48) empleando coordenadas polares: Fig. 48 Plano de la pieza. Programación pentágono en polares T2 D2 ; Fresa diámetro 5 M6 G0 G43 G90 X0 Y25 Z20 F200 S1500 M3 M8 N10 G00 Z1 G01 Z-1 G01 R25 Q162 ; No haría falta poner el R25 ya que como la herramienta está en Y25 la maquina ya sabe que el "R" va a ser 25 pues es la distancia al centro desde el punto de partida. Q234 Q306 Q18 Q90 G00 Z20 M30 A continuación, programaremos un hexágono (fig. 49) y veremos cómo con simples modificaciones, gracias a la programación en polares, podremos modificar significativamente el mecanizado: Fig. 49 Plano de la pieza. Programación hexágono en polares T2 D2 ; Fresa diámetro 5 M6 G0 G43 G90 X0 Y25 Z20 F200 S1500 M3 M8 N10 G00 Z1 G01 Z-1 G01 R25 Q150 ; No haría falta poner el R25 ya que como la herramienta está en Y25 y la maquina ya sabe que el "R" va a ser 25 pues es la distancia al centro desde el punto de partida Q210 Q270 Q330 Q30 Q90 G00 Z20 M30 144 Programación hexágono curvo en polares Ahora, simplemente variando la parte de programación que indicamos de manera subrayada, podemos ejecutar un hexágono con sus vértices curvados (fig. 50). T2 D2 ; Fresa diámetro 5 M6 G0 G43 G90 X0 Y25 Z20 F200 S1500 M3 M8 N10 G00 Z1 G01 Z-1 G03 R25 Q150; A diferencia del programa anterior, cambiando simplemente el G01 por G03, el resultado del mecanizado es considerablemente distinto, lo que permite gran versatilidad a la hora de programar G01 Q210 G03 Q270 G01 Q330 G03 Q30 G01 Q90 G00 Z20 M30 Fig. 50 Es importante tener presente que el origen polar siempre va a ser nuestro cero pieza, aunque algunas veces, si es necesario trasladar este origen, podremos hacerlo mediante la función G93. En la versión 8070 la función que define la preselección del origen polar es la G30, manteniendo la misma estructura de configuración que seguidamente veremos. Esta función se programa sola en el bloque y con ella podemos preseleccionar cualquier coordenada que deseemos como nuevo origen polar, el formato habitualmente empleado será el expuesto a continuación; no obstante, si en un bloque se programa únicamente G93, el origen polar pasará a ser el punto en el que en ese momento se encuentre la máquina. Función G93 I… J… Abscisa y ordenada respecto al origen pieza Consideraciones adicionales Tendremos presente que la función G93 se programa sola en una línea, no afectando a las coordenadas cartesianas; es decir, tendremos dos orígenes, el cartesiano y el polar, por lo que cuando se empleen coordenadas cartesianas, el control se referenciará a su origen cartesiano, y cuando se programe en polares, tomará el origen polar programado. En definitiva, diremos que podemos tener el origen polar en un sitio y el origen de las coordenadas cartesianas en otro. Exponemos un breve ejemplo para afianzar los conceptos que acabamos de estudiar (fig. 51). Fig. 51 G93 G90 G03 G01 I35 J30; Preseleccionamos el nuevo origen polar G01 R25 Q0; Interpolación lineal al punto P1 Q90; Interpolación angular al punto P2 X0 Y0; Retorno al punto de partida 145 Para finalizar este apartado programaremos, de forma completa, una pieza auxiliándonos de las coordenadas polares: partiendo de la programación del pentágono anteriormente realizada, trasladamos el origen polar al centro de cada lado del pentágono y programamos un giro de radio igual a la mitad del lado. Así obtenemos la trayectoria representada en la figura 52. Programación en polares T2 D2 ; Fresa diámetro 5 M6 G0 G90 X0 Y25 Z20 F200 S1500 M3 M8 N10 G00 Z1 G01 Z-1 G01 R25 Q162 Q234 Q306 Q18 Q90 G93 I-11.89 J16.36; Trasladamos el origen polar a P1 G03 Q216 G93 I-19.24 J-6.25; Trasladamos el origen polar a P2 G03 Q288 G93 I0 J-20.23; Trasladamos el origen polar a P3 G03 Q360 G93 I19.24 J-6.25; Trasladamos el origen polar a P4 G03 Q72 G93 I11.86 J16.36; Trasladamos el origen polar a P5 G03 Q144 G00 Z20 M30 Fig. 52 P1 -11,89 16,36 P2 -19,24 -6,25 P3 0 -20,23 P4 19,24 -6,25 P5 11,89 16,36 Programación mediante ángulo y coordenada cartesiana También queremos dejar constancia de que mediante un ángulo y una coordenada cartesiana vamos a poder definir puntos u ordenar movimientos. Solamente debemos indicar el punto de destino de la herramienta mediante un ángulo y una cota cartesiana, pudiendo elegir entre X o Y. Tendremos presente que el ángulo a especificar será el formado entre la horizontal y la trayectoria a seguir, como si desplazásemos el origen de coordenadas a cada punto para determinar el ángulo y teniendo en cuenta el signo que debemos indicar. Seguidamente exponemos un ejemplo simple del empleo de esta programación (fig. 53): 146 Fig. 53 Definición de la trayectoria mediante ángulo y coordenada X25 Y20; P0 (Estamos aquí) G01 Q115.03 Y26.48; P1 Q90 76.48; P2 Q-45 X50.26; P3 Q-110 X40; P4 Q-180 X25; P0 147 Ejemplo modelo Fig. 54 Una vez que hemos estudiado diversas funciones y maneras de programar, ha llegado el momento de realizar una pieza más compleja utilizando todos los conocimientos adquiridos. Para ello, vamos a programar un punzón refractario (fig. 54), utilizado como molde en la realización de ladrillos. Estos moldes adquieren en ocasiones formas particulares, por eso es un buen ejemplo para poder utilizar diversas funciones de programación. Siempre que nos dispongamos a preparar el mecanizado de una pieza, debemos tener presentes los siguientes pasos: 1º Estudiar el plano, analizando detenidamente la forma y dimensiones de la pieza (fig. 55). Fig. 55 Es tremendamente importante estudiar de forma meticulosa el plano de trabajo, ya que será el punto de partida para determinar tanto la forma de amarre como la mejor programación a realizar. 148 2º Determinar la forma de amarrar la pieza, estableciendo el menor número de movimientos. Analizando las dimensiones y forma final de la pieza, nos parece que lo más lógico y funcional es sujetar el bruto con una mordaza; además, vemos que la pieza se podrá realizar completamente con dos posicionamientos. a) Comenzaremos sujetando la pieza por la medida de 250mm, dejándola sobresalir por encima de la mordaza unos 50mm, ya que mecanizaremos la parte superior y los laterales, que tendrán una profundidad de 45mm, librando claramente la mordaza. Así mecanizaremos la parte inferior del punzón. b) Seguidamente daremos la vuelta a la pieza, amarrándola en la misma posición, pero por las caras ya mecanizadas. 3º Elegir las herramientas, definiendo radios, longitudes, calidades… 4º Realizar la programación. Seguidamente visualizamos la secuencia de mecanizado en el primer amarre de la pieza (figs. 56a, 56b, 56c y 57). Fig. 56a Fig. 56b Fig. 56c Fig. 57 149 El formato de programación sería el siguiente: Programación punzón refractario PROGRAMACIÓN DEL PRIMER AMARRE T2 D2 ; Plato de planear de diámetro 80, damos pasada justo a limpiar cara M6 G0 G90 X70 Y180 Z50 F900 S700 M3 M8 G0 Z0.1 G1 Y-180 G0 X0 G01 Y180 G0 X-70 G01 Y-180 G00 Z200 T3 D3 ;Plato de escuadrar diámetro 50 para hacer un desbaste previo M6 G11 ; Imagen espejo en X G00 G90 X140 Y150 Z50 F900 S700 M3 M8 G00 Z0 N10 G91 Z-3; Programación en incrementales G90 G01 G41 X100; Compensación del radio Y75 X90 Y20 Y-25 X50 G01 G39 R5 Y-125 ; Chaflán de 5x45º G01 G39 R5 X-50 ; Chaflán de 5x45º Y-25 X-102.5 Y20 X-100 Y75 Y120 X115 N20 G0 G40 X140 Y150 ; Descompensamos (RPT N10,N20)N14 ; 14 repeticiones G0 Z200 G10 ; Anulación imagen espejo T4 D4 ; Plato diámetro 20 para desbastar zona 1 y 2 M6 G11 ; Imagen espejo en X G00 G90 X120 Y150 Z50 F700 S1100 M3 M8 G0 Z0 N30 G91 Z-2 ; Programación en incrementales G90 G1 G41 X100 ; Programación en absolutas y compensación de radio G01 G39 R10 Y75 ; Chaflán de 10x45º X75 Y20 X90 Y10 G03 X90 Y-15 R12.5 ; Giro antihorario G01 Y-25 G01 X50 Y-50 G00 G40 X140 ; Descompensación de radio Y150 N40 X120 (RPT N30,N40)N21 ; 21 repeticiones G0 Z50 X-80 Y-50 G0 Z0 N50 G91 Z-2 ; Programación incremental G90 G1 G41 G37 R12 X-50 ; Aquí programamos una entrada tangencial, ya que estamos en desbaste no haría realmente falta, pero lo hacemos igualmente para poner un ejemplo de cómo se hace, además introducimos la compensación de radio (RPT N50,N60)N21 ; 21 repeticiones G0 Z200 G01 Y-25 G01 X-90 G01 Y-15 G02 X-90 Y10 R12.5 ; Giro horario G01 Y20 G01 X-75 Y75 G01 G39 R10 X-100 ; Chaflán de 10x45º Y130 G0 G40 X-140 ; Descompensación Y-50 N60 X-80 G10 ; Anulación imagen espejo T5 D5 ;Fresa de acabado diámetro 10 M6 G11 ; Imagen espejo en X G00 G90 X145 Y120 Z50 F400 S1500 M3 M8 G00 Z0 N70 G91 Z-11 ; Programación incremental G90 G1 G41 X100 ; Compensación radio G01 G39 R10 Y75 G01 X75 G01 G36 R10 Y20 ; Redondeo R=10 G01 X90 G01 Y10 G03 X90 Y-15 R12.5 G01 Y-25 G01 G36 R10 X50 ; Redondeo R=10 G01 G39 R5 Y-125 ; Chaflán 5x45º G01 G39 R5 X-50 ; Chaflán 5x45º G01 G36 R10 Y-25 ; Redondeo R=10 G01 X-90 G01 Y-15 G02 X-90 Y10 R12.5 G01 Y20 G01 G36 R10 X-75 ; Redondeo R=10 G01 Y75 G01 G39 R10 X-100 ; Chaflán 10x45º G01 Y125 G01 X110 N80 G00 G40 X145 Y120 ; Descompensamos radio (RPT N70,N80)N3 ; 3 repeticiones G00 Z200 M30 ; Fin de la primera parte del programa Nota: hacemos una imagen espejo en X para, posteriormente, en el segundo amarre, quitarla y ya tener hecho el programa de escuadrado. Podríamos hacerlo también al contrario. 150 Programación punzón refractario PROGRAMACIÓN DEL SEGUNDO AMARRE T2 D2 ; Plato de planear de diámetro 80, damos pasadas hasta llegar a Z=0.2, dejando así la pieza a 85.2mm de espesor. M6 G0 G90 X70 Y180 Z50 F900 S700 M3 M8 G0 Z4.2 N1 G91 Z-1 ; Coordenadas incrementales G90 G1 Y-180 ; Coordenadas absolutas G0 X0 G01 Y180 G0 X-70 G01 Y-180 G91 Z-1 G90 G1 Y180 G0 X0 G1 Y-180 G0 X70 N2 G1 Y180 (RPT N1,N2) ; 1 repetición G00 Z20 G00 X-150 Y54 ; Nos colocamos aquí para hacer el rebaje con el plato de 80mm G00 Z1.2 ; Bajamos a Z1.2 para que cuadre el nº de pasadas con el material que tenemos que quitar; necesitamos eliminar 15mm, por lo que damos pasadas de 1mm ida y 1 mm vuelta, que son 2mm por pasada; repetimos 7 veces más una que ya realiza el programa, entonces bajamos 16mm a Z14.8, dejando 0.2mm para la pasada de acabado. N3 G91 Z-1 G90 G1 X150 G00 Y-20 G01 X-150 G00 Y-95 G01 X150 G01 G91 Z-1 G90 G1 X-150 G00 Y-20 G01 X150 G00 Y54 N4 G01 X-150 (RPT N3,N4)N7; 7 repeticiones; bajamos a Z-14.8mm G00 Y-66 ; Nos colocamos aquí para hacer el rebaje con el plato de 80. N5 G91 Z-1 G90 G1 X150 G00 Y-100 G01 X-150 N6 G00 Y-66 (RPT N5,N6)N19; Bajamos 20mm planeando a Z-34.8mm G00 Y-76 ; Nos separamos 10mm para no comer el radio que hay que dejar de 10mm y bajamos planeando 10mm más. N7 G91 Z-1 G90 G1 X150 G00 Y-100 G01 X-150 N8 G00 Y-76 (RPT N7,N8)N9; Con estas repeticiones bajamos ese escalón a z-44.8 G00 Z200 T3 D3 ; Plato de escuadrar diámetro 50 para hacer un desbaste previo, ponemos en las tablas R=25.2 para dejar sobre medida para acabado M6 G00 G90 X140 Y150 Z50 F900 S700 M3 M8 G00 Z0.5 N10 G91 Z-3 G90 G01 G41 X100 ; Compensación de radio Y90 G01 X-100 G01 Y125 X120 N11 G0 G40 X140 Y150 ; Descompensación de radio (RPT N10,N11)N4; Escuadramos los 15mm del primer escalón N12 G91 Z-3 G90 G01 G41 X100 Y75 X90 Y20 Y-35 G01 X-102.5 G01 Y20 X-100 Y75 Y125 X115 N13 G00 G40 X140 Y150 (RPT N12,N13)N9; Escuadramos nuestro punzón hasta Z44.5 G00 Z200 T4 D4 ; Plato diámetro 20 para desbastar zona 1 y 2, ponemos en las tablas R=10.2 para dejar sobremedida para acabado M6 G00 G90 X120 Y150 Z50 F700 S1100 M3 M8 G0 Z-14.5 N30 G91 Z-2 G90 G1 G41 X100 G01 G39 R10 Y75 ; Chaflán 10x45º X75 Y20 X90 Y10 G03 X90 Y-15 R12.5 G00 G40 X140 Y150 N40 X120 (RPT N30,N40)N14 ; 14 repeticiones G0 Z50 X-140 Y-35 G0 Z.5 N50 G91 Z-2 G90 G01 G41 X-90 G01 Y-15 G02 X-90 Y10 R12.5 G01 Y20 G01 X-75 Y75 G01 G39 R10 X-100 ; Chaflán 10x45º Y130 G0 G40 X-140 N60 Y-35 (RPT N50,N60)N14 ; 14 repeticiones G0 Z200 T5 D5 ; Fresa de acabado diámetro 10, cargaremos en la tabla R=5.00 para dejar a medida final M6 G00 G90 X145 Y120 Z50 F400 S1500 M3 M8 G00 Z0.5 N70 G91 Z-11.25 G90 G1 G41 X100 G01 G39 R10 Y75 ; Chaflán 10x45º G01 X75 G01 G36 R10 Y20 ; Redondeo R=10 G01 X90 G01 Y10 G03 X90 Y-15 R12.5 G01 Y-35 G01 X-90 G01 Y-15 G02 X-90 Y10 R12.5 G01 Y20 G01 G36 R10 X-75 ; Radio 10mm G01 Y75 G01 G39 R10 X-100 ; Chaflán 10x45º G01 Y125 G01 X110 N80 G00 G40 X145 Y120 (RPT N70,N80)N3 G00 Z200 T6 D6 ; Herramienta de bola diámetro 16 para acabado superficial M6 G00 G90 X108 Y125 Z50 F500 S3000 M3 M8 G19 ; Cambio plano Y Z G15 Z ; Selección plano longitudinal N90 G91 X-0.2 G90 G01 G42 Z0 ; Compensación a izquierdas G01 Y95 Z-15 G01 G36 R15 Y-25 ; Redondeo R=15mm G01 G36 R10 Z-45 ; Redondeo R=10mm G01 G36 R15 Y-125 ; Redondeo R=15mm G01 Z-65 G01 Y-145 G00 G40 Z50 ; Descompensamos N100 Y125 (RPT N90,N100)N1080 G00 Z200 G17 ; Selección plano de trabajo X Y Nota: terminamos el programa mecanizando las cajeras de la cara superior de punzón. Continuación punzón refractario PROGRAMACIÓN DEL SEGUNDO AMARRE CAJERAS SUPERIORES G17 T7 D7 ; Fresa diámetro 15 para cajeras M6 G00 G90 X0 Y25 Z50 F200 S1000 M3 M8 G92 X0 Y0 G73 Q45 ; Giramos 45º para hacer la primera cajera N110 X12.5 Y0 G00 Z-14 G01 Z-19 F20 G01 X20.5 F200 G01 Z-23 F20 G01 X12.5 F200 N120 G0 Z5 G73 Q90 ; Giramos 90º más para hacer segunda cajera (RPT N110,N120) G73 Q90 ; Giramos 90º más para hacer tercera cajera (RPT N110,N120) G73 Q90 ; Giramos 90º más para hacer cuarta cajera (RPT N110,N120) G73 G00 Z200 M30 ; FIN DE PROGRAMA En esta visualización debemos imaginarnos que la parte inferior ya ha sido mecanizada, tal y como vimos en la primera parte de la programación, amarre 1 (figs. 58a, 58b, 58c y 59). Fig. 58a Fig. 58b Fig. 59 Fig. 58c 152 5º Simular y ejecutar la pieza. 6º Verificar las distintas dimensiones, antes de soltarla. Como vimos con anterioridad, a la hora de hacer un programa aconsejamos realizar un listado con las herramientas que usamos y la posición que ocupan en el carrusel, además de sus radios, longitudes y características tecnológicas; de esta forma, si otra persona quiere repetir el mecanizado de la misma pieza, tendrá toda la información que necesita. Subrutinas Definimos una subrutina como un conjunto de bloques que se identifican convenientemente, de forma que podrán ser “llamados”, cuando sea necesario, para que se ejecuten. Podemos decir que una subrutina será un pequeño programa dentro de una programación. En definitiva, con ellas definiremos una serie de operaciones que se podrán repetir las veces que sea necesario. Tienen la particularidad de que pueden estar almacenadas en el mismo programa que se ejecuta o en cualquier otro programa que haya sido guardado en el equipo. Debido a esto no puede haber dos subrutinas del mismo tipo, es decir, con el mismo número de identificación, aunque estén en programas distintos. Para designar una subrutina debemos indicar el lugar de comienzo y de finalización de la programación que pertenecerá a la subrutina; utilizaremos la orden SUB seguida de un número entero, todo entre paréntesis, para indicar el inicio de esta subprogramación; emplearemos la orden RET, entre paréntesis, para indicar donde se acaba la subrutina. Tanto el inicio (SUB…), como el final (RET) deberán ir solas, programadas en un bloque. Cuando vayamos a configurar una subrutina, podremos programarla durante el programa o al finalizar el mismo. Nosotros recomendamos que se haga al finalizar la programación convencional, es decir, después del M30, ya que si se incluye dentro del cuerpo del programa, en cuanto el control la lea, la ejecutará sin necesidad de hacer referencia a la llamada de la subrutina; por eso podemos cometer algún error, ya que quizás se ejecute esa parte del programa donde no nos interese. Programándola después del M30, la podremos llamar cuantas veces queramos y en lugar del programa que consideremos necesario. Para llamar a una subrutina estándar utilizaremos la expresión (CALL…) y el número que deseemos asignarle. Si queremos repetir la subrutina varias veces, basta con escribir detrás de la llamada la letra N seguida del número de repeticiones que deseamos. Fig. 60 Ejemplo de configuración de subrutina estándar. T1 M6 G0 …… …… D1 G90 …… …… …… …… …… …… …… …… …… …… (CALL 1) …… …… …… …… …… …… …… …… …… …… …… …… …… …… …… M30 Seremos conscientes de que dentro de una subrutina podremos llamar a otra que esté dentro del CNC, y así sucesivamente hasta un máximo de 15 niveles de intercalación. Todo lo visto hasta el momento vale tanto para las subrutinas estándar como para las paramétricas; la diferencia entre unas y otras estriba en que en las estándar los valores de X, Y y Z son numéricos, mientras que en las paramétricas son, como su nombre indica, parámetros variables. En la figura 60 se representa, de forma representativa, la manera de configurar una subrutina y su llamada desde el programa. (SUB 1) …… …… …… …… …… …… …… …… …… …… …… …… (RET) …… …… …… …… …… …… …… …… Imaginemos que queremos mecanizar la marca de la empresa en las distintas piezas que se ejecuten; para ello crearemos una subrutina de dicho logotipo para poder llamarla siempre que queramos, y así evitar tener que programarla en todos los mecanizados. Seguidamente vemos un ejemplo del programa con la subrutina asociada (fig. 61). 153 Fig. 61 Subrutina P2 P0 P1 P3 Programación subrutina T2 D2 ; Plato de diámetro 20, para escuadrado de pieza M6 G00 G90 X120 Y70 Z50 F400 S800 M3 M8 G00 Z0 N10 G91 Z-3 G01 G90 G41 X95 G01 Y-45 G01 X-95 G01 Y45 G01 X120 N20 G0 G40 X120 Y70 (RPT N10,N20)N5 G00 Z200 G00 X30 Y-20 G92 X0 Y0 (CALL 1) G00 Z200 M30 (SUB 1) T3 D3; Fresa diámetro 2 para grabado de logo M6 G00 G90 X6.6 Y0 Z20 F100 S3000 M3 M8 G00 Z1 G01 Z-1 F20 G01 X0 F100 G01 Y10.3 G00 Z1 G00 X9.5 G01 Z-1 F20 G01 Y0 F100 G00 Z1 G00 X13.9 Y5.4 G01 Z-1 F20 G01 Y10.3 F100 G01 X18.7 G02 X18.7 Y5.4 R2.5 G01 X13.9 G01 Y0 G01 X18.7 G03 X18.7 Y5.4 R2.7 G00 Z1 G00 X25.1 Y0 G01 Z-1 F20 G01 Y10.3 F100 G01 X30.7 G02 X30.7 Y5.2 R2.5 G01 G01 X25.1 G00 Z1 G00 X33.4 Y0 G01 Z-1 F20 G01 X30.7 Y5.2 F100 G00 Z1 G00 X36.3 Y5.15 G01 Z-1 F20 G02 X36.3 Y5.15 I5.5 J0 F100 G00 Z1 G00 X57.4 Y7.8 G01 Z-1 F20 G03 X50.8 Y9.7 R4.1 F100 G03 X51.7 Y6.1 R2.1 G01 X54 Y5.4 G01 X56.6 Y4.3 G02 X57.1 Y0.5 R2.2 G02 X49.4 Y3.1 R4.8 G00 Z1 G00 X26.3 Y-9.6 G01 Z-1 F20 G01 X19.9 F100 G01 Y-14.6 G01 X25.3 G01 X19.9 G01 Y-20 G00 Z1 G00 X30 Y-20 G01 Z-1 F20 G01 Y-9.6 F100 G01 X34.9 G02 X34.9 Y-15.2 R2.8 G01 X30 G00 Z50 (RET) 154 P4 P6 P7 R1 P8 R2 P5 P9 P10 P12 P13 R3 P14 P15 P11 P16 P0 6,6 0 P1 0 0 P2 0 10,3 P3 9,5 10,3 P4 9,5 0 P5 P6 P7 P8 P9 P10 13,9 13,9 18,7 18,7 13,9 18,7 5,4 10,3 10,3 R1=2,5 5,4 R2=2,7 0 0 P11 P12 P13 P14 P15 P16 25,12 0 25,10 10,3 30,7 10,3 R3=2,5 30,7 5,2 25,1 5,2 33,4 0 P17 36,3 5,15 R4=5,15 P18 P19 P20 P21 P22 P23 P24 57,4 50,8 51,7 54 56,6 57,1 49,4 7,8 9,7 6,1 5,4 4,3 0,5 3,1 P25 P26 P27 P28 P29 26,3 19,9 19,9 25,3 25,3 -9,6 -9,6 -14,8 -14,8 -20 P30 P31 P32 P33 P34 30 30 34,9 34,9 30 -20 -9,6 -9,6 R9=2,8 -15,2 -15,2 R4 P17 P19 R5 R6 P18 P20 P21 R7 P24 P22 R8 P23 P26 P25 P27 P28 P29 P31 P32 R9 P34 P30 P33 R5=4,1 R6=2,1 R7=2,2 R8=4,8 Subrutinas Paramétricas Para el estudio de este tipo de subrutinas nos basaremos en lo visto en el apartado anterior, si bien necesitamos añadir cierta información adicional para programarlas. Los valores X, Y y Z utilizados no van a ser números concretos, sino que serán ciertos parámetros cuyo valor podremos cambiar según nuestras necesidades; en definitiva, estaremos configurando algo parecido a un ciclo conversacional. Tienen gran utilidad para programar determinados mecanizados cuyas dimensiones podrán ser variables dependiendo de su aplicación. Ofrecen una gran flexibilidad de los mecanizados. En la subrutina los parámetros serán los que sustituyan a las coordenadas. Además podrán indicarse de dos formas distintas: 1º Mediante la letra P, seguida de un número; por ejemplo: P0, P1, P2, etc. 2º Con las letras del abecedario, excluyendo la Ñ y la LL; por ejemplo: A, B, C, etc. Ambas formas son equivalentes, es decir, P0 equivaldría a A, P1 sería B y así sucesivamente, por lo que sería lo mismo programar: P0=5 A=5 A5 P1=3 B=3 B3 Existe un número máximo de parámetros asignables, estando limitados a 26, es decir, podríamos dar desde P0 hasta P25. Hay que tener en cuenta que tanto los parámetros como las llamadas a las subrutinas siempre irán entre paréntesis, ya que no es lo mismo M30 que (M30), puesto que (M30) = (P12=30). Además, los valores de los parámetros podemos introducirlos en cualquier parte del programa o cuando llamemos a la subrutina paramétrica. Para hacer la llamada de la subrutina paramétrica podremos operar de las siguientes formas: T1 M6 G0 …… …… D1 G90 …… …… …… …… …… …… …… …… …… …… (P CALL 1) ó (P CALL 1, P0=3, P1=7, P2=P3) ó (P CALL 1, A3, B7, C=D) …… …… …… …… …… …… …… …… …… …… …… …… …… …… …… M30 Seguidamente pondremos un ejemplo de programación con subrutinas paramétricas. Imaginemos que en nuestro trabajo habitualmente se realizan chaveteros de distintas dimensiones (fig. 62), para simplificar la programación crearemos una subrutina paramétrica, de forma que, simplemente cambiando el valor de los parámetros, podremos ejecutar diversos chaveteros de distintas medidas. 155 Fig. 62 Programación subrutina paramétrica T3 D3 ; Fresa diámetro 10 para cajera pequeña M6 G00 G90 X-25 Y-37.5 Z50 F400 S1300 M3 M8 ; Esta coordenada será el comienzo de nuestra chaveta y el punto de partida para llamar a nuestra subrutina paramétrica 2 G00 Z5 (PCALL 2 P1=50,P2=P1,P3=25,P4=P3,P7=3,P8=4); Llamada a subrutina paramétrica 2 , donde damos los valores de los parámetros. T4 D4 ; Fresa diámetro 20 para cajera más grande M6 G00 G90 X-50 Y37.5 Z50 F400 S1000 M3 M8 ; Coordenada de inicio G00 Z5 (PCALL 2 P1=100,P2=P1,P3=40,P4=P3,P7=3,P8=6); Llamada a subrutina paramétrica 2 , donde damos los valores de los parámetros. G00 Z200 M30 (SUB 2); Aquí empezamos la subrutina 2, la podremos llamar desde cualquier programa de nuestro CNC G1 Z1 (P5=P3/2) (P6=P4/2) N10 G01 G91 Z- P7 F20 G01 G41 Y P6 F400 G03 Y- P4 R P6 G01 X P2 G03 Y P3 R P5 G01 X- P1 G01 G40 Y- P6 G01 X P2 G00 Z1 N20 G00 X- P2 (RPT N10,N20)NP8 G00 G90 Z1 (RET); Aquí termina nuestra subrutina 1 Subrutinas modales o ciclo fijo definido por usuario Cuando llamamos a una subrutina de la siguiente forma: (M CALL…), lo que estamos haciendo es que la subrutina se comporte como un ciclo fijo de mecanizado; por lo tanto, esta función estará activa hasta que se anule por medio de un G80, como si de un ciclo se tratase. Se podrá programar G80 dentro de la subrutina y esto anularía el ciclo fijo hasta que se le llamase de nuevo. La función G80 dentro de una subrutina deberá ir programada sola en un bloque. Esta función (M CALL…) es muy práctica, ya que mediante una simple subrutina podemos mecanizar, del mismo modo que lo haríamos con un ciclo fijo, cualquier operación que habitualmente realicemos. 156 Lenguaje de alto nivel Ya hemos visto con antelación la función de alto nivel RPT, ahora vamos a estudiar alguna más que nos puede ser de utilidad en nuestra programación diaria. TOI El TOI es una función del lenguaje de alto nivel que nos permite modificar el corrector de desgaste de la herramienta. Se usa cuando hacemos grandes series, para que la herramienta compense este desgaste y la pieza quede dentro de medidas; nosotros también lo usamos para hacer conicidades en piezas, engañando a la máquina con el desgaste de la herramienta. Como todas las funciones de lenguaje de alto nivel, siempre se programa entre paréntesis (TOI…) seguido del numero del corrector de la herramienta a modificar. Cuando la maquina compense su RADIO, tomará el radio que hayamos introducido en las tablas, adicionándole el valor del corrector que hayamos introducido con la función TOI. A continuación, basándonos en el ejemplo de la figura 40 de cuando estudiamos el CAMBIO DE PLANO G16, G17, G18, G19, vamos a ver cómo podemos darle una conicidad de 1mm a dicha pieza. Programación con TOI T2 D2 ; Herramienta de bola de R=4 M6 G00 G90 X4 Y0 Z50 F500 S2000 M03 M08 G19 ; También podríamos programar G16 YZ G15 Z; Programamos cual es el eje longitudinal (TOI2=0); Con este bloque indicamos al CNC que el desgaste radial I del corrector D2 es igual a cero (I=0). N10 (TOI2=TOI2+0.00833); Cada vez que el control lea esta línea sumará al corrector de desgaste de radio +0.0083. Indicamos así que la herramienta a crecido, eso es imposible físicamente, pero el control asume todo lo que le decimos y en la siguiente pasada tomará como nuevo corrector de radio el corrector que uso en la pasada anterior más 0.00833 G91 X-0.5 G90 G00 Y40 G0 Z20 G1 G42 Z10 D2 ; Cada vez que compensa la herramienta, el CNC actualiza el corrector de desgaste y se separará de la pieza 0.00833 en cada pasada. G1 G36 R5 Y G03 G36 R5 Y-20 Z10 J-20 K0 G01 Y-40 G00 G40 Z50 N20 Y0 (RPT N10,N20)N135 (TOI2=0) G00 Z200 M30 Del mismo modo que el TOI, también hay otras funciones del lenguaje de alto nivel que funcionan igual y por eso no vamos a profundizar en su estudio. Por ejemplo: TOR: esta variable permite leer o modificar en la tabla de correctores el valor asignado al Radio del corrector indicado. TOL: esta variable permite leer o modificar en la tabla de correctores el valor asignado a la Longitud del corrector indicado. TOK: esta variable permite leer o modificar en la tabla de correctores el valor asignado al desgaste de longitud (K) del corrector indicado. 157 GOTO (Saltar a la Línea) Con esta función podemos volver a cualquier parte del programa, solo indicar (GOTO N...) y el control va al bloque correspondiente. Esta función es muy utilizada en la programación paramétrica. Seguidamente ponemos un ejemplo: T1 D1 M6 G0 G90 X100 Y0 Z20 F500 S1200 M3 M8 N10 G0 Z0........................ (GOTO N10) ; El control volvería a la línea 10 G00 Z200 M30 IF Es una función condicional, "SI", y se usa también mucho en programación paramétrica. La forma de programarlo sería: (IF (P5 EQ 15) GOTO N200) Esto significa que si el parámetro P5=15, salta a la línea 200. (IF (P5 EQ 15) OR (P3 EQ 15) CALL3 ELSE CALL4) Esto significa que si el parámetro P5=15 o el parámetro P3=15, llama a la subrutina 3 y, si no, llama a la subrutina 4. 158 Ciclos fijos fresado Podemos definir un ciclo fijo como un programa predefinido que va a realizar un mecanizado concreto. La misión de estos ciclos es facilitar la programación en operaciones habituales de mecanizado, ya que mediante un solo bloque se podrán dar múltiples trayectorias y parámetros al control, simplificando considerablemente la programación. CICLOS FIJOS DE MECANIZADO FAGOR 8055 (FRESADORA) Función G66 G67 M D G68 V * * * G69 * * G73 G79 G80 G81 G82 * * G83 * * G84 G85 * * * * * * * * * * G86 * * G87 G88 * * * * G89 * G98 G99 * * * * * CICLOS FIJOS DE MECANIZADO FAGOR 8070 (FRESADORA) Significado Ciclo fijo de cajeras con islas Operación de desbaste de cajeras con islas Operación de acabado de cajeras con islas Ciclo fijo de taladrado profundo con paso variable Giro del sistema de coordenadas Modificación de parámetros de un ciclo fijo Anulación de ciclo fijo Ciclo fijo de taladrado Ciclo fijo de taladrado con temporización Ciclo fijo de taladrado profundo con paso constante Ciclo fijo de roscado con macho Ciclo fijo de escariado Ciclo fijo de mandrinado con retroceso en G00 Ciclo fijo de cajera rectangular Ciclo fijo de cajera circular Ciclo fijo de mandrinado con retroceso en G01 Vuelta plano de partida al final ciclo fijo Vuelta plano de referencia al final ciclo fijo Función G80 G81 G82 G83 G84 G85 G86 G87 G88 G98 G99 M * * * * D * * * * * * * * * * * V * * * * * * * Significado Anulación del ciclo fijo. Ciclo fijo de taladrado. Ciclo fijo de taladrado con paso variable. Ciclo fijo de taladrado profundo con paso constante. Ciclo fijo de roscado con macho. Ciclo fijo de escariado. Ciclo fijo de mandrinado. Ciclo fijo de cajera rectangular. Ciclo fijo de cajera circular. Retroceso al plano de partida al final del ciclo fijo. Retroceso al plano de referencia al final del ciclo fijo. En este texto combinaremos la explicación de la programación convencional ISO de ciclos fijos y la forma de introducirlos al CNC, mediante el método conversacional que presentan muchos equipos. Consideraciones a tener presentes Normalmente, en los distintos ciclos, los parámetros que tienen la misma nomenclatura realizarán funciones similares. Se podrán definir en cualquier parte del programa, incluso en una subrutina, pero, a la hora de indicar los diferentes parámetros que compondrán un ciclo, será necesario programarlos en el orden establecido por el ciclo. Sí que podremos omitir ciertos parámetros, pero no alterar la estructura marcada por el ciclo. Cuando se ejecuta un ciclo fijo, no se alteran las funciones G anteriormente programadas, ni el sentido de giro que presentará el cabezal. No obstante, si aplicamos un ciclo fijo con el cabezal parado, por defecto arrancará a derechas (M03). También tendremos presente que, cuando se ejecuta un ciclo, automáticamente se anulará la compensación de radio. Cuando se define un ciclo fijo todos los bloques que se programen a continuación estarán sometidos a dicho ciclo; es decir, después de haber programado un ciclo fijo, cada vez que desplacemos les ejes variando las coordenadas, se ejecutará el ciclo fijo preprogramado. En definitiva, estamos diciendo que los ciclos son modales. Esta particularidad puede resultarnos de utilidad ya que, por ejemplo, cuando queramos realizar varios taladros iguales en distintos puntos, con sólo indicar cada coordenada, el ciclo de taladrado se repetirá automáticamente. Para anular cualquier ciclo fijo, indicaremos en la programación el código G80, pudiendo programarse en cualquier bloque; no obstante, si se programan varios ciclos fijos seguidos, los que hayan sido ejecutados serán anulados por el que esté activo; es decir, los ciclos que se van a ejecutar anulan a los anteriores sin necesidad de indicar G80. Habitualmente los ciclos se programan siempre en coordenadas absolutas, aunque en algunas ocasiones, por necesidades del mecanizado podremos requerir el empleo de valores incrementales. 159 Estructura de un ciclo Habitualmente, la constitución del bloque que definirá un ciclo de mecanizado presentará la siguiente estructura: - En primer lugar, se programarán todas las funciones G necesarias, colocando en última posición la correspondiente al ciclo fijo a mecanizar. - Seguidamente se indicarán las coordenadas del punto de mecanizado. - Después se introducirán los parámetros característicos del ciclo a realizar. - Se finalizará con las funciones complementarias necesarias. En definitiva, diremos que antes de la definición del ciclo se indicarán las funciones preparatorias G, las tecnológicas F, S y las auxiliares M y H. Esquemáticamente un ciclo fijo se programará como sigue: Funciones “G” G… Distancia al plano de referencia Parámetros ciclo X…Y…Z… I…K…R…etc Punto mecanizado F…S…T…D…M… Funciones complementarias En los ciclos fijos referentes a la fresadora debemos conocer dos planos de movimiento de la herramienta (fig.63): - El plano de partida será la posición que ocupa la herramienta cuando se define el ciclo. - El plano de referencia es una zona de aproximación a la pieza. También podríamos llamarlo plano de seguridad, pues la herramienta se situará en dicho plano para realizar los distintos posicionamientos previos al mecanizado. Para establecer el plano de referencia se indicará el parámetro Z, y podrá darse de dos formas: 1ª en coordenadas absolutas (G90) respecto al cero pieza. 2ª en coordenadas relativas (G91) respecto al plano de partida. Las funciones G98 y G99 indicarán hasta dónde retrocede la herramienta después de cada mecanizado; G98 → Plano de partida; G99 → Plano de referencia. Seremos conscientes de que son modales y, por defecto, el control asumirá G98. Seguidamente podemos observar, de forma genérica, la manera de programar el plano de partida y de referencia en un mecanizado. 160 Fig. 63 Planos de trabajo. Ejemplo programación Ciclo fijo en coordenadas absolutas T12 M6 G00 G00 G81 X50 G98 G80 G00 M30 D12 G43 G90 F300 S1000 M3 X25 Y25 Z50; Me sitúo en el primer taladro, la altura será el plano de partida G99 Z2 I-20 K900; Marco el ciclo fijo de taladrado “G81”, indico que el plano de referencia “G90” es Z2, y ordeno la profundidad del taladrado 20. Automáticamente el programa toma como G98 el Z50 anterior; además le marco unA temporización K en el fondo Y50; En cada desplazamiento se ejecuta nuevamente el ciclo X75 Y75; Mecaniza el último agujero y se retira hasta plano de partida ; Se anula el ciclo fijo de taladrado X0 Y0 Z50 Ejemplo programación Ciclo fijo en coordenadas incrementales T12 D12 M6 G00 G43 G90 X25 Y25 Z50 F300 S1000 M3; Me sitúo en el primer taladro, la altura será el plano de partida G81 G91 G99 Z-23 I-22 K900; Marco el ciclo fijo de taladrado “G81”, indico que el plano de referencia “G90” es Z-23 ya que estoy en incrementales, y ordeno la profundidad del taladrado 22mm, ya que el taladro debe quedar a 20mm de profundidad. Automáticamente el programa toma como G98 el Z50 anterior X25 Y25; En cada desplazamiento se ejecuta nuevamente el ciclo G98 X25 Y25; Mecaniza el último agujero y se retira hasta plano de partida G80 ; Se anula el ciclo fijo de taladrado G90 G00 X0 Y0 Z50 M30 G81 Ciclo fijo de taladrado.El formato de programación será el siguiente: Retroceso hasta plano referencia Ciclo taladrado G81 G98/G99 Retroceso hasta plano partida Cota a plano referencia. Desde plano partida G91. Desde cero pieza G90. X… Y… Z… Coordenadas punto mecanizado Tiempo de espera en centésimas de segundo (8055) o en segundos (8070); por defecto “0” I…K… Profundidad total del taladrado. Respecto al cero pieza G90. Respecto al plano de referencia G91 Estudiando el ciclo (fig. 64), sacamos la conclusión de que el cabezal se desplazará con un movimiento rápido G00 hasta el plano de referencia. Seguidamente taladrará el agujero con avance de trabaja G01; para ello le habremos indicado el parámetro I, que definirá la profundidad de la rosca, y podrá programarse en cotas absolutas o bien en cotas incrementales, en cuyo caso estará referida al plano de referencia. 161 Fig. 64 Al llegar al fondo se detendrá el tiempo que se haya programado, para finalizar con una salida rápida hasta el plano de partida, si está activado el G98, o al plano de seguridad, si la función activa es G99. Nota: en versiones posteriores al 8055, la temporización K se programará en segundos. Además, en la versión 8055, existe un ciclo de taladrado con temporización, cuya función es G82 y la única diferencia con el estudiado es que obliga a temporizar en el fondo del agujero. Esta función ha sido eliminada en controles posteriores, dejando sólo el G81 y la temporización a voluntad del operario. Seguidamente realizaremos la programación del mecanizado de taladros de una pieza (fig. 65) empleando el ciclo fijo de taladrado G81: Fig. 65 Plano de la pieza. 162 Programación Ciclos taladrado G81 T2 D2; Broca diámetro 3,5mm M06 G90 G00 G43 X4 Y4 Z50 F50 S800 M3 M8 Z20; Plano de partida G81 G98 X4 Y4 Z2 I-14; Llamamos al ciclo G00 X50 Y4 ; En esta punto se repite el ciclo X50 Y36 ; En esta punto se repite el ciclo X5 Y36 ; En esta punto se repite el ciclo G80 ; Anulamos ciclo G00 Z50 T3 D3 ; Broca diámetro 4mm M06 G90 G00 G43 X58 Y7.5 Z50 F55 S820 M3 M8 Z20 G81 G98 X58 Y7.5 Z2 I-14 G00 X58 Y32.5 G80 G00 Z50 G69 → Versión 8055 T4 D4 ; Broca diámetro 5mm M06 G90 G00 G43 X67 Y5 Z50 F60 S850 M3 M8 Z20 G81 G98 X67 Y5 Z2 I-14 G00 X77 Y5 X77 Y35 X67 Y35 G80 Z50 T5 D5 ; Fresa frontal diámetro 8mm M06 G90 G00 G43 X67 Y5 Z50 F20 S900 M3 M8 Z20 G81 G98 X67 Y5 I-4.5 K200 G00 X77 Y5 X77 Y35 X67 Y35 G80 Z50 X-30 Y-30 M30 Ciclo fijo de taladrado con paso variable.- G82 → Versión 8070 El formato de programación será el siguiente: Paso de taladrado Cota a plano referencia. Desde plano partida G91. Desde cero pieza G90. Retroceso hasta plano referencia Taladrado con paso variable v.8055 G69 G98/G99 Retroceso hasta plano partida X… Y… Z… Distancia entre el plano de referencia y la superficie de la pieza; por defecto “0” Define nº de pasos para volver al plano de referencia I… B… C… D… H… J… K… Coordenadas punto mecanizado Cota de aproximación Profundidad total del taladrado. Respecto al cero pieza G90. Respecto al plano de referencia G91 Tiempo de espera en centésimas de segundo Distancia a la que retrocede (G0), tras cada paso de taladrado. L… R… Factor que aumenta o reduce el paso de taladrado "B" Mínimo valor del paso del taladro; por defecto 1mm En la versión 8070, la función que define este ciclo es la G82, y su formato de programación, aunque mantienen los mismos parámetros, excepto la programación del tiempo de espera “K” que se indica en segundos, los ordena de la siguiente forma: 163 Taladrado con paso variable v.8070 G82 Z… I… D… B… H… C… J… K… R… L… Algunos de los parámetros de programación, como K o I, son similares al ciclo de taladrado convencional, así como ciertos movimientos de mecanizado; pero la clara diferencia es que la profundidad del agujero se realizará por fases. Debido a esta forma de trabajo, existen una serie de paradas y movimientos adicionales. Explicaremos esta forma de mecanizado por apartados (fig. 66): 1. En movimiento rápido la herramienta descenderá hasta el plano de referencia, que se indicará mediante la distancia D entre la superficie de la pieza y el plano de seguridad que queramos establecer; ante la ausencia de este dato, el control adoptará el valor de 0 en este parámetro. En un primer momento podemos pensar que este valor es igual que el parámetro Z (plano de referencia), pero aunque en muchas ocasiones coincide, puede darse el caso que el cero pieza no esté tomado en la superficie de la pieza, ya que puede presentar un saliente, una cajera, etc.; en estos casos no coincidirán los parámetros “Z” y “D” siendo importante programarlos correctamente. 2. En velocidad de trabajo G01 taladrará hasta una profundidad B; seguidamente se retirará rápidamente (G00) una distancia de desahogo H; si programamos J=1 la broca retrocederá siempre hasta el plano de seguridad. Cuando el valor de J sea mayor de 1, la herramienta retrocederá en cada paso la distancia de desahogo H, y cuando el número de pasos sea igual al valor introducido en el parámetro J, la broca se retirará hasta el plano de referencia; en definitiva, el parámetro J define cada cuántos pasos de taladrado la herramienta vuelve al plano de referencia. Fig. 66 3. De forma rápida se acercará hasta una distancia C del taladro ejecutado y, si no se programa, el control establecerá 1mm del taladro anterior para este movimiento. Seguidamente, con velocidad de corte, continuará el mecanizado del agujero ejecutando un bucle hasta finalizar el orificio. Consideraciones adicionales: como hemos dicho, el taladrado de cada fase tendrá el valor de B, excepto el último, que se ajustará a la profundidad del orificio. Además, podremos introducir un factor de taladrado R, que reducirá o aumentará la profundidad de los mecanizados en cada paso. Así, por ejemplo, el primer taladrado presentará una profundidad B, el segundo será igual a RxB, el tercero a R(RxB) y así sucesivamente. Lógicamente, si no se programa este parámetro, el control establece R=1. Al emplear esta opción, se puede hacer necesario establecer el mínimo valor que puede mecanizar en cada paso L, siendo por defecto 1mm. Cuando tengamos un taladro muy profundo, nos interesará realizarlo en dos ciclos, primeramente, programaremos un ciclo fijo de taladrado, por ejemplo, con 42mm de profundidad, para después indicar un ciclo con paso variable indicando D-40; así bajaría en movimiento rápido hasta Z-40, para continuar a partir de ese punto el ciclo de taladro variable, reduciendo considerablemente el tiempo empleado en el mecanizado. 164 Seguidamente realizaremos la programación del mecanizado de taladros de una pieza empleando (figs. 67) el ciclo fijo de taladrado G69: Figs. 67 Plano y representación de la pieza a mecanizar. Programación Ciclos taladrado G69 T5 D5; Broca diámetro 12mm M6 G00 G90 G43 X20 Y20 Z50 F40 S600 M3 M8 Z25; Indicamos el plano de partida G69 G99 X20 Y20 Z2 I-30 B4 C1 D2 H3 J3 K100 L3 R0.8; Ciclo + plano de referencia X80 Y80 G98 X20; Retirada hasta plano de partida G80 G00 Z50 X-30 Y-30 M30 La programación empleando la versión 8070 sería igual, solamente se variaría el orden de los parámetros del ciclo. 165 G83 Ciclo fijo de taladrado profundo con paso constante.- Retroceso hasta plano referencia Ciclo taladrado paso constante G83 G98/G99 Retroceso hasta plano partida Cota a plano referencia. Desde plano partida G91. Desde cero pieza G90. X… Y… Z… Coordenadas punto mecanizado Número de pasos en los que se realiza el taladrado I…J… Paso de taladrado B…K… Para versión 8070. Tiempo de espera, en segundos, en el fondo del taladrado Para versión 8070. Distancia que retrocede, en avance rápido (G0), tras cada paso de taladrado Fig. 68 Representación de los movimientos en un ciclo fijo G83. Cada paso se caracterizará por una profundidad de taladrado, cuyo valor se programará con el parámetro “I”. El cabezal se desplazará rápidamente hasta el plano de referencia (fig. 68); a continuación, comenzará el taladrado hasta una profundidad marcada por el parámetro “I”; después la broca se retirará rápidamente hasta el plano de referencia, volviendo a aproximarse hasta 1mm de la superficie mecanizada, para continuar con la perforación en G01, realizando un bucle de taladrado, que se repetirá tantas veces como indique el parámetro J. Finalmente, al concluir el orificio, retrocederá rápidamente hasta el plano seleccionado (G98/G99). En la versión 8070, se podrá establecer un tiempo de espera K en el fondo del agujero, y un parámetro B que marcará la distancia de retroceso o desahogo de la broca en cada paso, sin ser necesario que suba hasta el plano de referencia. A continuación, vamos a programar, con coordenadas incrementales, el taladrado de la siguiente pieza (fig. 69): 166 Fig. 69 Plano y representación de la pieza a mecanizar. Programación Ciclos taladrado G83 en coordenadas incrementales T5 D5; Broca diámetro 12mm M6 G90 G00 G43 X20 Y20 Z50 F50 S700 M3 M8 G91 G00 Z-25; Nos situamos en el plano de partida G83 G99 Z-23 I-8 J4; Ciclo + plano de referencia + paso de taladrado + nº pasos G00 X60 Y60 X-60 G98 G00 X30 Y-30 G80 G90 Z50 X-30 Y-30 M30 G84 Ciclo fijo de roscado con macho.El formato de programación será el siguiente: Retroceso hasta plano referencia Ciclo roscado con macho G84 G98/G99 Cota a plano referencia. Desde plano partida G91. Desde cero pieza G90. X… Y… Z… Tiempo de espera en centésimas de segundo (8055) o en segundos (8070); por defecto “0” I…K…R…J… Tipo de roscado. R0: roscado normal. R1: roscado rígido. Factor de avance para el retroceso Retroceso hasta plano partida Coordenadas punto mecanizado Profundidad total del roscado. Respecto al cero pieza G90. Respecto al plano de referencia G91 Al igual que sucedía en el taladrado, el cabezal avanzará rápidamente (G00) hasta el plano de referencia. Seguidamente se establecerá el 100% del avance y de la velocidad programada, hasta finalizar el roscado. Si se estableciese una temporización K, el cabezal dejará de girar y permanecerá parado en el fondo del agujero el tiempo programado; finalmente, se invertirá el sentido de giro del cabezal, saliendo del orificio con el avance y la velocidad total de roscado (fig. 70). Consideraciones adicionales: durante la entrada o salida del macho no se podrá detener el movimiento de roscado. Imaginemos que queremos roscar con macho la pieza cuyo taladrado hemos programado anteriormente con el ciclo G81 (fig. 65), y que presentaba cuatro agujeros roscados de M4; la programación que debemos realizar será la siguiente: Fig. 70 Programación Ciclo Roscado G84 en coordenadas absolutas T6 D6; Macho de M4x0,7 M6 G90 G95 G00 G43 X4 Y4 Z50 F0.7 S250 M3 M8; Programamos en mm/rev (G95) para indicar el avance por vuelta, que deberá coincidir con el paso de la rosca (F0.7) Z25; Nos situamos en el plano partida G84 G99 Z2 I-14 K100; Ciclo + partida roscado espera G00 X50 Y36 X4 G80 Z50 X-30 Y-30 M30 de plano de + prof. + tiempo G85 Ciclo fijo de escariado.El formato de programación será el siguiente: Retroceso hasta plano referencia Ciclo escariado G85 G98/G99 Retroceso hasta plano partida Cota a plano referencia. Desde plano partida G91. Desde cero pieza G90. X… Y… Z… Coordenadas punto mecanizado 168 Tiempo de espera en centésimas de segundo (8055) o en segundos (8070); por defecto “0” I…K… Profundidad total del escariado. Respecto al cero pieza G90. Respecto al plano de referencia G91 Fig. 71 Igual que hemos visto hasta el momento, todo comenzará con un movimiento rápido (G00) hasta el plano de referencia; seguidamente se establecerá el avance de trabajo, manteniéndose hasta finalizar el escariado, definiendo su profundidad por la cota I. Si se programa temporización, el escariador al llegar al fondo permanecerá parado el tiempo estipulado, que se indicará en centésimas de segundo para la versión 8055 y anteriores, y en segundos para las versiones posteriores. Finalmente el escariador retrocederá en avance de trabajo (G01), hasta el plano de referencia y, si estuviera programado un G98, seguirá retrocediendo en avance rápido hasta el plano de partida (fig. 71). Si tuviésemos que escariar el agujero de la figura 72 y suponiendo que la profundidad del orificio es de 40mm, programaríamos el ciclo de la siguiente forma: Fig. 72 Programación Ciclo Escariado G85 T7 D7; Escariador de diámetro 50mm M6 G90 G00 G43 X0 Y0 Z50 F30 S300 M3 M8 Z25; Nos situamos en el plano de partida G85 G98 Z2 I-55 K100; Ciclo + plano de partida + prof. escariado + tiempo espera G80 Z50 X-30 Y-30 M30 169 G86 Ciclo fijo de mandrinado.El formato de programación será el siguiente: Cota a plano referencia. Desde plano partida G91. Desde cero pieza G90. Retroceso hasta plano referencia Ciclo mandrinado G86 G98/G99 Retroceso hasta plano partida X… Y… Z… Coordenadas punto mecanizado Tiempo de espera en centésimas de segundo (8055) o en segundos (8070); por defecto “0” I…K… Profundidad total del mandrinado La herramienta se desplazará rápidamente (G00) hasta el plano de referencia; en este punto adoptará las condiciones de corte adecuadas (G01) y comenzará el mandrinado hasta el fondo del agujero, determinando esta profundidad de mecanizado por la dimensión I. Si se ha programado tiempo de espera lo ejecutará en este punto; seguidamente saldrá del agujero de forma rápida (G00) (fig. 73). Fig. 73 Para versiones posteriores a la 8055 se puede añadir un parámetro R, que especifica el tipo de retroceso en la salida. Así, R0 será un retroceso en avance rápido (G00), y si indicamos R1, la salida del agujero será con un movimiento lento (G01). Si no se programa, el control establece por defecto R0 Si tuviésemos que mandrinar el siguiente orificio (fig. 74), lo programaríamos como seguidamente se expone. Fig. 74 Programación Ciclo Mandrinado G86 En coordenadas absolutas En coordenadas incrementales T8 D8; Mandrino colocado a diámetro 50mm M6 G90 F150 S1000 M3 M8 G00 G43 X0 Y0 Z50 Z25; (Nos situamos en el plano de partida) G86 G98 Z2 I-55 K100 ; (Ciclo + plano de partida + prof. mandrinado + tiempo espera) G80 Z50 X-30 Y-30 M30 T8 D8 ; Mandrino colocado a diámetro 50mm M6 G90 F150 S1000 M3 M8 G00 G43 X0 Y0 Z50 G00 G91 Z-25 G86 G98 Z-23 I-57 K100; (Prof. de mandrinado desde el plano de referencia) G80 G00 G90 Z50 X-30 Y-30 M30 170 G87 Ciclo fijo de cajera rectangular.Distancia en “X” del centro a borde de de la cajera El formato de programación será el siguiente: Retroceso hasta plano referencia Ciclo cajera rectangular v.8055 G87 G98/G99 Retroceso hasta plano partida Distancia en “Y” del centro a borde de de la cajera Cota a plano referencia. Desde plano partida G91. Desde cero pieza G90. X… Y… Z… Coordenadas punto mecanizado Paso lateral de mecanizado Avance de profundización de la hta. I…J…K…B…C…D…H…L…V… Valor lateral de la pasada de acabado Profundidad de pasada Profundidad total del mecanizado Avance de trabajo en pasada de acabado Distancia entre plano de referencia y superficie de la pieza En la versión 8070, los parámetros del ciclo están ordenados de manera diferente, además se añaden tres nuevos que identificamos en el siguiente esquema: Tipo de esquina: 0 recta; 1 redondeada; 2 con chaflán Ciclo cajera rectangular v.8070 G87 G98/G99 X… Y… Z… I… D… A… J… K… M… Q… B… C… L… H… V… Ángulo que formará la cajera con el eje “X” Radio del redondeo o tamaño del chaflán La forma de comenzar el trabajo es similar a la de los ciclos estudiados (fig. 75); tendremos presente que la distancia Z a definir, si se programa en cotas absolutas, se encuentra referida al cero pieza y, cuando se programa en cotas incrementales, estará referida al plano de partida. Una vez situada la herramienta en el centro de la cajera y en el plano de referencia, se establecerán las condiciones de mecanizado, adoptando el avance de profundización indicado en el parámetro V (si no se programa, el control, establecerá un valor igual al 50% del avance F). Al control se le deberá indicar las dimensiones finales de la cajera, mediante los siguientes valores: 1º “I” especifica la profundidad de la cajera; si se programa en valores absolutos (G90), esta dimensión irá referida al cero pieza; por el contrario, en valores incrementales (G91) se dará la profundidad respecto al plano de referencia. 171 Fig. 75 2º J será la distancia del centro de la cajera a su borde, tomada esta medida en el eje X (fig. 76); si se añade un signo negativo a este valor, el sentido de mecanizado será antihorario. Siempre que podamos, trabajaremos con J negativo, ya que de esta forma la herramienta mecanizará en concordancia. 3º K es la distancia del centro de la cajera al borde de la misma, tomando esta dimensión en el eje “Y” (fig. 75). J+ JVu ce elve ntr al o Fig. 76 Co mi en zo Co Vuelve al centro mi en zo Fig. 77 Se comenzará con la primera profundización, que tendrá un valor de B+D. Tendremos presente el significado de estos parámetros: - Definimos B como el valor de cada pasada (fig. 77); si se indica con signo negativo, el valor de todos los pasos será siempre el mismo, a excepción del último, que eliminará el material restante. Cuando presente valor positivo, el control recalculará el paso indicado para ajustarlo a las pasadas, y que todos los movimientos lleven la misma carga de trabajo. - Podemos definir D como la distancia entre el plano de referencia y la superficie de la pieza (fig. 75); si no se programase el CNC, establecería el valor “0”. Fig. 79 Fig. 78 C Seguidamente, se empezará a desplazar la herramienta realizando un ciclo definido por pasos, que conllevará unos desplazamientos laterales C (fig. 78); normalmente, el valor de estos pasos laterales será igual a las ¾ partes del diámetro de la herramienta, siendo éste el valor que el control establece por defecto si no se programa otro. En definitiva, la fresa irá realizando el mecanizado, comenzando por el centro, y siguiendo el recorrido indicado en la figura 80. Cada vez que se tenga que desplazar lateralmente, para incrementar el tamaño de la cajera, lo hará una dista

Use Quizgecko on...
Browser
Browser