INSTITUTO TECNOLÓGICO DE TOLUCA UNIVERSIDAD DAVINCI
CONTROL NUMÉRICO COMPUTARIZADO CNC UNIDAD III CONTROL NUMÉRICO
TEMA 3.2 Programación en códigos G y M
Facilitador y desarrollador de materiales: Victor Raúl Camargo Ruiz
Abril 2016 3.2 Programación en códigos G y M A continuación, haremos una descripción de los componentes de un programa CNC, basados en el estándar RS274D: BLOQUES La unidad básica del programa NC es el "bloque", el cual se aprecia como una "línea de instrucción”. Cada bloque puede contener una o más “palabras”, que expresan: Una función a realizar, seguido de Un campo numérico, y Dando un valor a la función. Un bloque admisible de entrada está actualmente restringido a un máximo de 256 caracteres. Para construir un bloque se utilizarán los siguientes componentes 1. Un caracter de borrado opcional, (un /). 2. Un número de línea opcional. 3. Cualquier número de segmentos, entendiendo por segmento una palabra o comentario. 4. Un caracter de final de línea. Las palabras pueden iniciar con cualquier letra, excepto N, ya que esta letra se designa para el número de bloque. Un ejemplo de bloque de programa se muestra a continuación: N010 G00 Z46.7 Este bloque está construido con tres palabras, N010, G00 y Z46.7. Lo que significa que se trabaja con el bloque 10, solicitando a la máquina se mueva a máxima velocidad en dirección del eje Z, hasta llegar a la posición 46.7.
NÚMEROS Una palabra se compone por una letra que define una función mas un valor, es necesario reconocer las características de reconocimiento de valores de la máquina, ya que en ocasiones no tiene la misma representación el introducir un valor como el 12 o bien 12.0. Si la máquina exige el uso de valores reales (de punto flotante), entonces es necesario hacer la introducción de datos de manera detallada para evitar errores de posición. Por lo tanto, un valor debe componerse por: •
Un signo más (opcional), o bien un signo menos, seguido de
•
Un número de cero a varios dígitos, seguido de
•
Un punto decimal, seguido de
•
Un número de cero a varios dígitos.
También se tendrán las siguientes consideraciones: •
Los números pueden tener cualquier número de dígitos, limitado por la longitud de la línea.
•
Un número diferente de cero sin signo, se asumirá como positivo.
•
Se pueden colocar ceros iniciales o finales, pero estos no se requieren.
•
Un número con ceros iniciales o finales, tendrá el mismo valor que si estos no se colocan.
PALABRAS Una palabra de un programa NC es una letra aceptable seguida de un valor real. La Tabla 3.1 muestra la lista las letras que pertenecen a las palabras reconocidas.
Tabla 3.1. Letras de palabras reconocidas LETRA A B C D F G H I J K L M N P Q R S T U V W X Y Z
FUNCIÓN Eje A de la máquina (Complementario de Rotación) Eje B de la máquina (Complementario de Rotación) Eje C de la máquina (Complementario de Rotación) Compensación por radio de la herramienta que se especifique Velocidad de Avance Función General Compensación por altura de la herramienta que se especifique Offset del eje X para arcos Offset en el eje X para el ciclo enlatado G87 Offset del eje Y para arcos Offset en el eje Y para el ciclo enlatado G87 Offset del eje Z para arcos Offset en el eje Z para el ciclo enlatado G87 Número de repeticiones en ciclos enlatados y clave para usar con G10 Funciones Misceláneas Número de línea Tiempo de espera con los ciclos G4 y enlatados clave utilizada con G10 Incrementos de avance en el ciclo enlatado G83 Radio de un arco Velocidad de Giro Selección de herramienta Eje U de la máquina (Complementario de Desplazamiento) Eje V de la máquina (Complementario de Desplazamiento) Eje W de la máquina (Complementario de Desplazamiento) Eje X de la máquina Eje Y de la máquina Eje Z de la máquina
Palabras para el número de línea Un número de línea se integra partiendo de la letra N y agregando un número entre 0 y 99999 sin emplear signo.
Los números de línea no son necesarios por que no son usados por el sistema intérprete. Pero es conveniente su uso para la revisión de un programa. Los errores de un programa se reportan usando el número de línea e incluso son útiles para reanudar un programa a partir de un punto especificado. En ocasiones los números de línea se prestan a confusión por que no representan el número que se muestra en ejecución de un programa de acuerdo al intérprete. Aunque el límite de palabras normalizado considera el rango revisado en los párrafos anteriores, en realidad un programa puede no seguir esta restricción, ya que el intérprete no hace uso de este valor. Por lo que si se omiten un programa estará limitado solo por el sistema operativo y la capacidad de memoria del equipo. Por ejemplo, para Linux el límite es 2^31 o 2147483648 líneas. Palabras para los ejes Las palabras para los ejes se componen de una de las letras ubicadas en la siguiente tabla, seguidas por un número de acuerdo a las especificaciones ya descritas, el resultado del movimiento será con base en las unidades del usuario que generalmente son milímetros o pulgadas. La Tabla 3.2 muestra la lista de las letras que pertenecen a las palabras reconocidas para designación de ejes.
Tabla 3.2. Palabras para los ejes. LETRA X Y Z U
Designación Eje lineal primario Eje lineal primario Eje lineal primario Eje secundario paralelo a X
V W A B C
Eje secundario paralelo a Y Eje secundario paralelo a Z Eje angular alrededor de X Eje angular alrededor de Y Eje angular alrededor de Z
Palabras preparatorias Las palabras preparatorias están integradas por la letra G seguidas de un número. Sus funciones pueden ser: •
Establecer referencias, por ejemplo: Determinar un origen para usarlo como base de los movimientos.
•
Establecer la ruta de un maquinado, por ejemplo: Iniciar movimiento circular.
•
Establecer las unidades del usuario, por ejemplo: Usar milímetros.
•
Establecer o eliminar compensaciones: por ejemplo altura de herramienta.
La Tabla 3.3 muestra la lista de las palabras preparatorias. Tabla 3.3. Palabras preparatorias PALABR
DESCRIPCIÓN
A G0 G1 G2
Posicionamiento rápido Interpolación Linear Interpolación Circular/helicoidal (En el sentido de las manecillas
G3
del reloj) Interpolación Circular/helicoidal (En contra de las manecillas del
G4 G10 G17 G18 G19 G20 G21 G40 G41
reloj) Retardo Ajuste al origen del Sistemas de Coordenadas Original Selección del plano XY Selección del plano XZ Selección del plano YZ Selección del Sistema Inglés Selección del Sistema Métrico Cancelación de compensaciones del diámetro del cortador Compensación del diámetro del cortador a la izquierda
G42 G43 G49 G53 G54
Compensación del diámetro del cortador a la derecha Compensación por longitud del cortador Cancelación de la compensación por longitud del cortador Movimientos en el sistema de coordenadas de la máquina Usar la preselección del sistema de coordenadas de trabajo 1
G55
(Cero pieza 1) Usar la preselección del sistema de coordenadas de trabajo 2
G56
(Cero pieza 1) Usar la preselección del sistema de coordenadas de trabajo 3
G57
(Cero pieza 1) Usar la preselección del sistema de coordenadas de trabajo 4
G58
(Cero pieza 1) Usar la preselección del sistema de coordenadas de trabajo 5
G59
(Cero pieza 1) Usar la preselección del sistema de coordenadas de trabajo 6
G59.1
(Cero pieza 1) Usar la preselección del sistema de coordenadas de trabajo 7
G59.2
(Cero pieza 1) Usar la preselección del sistema de coordenadas de trabajo 8
G59.3
(Cero pieza 1) Usar la preselección del sistema de coordenadas de trabajo 9
G80 G81 G82 G83 G84 G85 G86 G87 G88 G89 G90 G91 G92 G92.2 G93 G94 G98
(Cero pieza 1) Cancel motion mode (includes canned) Ciclo enlatado de taladrado Ciclo enlatado de taladrado con pausa Ciclo enlatado de taladrado con incrementos Ciclo fijo de roscado con macho Ciclo fijo de escariado Ciclo fijo de mandrinado con retroceso en avance rápido Ciclo enlatado de boreado al regresar Ciclo de enlatado de boreado con paro de husillo y salida manual Ciclo fijo de boreado con retroceso en avance de trabajo Modo de coordenadas absolutas Modo de coordenadas incrementales Traslado de origen de coordenadas Cancel de Traslado de origen de coordenadas Modo de avance en tiempo inverso Modo de avance por minutos Retorno a un punto inicial correspondiente a un ciclo determinado
Palabras Misceláneas Las palabras misceláneas tienen las siguientes funciones: •
Sirven para controlar las señales de entrada y salida de una máquina, por ejemplo, el encendido del sistema refrigerante.
•
Generan la detención de un programa o bien el fin de este.
Las palabras misceláneas se describen en la Tabla 3.4. Tabla 3.4 Palabras Misceláneas. PALABRA M0 M1 M2 M3 M4 M5 M6 M7 M8 M9 M26 M27 M30 M48 M49 M60
DESCRIPCIÓN Paro de programa Paro de programa opcional Fin de programa Giro del husillo en sentido horario Giro del husillo en sentido antihorario Paro del husillo Cambio de herramienta Encendido de refrigerante en niebla Encendido de refrigerante por inundación Apagado del refrigerante Habilitacion automática del clampeo para el eje B Deshabilitacion automática del clampeo para el eje B Fin de programa, paro de movimientos y reset Habilitar velocidad y avance en sobrevalores Deshabilitar velocidad y avance en sobrevalores Paro de movimientos y paro del programa
CIERRE DEL TEMA El G code o códigos G y M es la herramienta básica de la programación CNC, hoy en día, todas las máquinas de las marcas más importantes del mundo los siguen utilizando, aunque con algunas variantes, por lo que deberemos estar en contacto con los proveedores de estos equipos para obtener el mejor aprovechamiento de los mismos. REFERENCIAS:
ATP. (s.f.). Automatically Programmed Tool. Recuperado el 23 de Septiembre de 2015, de Wikipedia: https://es.wikipedia.org/wiki/Wikipedia:Citar_Wikipedia Code, G. (s.f.). (e. l. Wikipedia, Ed.) Recuperado el 23 de Septiembre de 2015, de G code: https://es.wikipedia.org/wiki/G-code Facultad de Ingeniería Mecánica. (18 de Septiembre de 2015). Universidad Tecnológica
de
Brno.
Obtenido
de
Computer
Numerical
Control:
http://cnc.fme.vutbr.cz/ Laboratorio de Control Numérico de M.H. (18 de Septiembre de 2015). Universidad Tecnológica Nacional Facultad Regional La Plata. Obtenido de clase demo: http://www.frlp.utn.edu.ar/mecanica/Materias/CNCMH/ClaseDemo.PDF