Codigos de programacion para CNC tipos G y M


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.

Descripción: http://www.tecnoedu.com/Denford/img/xz.gif
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.
 
Programa
Comentario
G21
Usar sistema métrico
[BILLET X25.4 Z55
Definición de tamaño de tocho para el simulador (no para el torno)
G98
Hasta nuevo aviso, las velocidades de corte están expresadas en mm/min
G28U0W0
Antes que nada, retirar las herramientas de la zona de trabajo
M06T0404
Elegir la herramienta número 4, con el juego de parámetros de compensación 04 (depende de la cara/punta con que desbaste)
M03S3500
Poner a andar el husillo en sentido horario a 3500 rpm
G00X26Z0
Ir velozmente (sin maquinar, se supone que se está en el aire) hasta las proximidades del tocho
G01X-2F80
Ahora sí, maquinando, se frentea el tocho, de arriba hacia abajo. Pasamos de largo el cero para que no queden pupitos.
G00Z2X25
Retirar la herramienta y prepararse para cilindrar.
G01Z-40F140
Cilindrar hasta Z=-40
G28U2W0
Enviar la herramienta al home, retirándose primero 2mm en X
M05
Frenar el husillo
M30
Terminar el programa y preparase para ejecutarlo nuevamente

  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.

Descripción: http://www.tecnoedu.com/Denford/img/xyz.gif
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
  • Asegúrese de que todos saben dónde está y cómo se activa el botón de parada de emergencia
  • Nunca deje objetos extraños en el área de maquinado (calibres, cepillos, latas de lubricantes, piezas ya maquinadas, etc)
  • En ninguna circunstancia trate de acceder a la zona de maquinado mientras haya partes en movimiento
  • Use las herramientas provistas para ajustar puntas y fresas
Ahora sí, la secuencia:
  1. Comience la ejecución de nuestro software de maquinado en realidad virtual (VRT o VRM)
  2. Cargue, cree o edite su programa de CNC
  3. Actualice la configuración de herramientas que tiene cargada el software
  4. Simule el programa de maquinado en 2D o 3D (aunque es menos vistosa, la simulación en 2D es sumamente útil y clara)
  5. Encienda su máquina de CNC
  6. Lleve los ejes a la posición de reposo (desde la lengüeta Home)
  7. Prepare las herramientas de la máquina, de manera que se correspondan con la configuración que cargó en el software
  8. Cargue la pieza de materia prima en el plato o banco
  9. Ajuste el offset de la pieza y las herramientas
  10. Ejecute el maquinado (desde la lengüeta Auto)

45 comentarios:

  1. Asi resulta muy facil aprender... gracias!!!

    ResponderEliminar
  2. muy bueno, me ha servido bastante

    ResponderEliminar
  3. gracias por la informacion publicada,es de mucha ayuda Dios los bendiga....

    ResponderEliminar
  4. gracias por la informacion publicada,es de mucha ayuda Dios los bendiga....

    ResponderEliminar
  5. Respuestas
    1. Pupitas? Se llama identificador de cuadrandantes se utiliza para alinear prensas, sacar centros, altura etc.

      Eliminar
  6. Excelente aporte y buen blog sobre el control numerico. http://maquinarias.pro/

    ResponderEliminar
  7. Hola qué tal con estos comando si los aprendo bien sabré un poco más sobre programación
    Porque quiero ser un experto

    ResponderEliminar
  8. hola muy bien ,no tendras los codigos para cortadora laser lc3015

    ResponderEliminar
  9. yo pondre un pequeño programa para corte laser
    g90g92x120.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..

    ResponderEliminar
  10. Si mi torno tiene en g98 y le cambio un g99 es más rápido o no?

    ResponderEliminar
    Respuestas
    1. Es lo mismo va a depender de la velocidad de corte de cada material por minuto en tiempo o por avance por revolucio de giro.

      Eliminar
  11. exelente enseñanzas son muy valiosas me sigo alimentando atraves de sto uno unca deja de aprender

    ResponderEliminar
  12. Excelente explicación muchas gracias me fue de gran ayuda.

    ResponderEliminar
  13. Buenas noches, disculpe la pregunta por qué no me abren las mordazas con el código M11 en el torno cnc control fanuc

    ResponderEliminar
  14. como puedo descargar un simulador cnc

    ResponderEliminar
  15. buenas tardes por favor un ciclo para hacer una esfera de 50 mm de diametro
    gracias por su ayuda

    ResponderEliminar
    Respuestas
    1. G0 X0 Z0
      G03/G02 X0 Z-50 R25 F...
      G0 X100
      Z50
      ES EL CONTORNO
      CERO PIEZA EN EL EXTREMO DERECHO

      Eliminar
  16. Gran aportación, muy útil

    https://totalplanning.cat/

    ResponderEliminar
  17. Gran aportación, muy útil la información de control numérico

    ResponderEliminar
  18. Excelente muchas gracias para activar el refrigerante de alta precio de una mazak

    ResponderEliminar
  19. Hola
    El M00 no es parada opcional sino obligatoria

    ResponderEliminar
  20. 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.

    ResponderEliminar
  21. ESTO ES LO QUE TENGO PARA PLANEO PERO NO LO REALIZA.
    G0X0.Y0.
    Z6.
    G1Z-0.05 Fxx.
    M98 P201001
    G1Z6.
    M30

    O1001
    G91 Y70.
    G90 G1X-700.
    G91 Y70.
    G90 X0.
    M99

    ResponderEliminar
  22. Me interesa saber cuales son los m de activación y cierre de aspiración no consigo encontrarlos gracias

    ResponderEliminar
  23. Este comentario ha sido eliminado por el autor.

    ResponderEliminar