www.tecnoedu.com G & M Microscopio Escolar Digital
 Home   Audiovisuales   Didácticos   Tecnología Alimentaria   Medicina   Instrumental   ¿Quiénes sómos? 
  by FreeFind

 
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.
 
ProgramaComentario
G21Usar sistema métrico
[BILLET X25.4 Z55Definición de tamaño de tocho para el simulador (no para el torno)
G98Hasta nuevo aviso, las velocidades de corte están expresadas en mm/min
G28U0W0Antes que nada, retirar las herramientas de la zona de trabajo
M06T0404Elegir la herramienta número 4, con el juego de parámetros de compensación 04 (depende de la cara/punta con que desbaste)
M03S3500Poner a andar el husillo en sentido horario a 3500 rpm
G00X26Z0Ir velozmente (sin maquinar, se supone que se está en el aire) hasta las proximidades del tocho
G01X-2F80Ahora sí, maquinando, se frentea el tocho, de arriba hacia abajo. Pasamos de largo el cero para que no queden pupitos.
G00Z2X25Retirar la herramienta y prepararse para cilindrar.
G01Z-40F140Cilindrar hasta Z=-40
G28U2W0Enviar la herramienta al home, retirándose primero 2mm en X
M05Frenar el husillo
M30Terminar el programa y preparase para ejecutarlo nuevamente

 
Ejemplo un poco más complejo (que se puede cortar y pegar en editor de VR Turning)
  ( Ejemplo de ciclos encajonados para desbastar grandes cantidades de material con pocas lineas de programa
( Ajustes previos:
( La PC debe estar ajustada de manera que el punto decimal sea efectivamente un punto y no una coma
( Si se va a ejecutar este programa sobre un verdadero torno de CNC

( Definimos el tamano del tocho para que el simulador sepa con qué empezar
[ BILLET X25 Z55

( Las velocidades de husillo y avance de herramienta son las que corresponderian
( a una maquina mediana trabajando un acero relativamente blando tipo 1010

( El cambiador de herramientas tendria una herramienta de desbaste fino/pulido en el puesto 1
( una mecha de 5mm en el puesto 2
( y una herramienta de roscado en el puesto 3

( Los nombres de los viejos programa de CNC solo podian contener numeros
( Si este programa se hubiera llamado 0001.fnl la linea siguiente seria su identificador univoco
O0001

( Usamos sistema metrico
G21

( Los avances estaran definidos en avance por revolucion
G99

( otra forma podria haber sido avance por minuto

( Antes de arrancar, pedimos un cambio de herramienta. La herramienta 01 con el juego de offset locales 01
M06 T0101

( La velocidad de husillo sera indicada en RPM
( Ahora pedimos 1800 rpm
( y que se arranque el motor en sentido horario
G97 S1800 M03

( Pedimos que cada eje se mueva lo mas rapido que pueda hasta las coordenadas relativas a la pieza
( diametro X=26 mm y eje Z = 2 mm
( El movimiento no necesariamente sera una linea recta
( Lo mas probable es que resulte una linea quebrada segun el lugar del que se parta
( y de las velocidades de desplazamiento de eje que tenga la maquina en cuestion
G00 X26 Z2
( llegados a ese punto cercano a la pieza, nos movemos justamente hasta Z=0 el borde derecho
( pero todavia fuera del tocho ya que su diametro seria de 25 mm
( Seguimos dentro de la G00 que puede tener varias lineas indicando desplazamientos sucesivos
Z0

( Ahora si desplazamos la herramienta de manera controlada a traves de segmentos de recta y circunsferencia
( Esta manera controlada se llama a veces interpolacion lineal o circular segun el caso
( Nos movemos hasta un diametro negativo
( Pasamos de largo el centro para frentear el tocho
( El avance será de 5 centesimas de mm por vuelta
G01 X-1 F.05

( Ahora volvemos a una posicion externa lo mas rapido posible
( Esta posicion se eligio arriba y a la derecha del contorno que se va a definir a continuacion
G00 X26 Z2

( ATENCION una de las mejores instrucciones de CNC Ciclos encajonados de cilindrado
( Sirve para desbastar grandes cantidades de material en varias pasadas de cilindrado
( haciendo una escalerita pero sin tener que definir los movimientos de la escalerita
( sino solamente los movimientos que describen el contorno final deseado
( Hay dos restricciones que deben tenerse en cuenta.
( a) El contorno debe ser monotonamente creciente o decreciente
( b) El primer movimiento definido debe ser de FRENTEADO
( G71 es tan larga que no cabia en los viejos monitores de planta con caracteres grandes y baja resolucion
( por lo que se desdoblo en 2 lineas consecutivas
G71 U.75 R.25
G71 P1 Q2 U1.0 W.1 F.07

( U.75 En cada cilindrado calamos 75 centesimas de mm
( R.25 Llegado al final del cilindro separamos la herramienta 25 centesimas de mm para no rayar la pieza
( P1 El contorno se comienza a definir en la linea N1. N1 no precisa ser contigua a G71
( Q2 El contorno se termino de definir en la linea N2
( U1.0 Nos reservamos 1mm de sobremedida de diametro para dejarselo al ciclo de acabado/pulido
( W.1 Nos reservamos 1 decima de mm de sobremedida en el eje Z a los mismos fines
( F.07 La herramienta avanzara 7 centesimas de mm por cada revolucion

( Linea N1 empieza el contorno, haciendo un avance de FRENTEADO puro desde la ultima posicion previa a la G71
( casi hasta el morro del tocho
N1 G00 X0
( Entramos despacito maquinando hasta el morro del tocho
G01 Z0
( Cortamos un arco de circunsferencia antihorario desde donde estamos hasta Z=-8mm con un radio de 8 mm y medio
( Dejamos que el CNC se encargue de calcular donde tiene que estar el centro, etc
( Definimos una velocidad de 2500 rpm que sera obviada en el desbaste grueso pero tenida en cuenta en el acabado
G03 X17 Z-8.5 R8.5 S2500

( Ahora cilindramos hasta Z=-13 mm y medio
G01 Z-13.5

( Hacemos un tronco de cono hasta diametro 20mm y Z=-14 y algo de mm
X20 Z-14.36

( Cilindramos hasta Z=-28 mm y medio
Z-28.5

( Otro tronco de cono
( Notese que los diametros siempre van creciendo
( Si hubiera que maquinar una entalladura debera programarse otro ciclo monotonamente decreciente
X24 Z-46.5

( Un escaloncito hasta el diametro de 26 mm
X26

( Ultima linea del ciclo
( Enviamos la herramienta a la misma posicion que tenia antes de invocar G71
N2 G00 X26 Z2

( Ahora que ya hicimos el desbaste grueso hacemos el acabado en una sola pasada con G70
( El contorno a seguir es el mismo usado antes y definido entre las lineas N1 y N2
G70 P1 Q2

( Enviamos el carro a la posicion de reposo lejos de la pieza
G28 U0 W0

( Frenamos el motor
M05

( Pedimos un cambio de herramienta
( Se viene el roscado con la herramienta 03 usando su juego de offset local 03
M06 T0303

( Reconfirmamos que la velocidad de husillo estara definida en RPM
( Bajamos drasticamente la velocidad de giro y reencendemos el motor
G97 S500 M03

( Nos acercamos velozmente a la pieza
G00 X20.5 Z-10

( Comenzamos un ciclo de roscado con varias pasadas
( G76 es otra instruccion larga desdoblada en 2 lineas
( G76 es mas compleja que G71 porque la seccion vista por la herramienta depende de la profundidad
( que ha llegado a calar
( Por esto la primera calada puede ser relativamente profunda pero cada una de las siguientes tiene un calado menor
G76 P050060 Q035 R.0
G76 X18.00 Z-26.5 P1000 Q070 F1.5

( P05 el ACABADO de la rosca se hara en 5 pasadas Habra otras pasadas previas claro
( 00 angulo de chanfle al entrar y salir del roscado
( 60 es el angulo que tiene la punta de roscar utilizada
( Q035 si lo que queda por calar es 35 micras o menos se hara en una sola pasada
( R.0 sobremedida que se deja para una pasada de acabado con otra herramienta En este caso no dejamos nada
( X18.00 diametro interno de la rosca de 18 mm
( Z-26.5 la rosca se extendera hasta esa posicion de Z
( P1000 el filete de la rosca tendra 1000 micras en el sentido del diametro
( Q070 El primer corte tendra un calado de 70 micrones o 7 centesimas
( En las pasadas siguientes la punta vera siempre la misma area de material a desbastar
( F1.5 la rosca tendra un paso de 1 mm y medio

( Enviamos el carro a la posicion de reposo lejos de la pieza
G28 U0 W0

( Mision cumplida frenamos el programa y lo rebobinamos dejandolo listo para otra ejecucion
M30
( Tambien podria usarse M00 que lo frena pero no lo rebobina

 
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
 
Secuencia de Manufactura Recomendada
  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)
 
Sistema Modular de Enseñanza de Control Numérico Computerizado
  Máquinas de CNC industriales de pequeño porte. Aún los modelos más pequeños pueden maquinar piezas metálicas. Los modelos mayores trabajan con comodidad sobre aceros 1010 y 1020. El juego de instrucciones que utilizan es estándar y netamente industrial (ISO G&M). El software de control contiene el set completo de instrucciones, algoritmos de interpolación y diagramas mímicos FUNCIONALES de los controladores más difundidos: Fanuc

 
Tornos CNC
Tornos CNC
Fresadoras CNC
Fresadoras CNC y
Router CNC p/Circuitos Impresos
Tutores y Simuladores de CNC
Aula de Simulación
CNC y CAD/CAM
CIMs (computer integrated manufacturing)
Robóts y Celdas Flexibles: FMS/CIM

 
 
 
  Bv José Javier Díaz 429 - (X5016BHE) Córdoba - Argentina - Telefax (+54) (351) 461 7007 (rotativas) - info@tecnoedu.com Logo Tecnoedu