Practica 2 Lab de CNC
Practica 2 Lab de CNC
Practica 2 Lab de CNC
MARCO TEORICO
El G-code, también conocido como RS-274, es el nombre que habitualmente recibe el lenguaje de
programación más usado en control numérico (CN), el cual posee múltiples implementaciones, tales
como Siemens Sinumeric, FANUC, Haas, Heidenhain o Mazak. Es usado principalmente en
automatización, forma parte de la ingeniería asistida por computadora. Al G-code se le llama en
ciertas ocasiones lenguaje de programación G.
En términos generales, G-code es un lenguaje mediante el cual las personas pueden decir a
máquinas herramienta controladas por computadora qué hacer y cómo hacerlo. Esos "qué" y "cómo"
están definidos mayormente por instrucciones sobre a dónde moverse, cuán rápido moverse y qué
trayectoria seguir. Las máquinas típicas que son controladas con G-code son fresadoras, cortadoras,
tornos e impresoras 3D.
Implementaciones
La primera implementación del control numérico se desarrolló en el Laboratorio de
Servomecanismos del MIT a principio de la década de 1950. En las siguientes décadas se
desarrollaron una gran cantidad de implementaciones de mano de multitud de organizaciones
comerciales o no. El G-code se ha usado a menudo en estas implementaciones. La versión más
común en Estados Unidos es la propuesta por Electronic Industries Alliance a principio de los años
1960. En febrero de 1980 se aprobó una revisión final con el nombre de RS274D. En todo el mundo,
en estándar ISO 6983 es el más usado, aunque en algunos países europeos en concreto se utilizan
a veces otros estándares como el DIN 66025 alemán o los PN-73M-55256, PN-93/M-55251 polacos.
Los distintos fabricantes de máquinas CNC han añadido todo tipo de extensiones y variaciones al
lenguaje, por lo que los operadores de las máquinas deben conocer las peculiaridades concretas
que el fabricante ha previsto para su uso.
Existe una versión de G-code conocida como BCL que aunque es considerado un estándar se usa
sólo en unas pocas máquinas.
Desde la década de 1970 hasta la de 1990, muchos fabricantes de máquinas CNC intentaron
deshacerse de todos los problemas de compatibilidad estandarizando los controladores de las
herramientas, construidos por Fanuc. Otra empresa con posición dominante en el mercado de los
controladores CNC es Siemens, especialmente en Europa. Ya en la segunda década del siglo XXI,
todas esas diferencias e incompatibilidades no causan grandes problemas puesto que el G-code es
generado por aplicaciones CAD/CAM que son capaces de generar código adaptado a cada máquina
específica.
Algunas máquinas CNC cuentan con una especie de programación "conversacional" consistente en
un software parecido a un asistente que de algún modo enmascara el G-code o evita totalmente su
uso. Algunos ejemplos son ProtoTRAK de Southwestern Industries, Mazatrol de Mazak, Ultimax de
Hurco, Intuitive Programming System (IPS) de Haas, o CAPS de Mori Seiki.
G-code comenzó siendo un tipo de lenguaje bastante limitado que carecía de estructuras como
búcles, operadores condicionales y variables declaradas por el usuario. Sin embargo, las
implementaciones más recientes de G-code sí que incluyen tales estructuras, creando un lenguaje
algo más parecido a lo que podría ser un lenguaje de alto nivel.
TORNO
G00 Posicionamiento en Rapid
G01 Interpolación linear
G02 Interpolación circular (CW)
G03 Interpolación circular (CCW)
G04 Habitar
G07 Control de la curva sinusoidal de avance
G10 Configuración de datos
G11 Cancelación de la configuración de datos
G17 XY Plane
G18 XZ Plane
G19 YZ Plane
G20 Unidades pulgadas
G21 Unidades metricas
G22 Función de comprobación de carrera almacenada ON
G23 Función de comprobación de carrera almacenada OFF
G25 Detección de fluctuación de velocidad del husillo OFF
G26 Detección de fluctuación de velocidad del cabezal ON
G27 Comprobación de retorno del punto de referencia
G28 Retorno Automático Cero
G29 Retorno de la posición de retorno cero
G30 Retorno del segundo punto de referencia
G31 Saltar función
G32 Corta hilos
G34 Corte variable del hilo conductor
G36 Compensación automática de la herramienta
G40 Compensación del radio de la nariz de herramienta Cancelar
G41 Compensación del radio de la nariz de la herramienta izquierda
G42 Compensación del radio de la nariz de la herramienta
G46 Compensación automática del radio de la nariz de la herramienta
G50 Ajuste del sistema de coordenadas y rpm máximas
G52 Configuración del sistema de coordenadas local
G53 Configuración del sistema de coordenadas de la máquina
G54 Sistema de coordenadas de piezas
G55 Sistema de coordenadas de la pieza 2
G56 Sistema de coordenadas de la pieza 3
G57 Sistema de coordenadas de la pieza 4
G58 Sistema de coordenadas de piezas 5
G59 Sistema de coordenadas de la pieza 6
G61 Modo de comprobación de parada exacta
G62 Anulación automática de esquina
G63 Modo de golpeteo
G64 Modo de corte
G65 Usuario macro simple llamada
G66 Llamada modal macro de usuario
G67 Cancelación de llamada macro modal de usuario
G68 Imagen de espejo para torretas dobles ON
G69 Imagen en espejo para torretas dobles OFF
G70 Ciclo de acabado
G71 Ciclo de giro
G72 Ciclo de Enfrentamiento
G73 Patrón de repetición
G74 Ciclo de perforación de Peck
G75 Ciclo de ranurado
G76 Ciclo de roscado
G80 Ciclo fijo para perforación cancelar
G83 Ciclo de perforación de cara
G84 Ciclo de roscado
G86 Ciclo de perforación de la cara
G87 Ciclo de perforación lateral
G88 Ciclo de roscado lateral
G89 Ciclo de taladrado lateral
G90 Programación Absoluta
G91 Programación incremental
G92 Ciclo de corte del hilo
G94 Ciclo de torneado cara final
G96 Control de velocidad de superficie constante
G97 Control de velocidad de superficie constante cancelar
G98 Avance lineal por tiempo
G99 Avance por revolución
G107 Interpolación cilíndrica
G112 Modo de interpolación de coordenadas polares
G113 Modo de interpolación de coordenadas polares cancelar
G250 El modo de giro poligonal se cancela
G251 Modo de giro poligonal
M00 Parada del programa
M01 Parada de programa opcional
M02 Fin del programa
M03 Huso en sentido horario
M04 Eje en sentido anti horario
M05 Parada del huso
M07 Refrigerante 1 encendido
M08 Refrigerante 2 encendido
M09 Refrigerante apagado
M30 Fin del programa, Restablecer al inicio
M98 Llamada de subprograma
M99 Retorno del subprograma