Programación
de máquinas de CNC con códigos G&M
La
programación nativa de la mayoría de las máquinas de Control Numérico
Computarizado se efectúa mediante un lenguaje de bajo nivel llamado G &
M.
Se
trata de un lenguaje de programación vectorial mediante el que se describen
acciones simples y entidades geométricas sencillas (básicamente segmentos de
recta y arcos de circunsferencia) junto con sus parámetros de maquinado
(velocidades de husillo y de avance de herramienta).
El
nombre G & M viene del hecho de que el programa está constituido
por instrucciones Generales y Misceláneas.
Si bien
en el mundo existen aún diferentes dialectos de programación con códigos
G&M, se dio un gran paso adelante a través de la estandarización que
promovió la ISO.
Esta
estandarización fue adoptada por la totalidad de los fabricantes industriales
serios de CNC y permite utilizar los mismos programas en distintas máquinas
CNC de manera directa o con adaptaciones menores.
A pesar
de tratarse de un lenguaje de programación muy rudimentario para los gustos
actuales, lo robusto de su comportamiento y los millones de líneas de
programación que hacen funcionar máquinas de CNC en todas las latitudes del
planeta aseguran su vigencia en los años por venir.
|
Minidiccionario de G&M para Tornos CNC
A modo
de ejemplo, presentamos los códigos de programación más utilizados en
nuestros tornos de CNC. Según el modelo de que se trate, algunos de los
códigos pueden estar inhabilitados.
Códigos
Generales
G00: Posicionamiento rápido
(sin maquinar)
G01: Interpolación lineal (maquinando) G02: Interpolación circular (horaria) G03: Interpolación circular (antihoraria) G04: Compás de espera G10: Ajuste del valor de offset del programa G20: Comienzo de uso de unidades imperiales (pulgadas) G21: Comienzo de uso de unidades métricas G28: Volver al home de la máquina G32: Maquinar una rosca en una pasada G36: Compensación automática de herramienta en X G37: Compensación automática de herramienta en Z G40: Cancelar compensación de radio de curvatura de herramienta G41: Compensación de radio de curvatura de herramienta a la izquierda G42: Compensación de radio de curvatura de herramienta a la derecha G70: Ciclo de acabado G71: Ciclo de maquinado en torneado G72: Ciclo de maquinado en frenteado G73: Repetición de patrón G74: Taladrado intermitente, con salida para retirar virutas G76: Maquinar una rosca en múltiples pasadas G96: Comienzo de desbaste a velocidad tangencial constante G97: Fin de desbaste a velocidad tangencial constante G98: Velocidad de alimentación (unidades/min) G99: Velocidad de alimentación (unidades/revolución)
Códigos
Misceláneos
M00: Parada opcional
M01: Parada opcional M02: Reset del programa M03: Hacer girar el husillo en sentido horario M04: Hacer girar el husillo en sentido antihorario M05: Frenar el husillo M06: Cambiar de herramienta M07: Abrir el paso del refrigerante B M08: Abrir el paso del refrigerante A M09: Cerrar el paso de los refrigerantes M10: Abrir mordazas M11: Cerrar mordazas M13: Hacer girar el husillo en sentido horario y abrir el paso de refrigerante M14: Hacer girar el husillo en sentido antihorario y abrir el paso de refrigerante M30: Finalizar programa y poner el puntero de ejecución en su inicio M31: Incrementar el contador de partes M37: Frenar el husillo y abrir la guarda M38: Abrir la guarda M39: Cerrar la guarda M40: Extender el alimentador de piezas M41: Retraer el alimentador de piezas M43: Avisar a la cinta transportadora que avance M44: Avisar a la cinta transportadora que retroceda M45: Avisar a la cinta transportadora que frene M48: Inhabilitar Spindle y Feed override (maquinar exclusivamente con las velocidades programadas) M49: Cancelar M48 M62: Activar salida auxiliar 1 M63: Activar salida auxiliar 2 M64: Desactivar salida auxiliar 1 M65: Desactivar salida auxiliar 2 M66: Esperar hasta que la entrada 1 esté en ON M67: Esperar hasta que la entrada 2 esté en ON M70: Activar espejo en X M76: Esperar hasta que la entrada 1 esté en OFF M77: Esperar hasta que la entrada 2 esté en OFF M80: Desactivar el espejo en X M98: Llamada a subprograma M99: Retorno de subprograma |
Programa de Ejemplo para Torno CNC
Los
programas de G&M son simples archivos de texto ASCII (sólo mayúsculas,
números y signos de puntuación tradicionales, por lo que es muy frecuente que
los programas se almacenen y comuniquen usando un formato restringido de 6
bits).
Estos
programas pueden ser cargados a pie de máquina usando su teclado o ser
transportados desde una PC con diskettes, cables seriales RS232C o USB.
Presentamos
un programa de ejemplo que efectúa una serie de operaciones básicas sobre un
tocho de material de 55mm por una pulgada de diámetro, frentéandolo primero y
cilindrándolo a 25mm después.
|
Minidiccionario de G&M para Fresadoras CNC
A modo
de ejemplo, presentamos los códigos de programación más utilizados en
nuestras fresadoras de CNC. Según el modelo de que se trate, algunos de los
códigos pueden estar inhabilitados.
Códigos
Generales
G00: Posicionamiento rápido
(sin maquinar)
G01: Interpolación lineal (maquinando) G02: Interpolación circular (horaria) G03: Interpolación circular (antihoraria) G04: Compás de espera G15: Programación en coordenadas polares G20: Comienzo de uso de unidades imperiales (pulgadas) G21: Comienzo de uso de unidades métricas G28: Volver al home de la máquina G40: Cancelar compensación de radio de curvatura de herramienta G41: Compensación de radio de herramienta a la izquierda G42: Compensación de radio de herramienta a la derecha G50: Cambio de escala G68: Rotación de coordenadas G73: Ciclos encajonados G74: Perforado con ciclo de giro antihorario para descargar virutas G76: Alesado fino G80: Cancelar ciclo encajonado G81: Taladrado G82: Taladrado con giro antihorario G83: Taladrado profundo con ciclos de retracción para retiro de viruta G90: Coordenadas absolutas G91: Coordenadas relativas G92: Desplazamiento del área de trabajo G94: Velocidad de corte expresada en avance por minuto G95: Velocidad de corte expresada en avance por revolución G98: Retorno al nivel inicial G99: Retorno al nivel R G107: Programación del 4o eje
Códigos
Misceláneos
M00: Parada
M01: Parada opcional M02: Reset del programa M03: Hacer girar el husillo en sentido horario M04: Hacer girar el husillo en sentido antihorario M05: Frenar el husillo M06: Cambiar de herramienta M08: Abrir el paso del refrigerante M09: Cerrar el paso de los refrigerantes M10: Abrir mordazas M11: Cerrar mordazas M13: Hacer girar el husillo en sentido horario y abrir el paso de refrigerante M14: Hacer girar el husillo en sentido antihorario y abrir el paso de refrigerante M30: Finalizar programa y poner el puntero de ejecución en su inicio M38: Abrir la guarda M39: Cerrar la guarda M62: Activar salida auxiliar 1 M67: Esperar hasta que la entrada 2 esté en ON M71: Activar el espejo en Y M80: Desactivar el espejo en X M81: Desactivar el espejo en Y M98: Llamada a subprograma M99: Retorno de subprograma |
La
seguridad primero
Ahora
sí, la secuencia:
|
:D Genial!
ResponderEliminarSaludos Michelle!!!
ResponderEliminarNo está mal
ResponderEliminarSaludos!!
EliminarAsi resulta muy facil aprender... gracias!!!
ResponderEliminarmuy bueno, me ha servido bastante
ResponderEliminargracias por la informacion publicada,es de mucha ayuda Dios los bendiga....
ResponderEliminargracias por la informacion publicada,es de mucha ayuda Dios los bendiga....
ResponderEliminarQué son pupitos?
ResponderEliminarPupitas? Se llama identificador de cuadrandantes se utiliza para alinear prensas, sacar centros, altura etc.
EliminarExcelente aporte y buen blog sobre el control numerico. http://maquinarias.pro/
ResponderEliminarexcelente
ResponderEliminarHola qué tal con estos comando si los aprendo bien sabré un poco más sobre programación
ResponderEliminarPorque quiero ser un experto
Muy bien =)
ResponderEliminarhola muy bien ,no tendras los codigos para cortadora laser lc3015
ResponderEliminaryo pondre un pequeño programa para corte laser
ResponderEliminarg90g92x120.866y61.024 cordenadas absolutas
g121l2a1x0.y0.i2.j20.q20.z2.d3.w1 codigo que sensa la placa de corte
m100 nesesario para inicio de corte
n0001 numero de pieza
e04 numero de condicion de corte
g112x2.y2.i1. ase un barreno de 1 pulgada
g111x2.y2.i4.q-0.02 corta la pieza cuadrada de 4 pulgadas
m104 levanta cabezal aunque el codigo especial ya lo trae intergrado
m30 termina programita
esto es unos de los codigos que se pero me gustaria saber utilizar
bien todos los demas el g150 por ejemplo y alguno que sirba para aser simetrica la pieza la pieza el g73 sirbe en punzonadoras amada pero en laser aun no se de alguno..
Cómo aplicó el m98 ??
ResponderEliminarMuy buena la información
ResponderEliminarExcelente
ResponderEliminarexelente
ResponderEliminarSi mi torno tiene en g98 y le cambio un g99 es más rápido o no?
ResponderEliminarEs lo mismo va a depender de la velocidad de corte de cada material por minuto en tiempo o por avance por revolucio de giro.
Eliminarexelente enseñanzas son muy valiosas me sigo alimentando atraves de sto uno unca deja de aprender
ResponderEliminarExcelente explicación muchas gracias me fue de gran ayuda.
ResponderEliminarQuiero descargar esta app
ResponderEliminarCómo le ago
ResponderEliminarBuenas noches, disculpe la pregunta por qué no me abren las mordazas con el código M11 en el torno cnc control fanuc
ResponderEliminarcomo puedo descargar un simulador cnc
ResponderEliminarWinUnisoft
Eliminarbuenas tardes por favor un ciclo para hacer una esfera de 50 mm de diametro
ResponderEliminargracias por su ayuda
G0 X0 Z0
EliminarG03/G02 X0 Z-50 R25 F...
G0 X100
Z50
ES EL CONTORNO
CERO PIEZA EN EL EXTREMO DERECHO
gracias saludos
ResponderEliminarEstá padre gracias 👌
ResponderEliminarGran aportación, muy útil
ResponderEliminarGran aportación, muy útil
ResponderEliminarhttps://totalplanning.cat/
Gran aportación, muy útil la información de control numérico
ResponderEliminarExcelente muchas gracias para activar el refrigerante de alta precio de una mazak
ResponderEliminarHola
ResponderEliminarEl M00 no es parada opcional sino obligatoria
BUENAS TARDES!! COMO PUEDO HACER UN PROGRAMA DE PLANEADO PARA CONTROL FANUC O MITSUBISHI, TENGO ESTO PERO NO JALA. DONDE ESTA EL ERROR?? DE ANTEMANO GRACIAS.
ResponderEliminarESTO ES LO QUE TENGO PARA PLANEO PERO NO LO REALIZA.
ResponderEliminarG0X0.Y0.
Z6.
G1Z-0.05 Fxx.
M98 P201001
G1Z6.
M30
O1001
G91 Y70.
G90 G1X-700.
G91 Y70.
G90 X0.
M99
no hay espacio entre código G0 y X0 en la primera linea
EliminarMe interesa saber cuales son los m de activación y cierre de aspiración no consigo encontrarlos gracias
ResponderEliminarPablo
ResponderEliminarHola soy pablo
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminar