Está en la página 1de 10

Programacin de mquinas de CNC con cdigos G&M

La programacin nativa de la mayora de las mquinas de Control


Numrico Computarizado se efecta mediante un lenguaje de bajo
nivel llamado G & M.

Se trata de un lenguaje de programacin vectorial mediante el que se


describen acciones simples y entidades geomtricas sencillas
(bsicamente segmentos de recta y arcos de circunsferencia) junto
con sus parmetros 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 Miscelneas.

Si bien en el mundo existen an diferentes dialectos de programacin


con cdigos G&M, se dio un gran paso adelante a travs de la
estandarizacin que promovi la ISO.

Esta estandarizacin fue adoptada por la totalidad de los fabricantes


industriales serios de CNC y permite utilizar los mismos programas en
distintas mquinas CNC de manera directa o con adaptaciones
menores.

A pesar de tratarse de un lenguaje de programacin muy rudimentario


para los gustos actuales, lo robusto de su comportamiento y los
millones de lneas de programacin que hacen funcionar mquinas de
CNC en todas las latitudes del planeta aseguran su vigencia en los
aos por venir.

Minidiccionario de G&M para Tornos CNC


A modo de ejemplo, presentamos los cdigos de programacin ms
utilizados en nuestros tornos de CNC. Segn el modelo de que se
trate, algunos de los cdigos pueden estar inhabilitados.

Cdigos Generales

G00: Posicionamiento rpido (sin maquinar)


G01: Interpolacin lineal (maquinando)
G02: Interpolacin circular (horaria)
G03: Interpolacin circular (antihoraria)
G04: Comps de espera
G10: Ajuste del valor de offset del programa
G20: Comienzo de uso de unidades imperiales (pulgadas)
G21: Comienzo de uso de unidades mtricas
G28: Volver al home de la mquina
G32: Maquinar una rosca en una pasada
G36: Compensacin automtica de herramienta en X
G37: Compensacin automtica de herramienta en Z
G40: Cancelar compensacin de radio de curvatura de
herramienta
G41: Compensacin de radio de curvatura de herramienta a la
izquierda
G42: Compensacin 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: Repeticin de patrn
G74: Taladrado intermitente, con salida para retirar virutas
G76: Maquinar una rosca en mltiples pasadas
G96: Comienzo de desbaste a velocidad tangencial constante
G97: Fin de desbaste a velocidad tangencial constante
G98: Velocidad de alimentacin (unidades/min)
G99: Velocidad de alimentacin (unidades/revolucin)

Cdigos Miscelneos

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 ejecucin 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 (slo
maysculas, nmeros y signos de puntuacin 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 mquina usando su


teclado o ser transportados desde una PC con diskettes, cables
seriales RS232C o USB.

Presentamos un programa de ejemplo que efecta una serie de


operaciones bsicas sobre un tocho de material de 55mm por una
pulgada de dimetro, frentandolo primero y cilindrndolo a 25mm
despus.
Programa Comentario
G21 Usar sistema mtrico
[BILLET X25.4
Definicin de tamao de tocho para el simulador (no para el torno)
Z55
Hasta nuevo aviso, las velocidades de corte estn expresadas en
G98
mm/min
G28U0W0 Antes que nada, retirar las herramientas de la zona de trabajo
Elegir la herramienta nmero 4, con el juego de parmetros de
M06T0404
compensacin 04 (depende de la cara/punta con que desbaste)
M03S3500 Poner a andar el husillo en sentido horario a 3500 rpm
Ir velozmente (sin maquinar, se supone que se est en el aire) hasta las
G00X26Z0
proximidades del tocho
Ahora s, maquinando, se frentea el tocho, de arriba hacia abajo.
G01X-2F80
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, retirndose primero 2mm en X
M05 Frenar el husillo
M30 Terminar el programa y preparase para ejecutarlo nuevamente

Ejemplo un poco ms 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 cdigos de programacin ms


utilizados en nuestras fresadoras de CNC. Segn el modelo de que se
trate, algunos de los cdigos pueden estar inhabilitados.

Cdigos Generales

G00: Posicionamiento rpido (sin maquinar)


G01: Interpolacin lineal (maquinando)
G02: Interpolacin circular (horaria)
G03: Interpolacin circular (antihoraria)
G04: Comps de espera
G15: Programacin en coordenadas polares
G20: Comienzo de uso de unidades imperiales (pulgadas)
G21: Comienzo de uso de unidades mtricas
G28: Volver al home de la mquina
G40: Cancelar compensacin de radio de curvatura de
herramienta
G41: Compensacin de radio de herramienta a la izquierda
G42: Compensacin de radio de herramienta a la derecha
G50: Cambio de escala
G68: Rotacin 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 retraccin 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 revolucin
G98: Retorno al nivel inicial
G99: Retorno al nivel R
G107: Programacin del 4o eje
Cdigos Miscelneos
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 ejecucin 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

También podría gustarte