







Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Comandos para programación CNC
Tipo: Apuntes
1 / 13
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!








Todos los programas deben tener un nombre o un número identificatorio. Algunos controles numéricos solo aceptan números. Los programas CNC están compuestos por bloques sucesivos. Cada uno de éstos es una instrucción para el control. Los bloques pueden estar numerados ó no. De no estarlos el control los ejecutará en el orden en que los vaya encontrando. La numeración de los bloques puede no ser de uno en uno. Puede ser de cinco en cinco, de diez en diez, etc. Esto es conveniente para introducir luego bloques intermedios sin alterar toda la numeración. La numeración debe ser siempre creciente. Si existiera un bloque cuyo número sea menor al anterior, el control detiene la ejecución del programa.
Funciones Auxiliares
Nro. de Herramienta (Tool)
Velocidad del husillo (Speed)
Velocidad de avance (Feed)
Cota según eje Z
Cota según eje Y
Cota según eje X
Instrucción de movimiento (Go)
Número del bloque
Dentro de cada bloque debe mantenerse este orden. Sin embargo, no es necesario que estén presentes todas los items. Se puede programar en sistema métrico (mm) o en pulgadas.
N4 G71 G2 X, Y, Z +/- 4.3 F5.5 S4 T2.2 M2 (métrica) N4 G70 G2 X, Y, Z +/- 3.4 F5.5 S4 T2.2 M2 (en pulgadas)
El número que acompaña cada ítem significa el número de dígitos admisible. Así por ejemplo: N4 significa que el número de bloques no deberá ser mayor que
Los bloques condicionales son ejecutados ó no en función de la presencia de una señal externa al programa. Sirven por ejemplo para programar paradas para inspecciones del trabajo, cambios de herramienta, etc. Se determina la condicionalidad de un bloque agregando un punto luego del número del bloque. La señal externa normalmente es un switch en el control. Si este switch está activado, la ejecución del programa se detendrá al encontrar un bloque condicional. Si no lo está, el programa seguirá ejecutándose normalmente.
**G00 * **** Posicionamiento rápido **G01 **** Interpolación Lineal **G02 **** Interpolación Circular en sentido horario **G03 **** Interpolación Circular en sentido antihorario G04 Temporización **G05 * **** Arista matada G06 (^) Interpolación Circular con centro en absolutas **G07 * **** Arista viva G08 Arco tangente a la trayectoria anterior G09 (^) Interpolación Circular definida por tres puntos **G10 * **** Anulación imagen espejo **G11 **** Imagen espejo en eje X **G12 **** Imagen espejo en eje Y **G13 **** Imagen espejo en eje Z **G17 * **** Plano XY **G18 **** Plano XZ **G19 **** Plano YZ G20 Llamada a sub-rutina standard G21 Llamada a sub-rutina paramétrica G22 Definición de sub-rutina standard G23 Definición de sub-rutina paramétrica G24 Final de definición de sub-rutina G25 Llamada incondicional G26 Llamada condicional si igual a 0 G27 Llamada condicional si distinto de 0 G28 Llamada condicional si menor G29 (^) Llamada condicional si mayor o igual G30 Visualizar error definido por K G31 Guardar origen de coordenadas G32 Recuperar origen de coordenadas **G33 **** Roscado electrónico G36 Redondeo controlado de aristas G37 Entrada tangencial G38 Salida tangencial G39 Achaflanado **G40 * **** Anulación de compensación de radio **G41 **** Compensación de radio a la izquierda **G42 **** Compensación de radio a la derecha **G43 **** Compensación de longitud **G44 **** Anulación de compensación de longitud **G47 **** Bloque único **G48 * **** Anulación de bloque único **G49 **** Feed programable **G50 **** (^) Carga de longitudes de herramienta **G53 **** Traslado de origen **G54 **** Traslado de origen **G55 **** (^) Traslado de origen
Ejemplo:
N50 G01 X20 Y10 Z30 F200 S N60 X N70 G00 Z
Bloque N50 , ordena a la herramienta que vaya desde las coordenadas en que se encuentre (en las que quedó luego de la ejecución del bloque anterior), en G01 (trayectoria recta) a las coordenadas X20 Y10 Z30 , a una velocidad de avance ( F ) de 200 milímetros por minuto, con el husillo girando a ( S ) 1000 revoluciones por minuto Bloque N60 , el nuevo movimiento es en G01 , no está especificado en el bloque por ser modal. Ordena ir a X100 , esto significa que el movimiento no tendrá nuevas cotas en Y o Z , o sea que el nuevo destino es X100 Y10 Z30. Al no haber nuevas cotas, no es necesario incluirlas en el bloque, también son modales. Al no haber especificación de F ni de S , el movimiento se hará con los mismos valores del bloque anterior. F y S también son modales. Bloque N70 , movimiento rápido G00 desde la cota anterior a Z50 , asume F a la velocidad máxima de la máquina. S según último bloque. Puede programarse en forma absoluta (todos los valores están dados respecto del 0,0,0) o incremental (los valores son relativos a la cota previa). Por defecto los CNC asumen programación en absolutas ( G90 ). En caso de querer trabajar en incrementales deberá programarse un G91 en la línea inicial.
FUNCIONES M (AUXILIARES)
Las funciones auxiliares M producen distintas acciones en la máquina. Ejemplo: arrancar o detener el husillo, arrancar o detener el suministro de líquido refrigerante. Hay otras que están relacionadas con la ejecución del programa CNC: finalizarlo, resetear valores, etc. No pueden ser programadas junto con otras funciones, deben ir en bloques exclusivos y pueden incluirse hasta siete en un mismo bloque Estas son las funciones auxiliares M más utilizadas:
M00 Parada de programa M01 Parada condicional del programa M02 Final del programa M03 Arranque del husillo en sentido horario M04 Arranque del husillo en sentido anti-horario M05 Parada del husillo M06 Cambio de herramienta M30 Final del programa con reseteo de variables
Son los desplazamientos según el plano de seguridad (Clearance Height) a la máxima velocidad de la máquina. Este plano es el definido por una cota en Z que asegura que la herramienta podrá desplazarse sin chocar con algún obstáculo. No se pueden programar movimientos G00 interpolados en 2 o más planos. Normalmente se programa primero la salida en Z (por ej. al plano de seguridad) y luego, en otro bloque, el reposicionamiento en XY. Para este bloque, la máquina buscará primero la cota X y luego la Y. Es decir, no interpolará. Si bien esta modalidad es la más común, puede variar según las diferentes marcas de control numérico. La función G00 es modal e incompatible con G01 , G02 , G03 , y G33. En algunos controles G00 no anula la última F programada, en otros sí, por lo que hay que volver a programarla luego de la ejecución de un G.
Pueden ser movimientos con variación simultánea en los 3 ejes. Esto significa que pueden ser trayectorias espaciales no paralelas a ninguno de los ejes. El CNC calculará las velocidades relativas según cada uno de los ejes, de manera que el resultado de la combinación sea una trayectoria rectilínea. El G01 se ejecuta a la F programada, aunque ésta puede ser luego variada durante la ejecución del programa. Normalmente F es modal. G01 no puede ser incluida en un mismo bloque con G00 , G02 , G03 y G.
Son trayectorias según arcos de circunferencia. Sólo pueden ejecutarse en un plano determinado: XY , XZ o YZ. En este caso el CNC deberá no sólo calcular las velocidades relativas de cada eje sino también la aceleración y desaceleración de los movimientos para obtener una trayectoria circular. La manera de programarla es la siguiente (para plano XY ):
N G02(G03) X+/-4.3 Y+/-4.3 I+/-4.3 J+/-4.3 F
I y J definen el centro del arco según los ejes X e Y , respectivamente. Normalmente los valores de I y J son incrementales respecto del punto de inicio de la trayectoria circular (o sea el par de cotas X e Y del bloque anterior). Sin embargo ésto puede variar según la marca del CNC. En algunos CNC los valores de I y J deben ser programadas en absolutas. En los CNC que definen centro en incrementales, puede programarse un G02/G03 incluyendo un G06 en el bloque. Los valores I J deben incluirse siempre aunque sean iguales a 0. Normalmente el F es modal para estas funciones. También puede programarse un G02/G03 de la siguiente forma:
N G02(G03) X+/-4.3 Y+/-4.3 R+/-4.3 F
En este caso no hay definición de I y J sino de R , el radio del arco de circunferencia. Este modo tiene las siguientes limitaciones: no se pueden programar circunferencias completas; si el arco es menor de 180° R llevara signo (+) y si es mayor llevará signo (-).
G10 Anulación de imagen espejo. G11 Espejo según eje X. G12 Espejo según eje Y. G13 Espejo según eje Z.
Este tipo de funciones son ayudas que simplifican la programación CNC. En este caso permiten obtener simetrías sin tener que programar todos los movimientos. Las funciones Imagen Espejo deben ser entendidas como la ejecución de un bloque anterior con el signo de la cota correspondiente al eje seleccionado, cambiada.
N10 G01 X-40 Y N20 X-20 Y N30 X N40 G N50 G25 N10. N60 G
Los primeros tres bloques definen una poligonal. N40 llama a ejecutar una Imagen Espejo cambiando las coordenadas en X. N50 indica que se espejarán los bloques desde el N10 al N inclusive, G25 es una llamada específica para este tipo de instrucción. En N60 , G10 anula la imagen espejo.
G31 permite guardar el origen de coordenadas que se esté utilizando para establecer un nuevo origen con G53 / G59. En caso de ser necesario volver al origen inicial, se programará un G. Esta función recupera los datos guardados con un G.
Permite redondear inflexiones de la trayectoria en forma controlada sin necesidad de programar interpolaciones circulares. Debe programarse en el bloque de la trayectoria cuyo final se quiere redondear. El radio del redondeo debe ser positivo.
N10 G36 R20 G01 X80 Y N20 Y
G36 no es modal.
Esta función permite empalmar tangencialmente la trayectoria definida en el bloque siguiente. Se utiliza para evitar que la herramientas deje marcas indeseables en la pieza. Es el caso típico de mecanizado de superficies convexas (ej. machos) en los que la herramienta ataca lateralmente al material.
N10 G37 R10 G01 X40 Y N20 G02 X100 Y20 I30 J
La trayectoria resultante es la de la línea punteada. Sólo se puede programar G37 en un G01 o en un G00. R=2r de la fresa o mayor.
G40 Anulación de Compensación de Radio de herramienta. G41 Compensación de Radio a la derecha de la trayectoria. G42 Compensación de Radio a la izquierda de la trayectoria.
Supongamos que se quiere mecanizar un cubo de 100 mm. de lado con una fresa de Ø20. Como las trayectorias de CNC están definidas por el "Tip" de la herramienta (su punto central más bajo), habría que recalcular la trayectoria 10 mm. por fuera del cubo. De no hacerlo así, y de programar por las líneas que definen el cubo, se obtendría una forma de 90 mm. de lado. Recalcular las trayectorias para obtener un cubo puede no resultar difícil. Pero hacerlo para una forma compleja puede ser muy complicado. Aplicando las funciones de Compensación de Radio, no es necesario este recálculo. Para ello la herramienta debe estar especificada en el inicio del programa con el formato Txx.pp. xx es el número de dos dígitos con el que determinada herramienta está archivada (en el momento en el que se configura el CNC puede crearse una tabla de herramientas disponibles). yy es un valor de corrección del Ø nominal de la herramienta. Estas correcciones son normalmente necesarias por cuestiones de desgaste. Estos valores de corrección también están archivados en la memoria permanente del CNC. Programados un G41/G42 podrán programarse las trayectorias según las dimensiones finales de la pieza. Deben ser incluidos en el bloque anterior a aquel que se quiera ejecutar con compensación. Estas funciones son anuladas por un G40. Esta anulación debe ser incluida en el bloque que define la última trayectoria compensada. Sólo se puede incluir un G40 en una trayectoria rectilínea.
En ciertos trabajos de mecanizado puede resultar útil trasladar el origen de coordenadas a otro punto de la pieza. Por ejemplo, cuando se quiere repetir una forma en otro(s) lugar(es). Normalmente en un único programa se pueden introducir hasta 7 cambios de origen. El formato de aplicación es el siguiente:
N10 G53 X... Y... Z... (se crea un nuevo origen) N10 G53 (se aplica el nuevo origen creado en el bloque anterior)
Estas funciones se usan normalmente en combinación con G31/G32 (ya analizadas).
Esta función permite agrandar o achicar las dimensiones de una pieza sin cambiar el programa. Se puede aplicar de dos maneras
N10 G72 K+/-2.
K es el factor por el que se multiplicaran todas las cotas. Este modo escala la pieza según los tres ejes.
N10 G72 X+/-2.4 (por ejemplo)
Este modo escalará la pieza según el factor K sólo en el eje X. De la misma manera pueden escalarse Y o Z. Normalmente esta función no debe aplicarse en programas que apliquen compensaciones de herramienta.
Esta función es una ayuda de programación similar a las de espejado. En este caso permiten reproducir un mecanizado ya programado rotándolo respecto del origen de coordenadas.
(del bloque anterior) X-20 Y N10 G03 X-50 I-15 J N20 G01 X- N30 G73 A- N40 G25 N10.20.
A es el ángulo de rotación. En el ejemplo tiene el signo (-) porque la programación CNC toma por defecto como positivo el sentido antihorario, y como negativo el sentido horario. La función G llama a repetirse a los bloques definidos por N , o sea los bloques del 10 al 20. El tercer dígito (3) indica la cantidad de veces que se repetirá la rotación. Nótese que el valor de A es incremental.
CICLOS FIJOS Los ciclos fijos permiten, en un único bloque, definir una serie de operaciones cíclicas propias de un mecanizado determinado. Los ciclos fijos más comunes son los de taladrado y los de cajera.
Los bloques de ciclo fijo de taladrado tienen la siguiente conformación:
N4 G81 G98/99 X/Y/Z+/-4.3 I+/-4.3 K2.2 N
G?: Códido del ciclo fijo. G98: Retroceso al plano de referencia (normalmente ubicado cerca de la superficie de la pieza). G99: Retroceso al plano de seguridad (ya explicado). X/Y/Z: Si se trabaja en el plano XY ( G17 ), X e Y definen el punto donde se hará la primera perforación. Z define el plano de referencia antes mencionado. Si se trabaja en absolutas, Z define la distancia desde el cero pieza. Si se trabaja en incrementales, Z define la distancia desde el plano de seguridad. I: Define la profundidad de la perforación. Si se trabaja en absolutas I define la distancia desde el cero pieza. Si se trabaja en incrementales I define la distancia desde el plano de referencia K: Define el tiempo de espera en el fondo de la perforación antes de iniciarse el retroceso. Valores en segundos. N: Define el número de veces que se repetirá el Ciclo Fijo. Si no se programa N , el ciclo se ejecuta N1. Repeticiones mayores a 1 sólo tiene sentido si se trabaja en incrementales.
OTRAS FUNCIONES Como se habrá observado en la lista completa de las funciones de programación CNC, existen muchas otras que no han sido explicadas en este apunte. Las mismas corresponden a operaciones de ejecución circunstancial y rara vez son aplicadas. Las funciones explicadas son las de utilización más frecuente.
Los sistemas CAM aplican solamente 4 funciones, G00 , G01 , G y G03. Eventualmente pueden generar Ciclos Fijos de Taladrado, Roscado, etc., y generar programas con Compensaciones de Herramienta. De hecho un CAM es un programador elemental pero sumamente veloz. Mucho más veloz que la programación manual. Si se analizan las 100 funciones de la lista, se puede concluir que la gran mayoría tienen la función de aliviar la tarea de la programación manual. El CAM no aplica estas ayudas. Si bien este curso concluye con el aprendizaje de la operatoria de sistemas CAM, se considera que, para alcanzar los objetivos propuestos, el alumno debe contar con una base mínima de conocimientos de programación manual.