21 Unidad 4:Lenguaje y estructura CNC
OBJETIVO
Después de completar esta unidad, debería poder:
- Identifique las instrucciones de la lista de programas.
- Comprender el formato del programa
- Describa los códigos de comandos de direcciones de letras
- Describir definiciones de códigos de caracteres especiales.
- Comprenda los Códigos G &M.
Los programas CNC enumeran las instrucciones que se ejecutarán en el orden en que se escriben. Se leen como un libro, de izquierda a derecha y de arriba hacia abajo. Cada oración en un programa CNC se escribe en una línea separada, llamada Bloque. Los bloques se organizan en una secuencia específica que promueve la seguridad, la previsibilidad y la legibilidad, por lo que es importante adherirse a una estructura de programa estándar.
Los bloques están dispuestos en el siguiente orden:
- Inicio del programa
- Cargar herramienta
- Encendido
- Refrigerante activado
- Posicionamiento rápido por encima de la pieza
- Operación de mecanizado
- Refrigerante apagado
- Desactivar husillo
- Mover a una posición segura
- Finalizar programa
Los pasos enumerados anteriormente representan el tipo más simple de programa CNC, donde solo se usa una herramienta y se realiza una operación. Los programas que usan varias herramientas repiten los pasos del dos al nueve para cada una.
Tabla 3 y Tabla 4 en la sección Códigos G y M mostrar los códigos G y M más comunes que deben memorizarse si es posible.
Como cualquier idioma, el lenguaje del código G tiene reglas. Por ejemplo, algunos códigos son modales, lo que significa que no tienen que repetirse si no cambian entre bloques. Algunos códigos tienen diferentes significados dependiendo de cómo y dónde se utilicen.
Si bien estas reglas se tratan en este capítulo, no se preocupe por aprender todos los matices del idioma. El trabajo del postprocesador del software CAD/CAM es formatear y escribir correctamente el programa CNC.
Formato del programa
El programa de la Tabla 1:a continuación mecaniza un contorno cuadrado y taladra un agujero.
Bloque | Descripción | Propósito |
% O1234 (FRESA T1 0.25) G17 G20 G40 G49 G80 G90 | Inicio del programa. Número de programa (Nombre del programa). Descripción de la herramienta para el operador. Bloque de seguridad para garantizar que la máquina esté en modo seguro. | Programa de inicio |
T1 M6 S9200 M3 | Cargue la herramienta #1. Velocidad del husillo 9200 RPM, en CW. | Cambiar herramienta |
G54 M8 G00 X-0,025 Y-0,275 G43 Z1.H1 Z0.1 G01 Z-0.1 F18. | Utilice la compensación de accesorios n.º 1. Refrigerante activado. Rápido por encima de la parte. De rápido a plano seguro, utilice la compensación de longitud de herramienta n.º 1. Rápido para alimentar el avión. Movimiento de línea a profundidad de corte a 18 IPM. | Mover a la posición |
G41 Y0.1 D1 F36. Y2.025 X2.025 Y-0.025 X-0.025 G40 X-0.4 G00 Z1. | CDC Izquierda, Cable en línea, Dia. Desplazamiento n.º 1, 36 ipm. Movimiento de línea. Movimiento de línea. Movimiento de línea. Movimiento de línea. Apague CDC con movimiento de salida. Avión rápido a seguro. | Contorno de la máquina |
M5 M9 (T2 0,25 TALADRO) T2 M6 S3820 M3 | Husillo apagado. Refrigerante apagado. Descripción de la herramienta para el operador. Cargue la herramienta #2. Velocidad del husillo 3820 RPM, en CW. | Cambiar herramienta |
M8 X1. Y1. G43 Z1.H2 Z0.25 | Refrigerante encendido. Rápido por encima del agujero. De rápido a plano seguro, use Compensación de longitud de herramienta 2. Rápido para alimentar el avión. | Mover a la posición |
G98 G81 Z-0.325 R0.1 F12. G80 Z1. | Ciclo de perforación (enlatado), Profundidad Z-.325, F12. Cancelar ciclo de perforación. Avión rápido a seguro. | Taladro |
M5 M9 G91 G28 Z0 G91 G28 X0 Y0 G90 M30 % | Husillo apagado. Refrigerante apagado. Regrese a la posición inicial de la máquina en Z. Regrese a la posición inicial de la máquina en XY. Restablecer al modo de posicionamiento absoluto (por seguridad). Restablece el programa al principio. Fin del programa. | Finalizar programa |
Códigos de comandos de direcciones de letras
El bloque de comandos controla la máquina herramienta mediante el uso de comandos de dirección de letras. Algunos se usan más de una vez y su significado cambia según el código G que aparece en el mismo bloque.
Los códigos son modales, lo que significa que permanecen vigentes hasta que se cancelan o modifican, o no modales, lo que significa que solo son efectivos en el bloque actual. Como puede ver, muchas de las direcciones de letras se eligen de manera lógica (T para herramienta, S para husillo, F para velocidad de avance, etc.).
La siguiente tabla enumera los códigos de comandos de direcciones de letras más comunes.
Tabla 2:Códigos de comandos de direcciones de letras
Variables | Descripción | Definiciones |
A | Posición absoluta o incremental del eje A (eje de rotación alrededor del eje X) | A,B,C:movimiento giratorio de 4.°/5.° eje
Rotación sobre el eje X, Y o Z respectivamente. El ángulo está en grados y con una precisión de hasta tres decimales. |
B | Posición absoluta o incremental del eje B (eje de rotación alrededor del eje Y) | Igual que A |
C | Posición absoluta o incremental del eje C (eje de rotación alrededor del eje Z) | Igual que B |
D | Define el diámetro o el desplazamiento radial utilizado para la compensación del cortador |
Se usa para compensar el desgaste y la desviación del diámetro de la herramienta. D va acompañado de un número entero que es el mismo que el número de herramienta (T5 usa D5, etc.). No se utiliza punto decimal. Siempre se usa junto con G41 o G42 y un movimiento XY (nunca un arco). Cuando se llama, el control lee el registro y desplaza la trayectoria de la herramienta hacia la izquierda (G41) o hacia la derecha (G42) según el valor del registro. |
E | Avance de precisión para roscado en tornos |
|
F | Define la tasa de avance |
Establece la velocidad de avance cuando se mecanizan líneas, arcos o ciclos de taladrado. La velocidad de avance puede estar en pulgadas por minuto (modo G94) o en tiempo inverso (modo G93). Las velocidades de alimentación pueden tener una precisión de hasta tres decimales (para ciclos de roscado) y requieren un punto decimal. |
G | Dirección para comandos preparatorios | Los comandos G a menudo le dicen al control qué tipo de movimiento se desea (por ejemplo, posicionamiento rápido, avance lineal, avance circular, ciclo fijo) o qué valor de compensación usar. G02 X2.Y2.I.50J0. |
H | Define el desplazamiento de la longitud de la herramienta; Eje incremental correspondiente al eje C (p. ej., en un torneado-fresado) |
Este código llama a un registro de compensación de longitud de herramienta (TLO) en el control. El control combina los valores TLO y Fixture Offset Z para saber dónde está la herramienta en relación con el dato de la pieza. Siempre va acompañado de un número entero (H1, H2, etc.), G43 y coordenada Z. |
yo | Define el tamaño del arco en el eje X para los comandos de arco G02 o G03. También se utiliza como parámetro dentro de algunos ciclos fijos. |
Para movimientos de arco (G2/G3), esta es la distancia X incremental desde el punto de inicio del arco hasta el centro del arco. Ciertos ciclos de perforación también usan I como parámetro opcional.
|
J | Define el tamaño del arco en el eje Y para los comandos de arco G02 o G03. También se utiliza como parámetro dentro de algunos ciclos fijos. |
Para movimientos de arco (G2/G3), esta es la distancia Y incremental desde el punto de inicio del arco hasta el centro del arco. Ciertos ciclos de perforación también usan J como parámetro opcional.
|
K | Define el tamaño del arco en el eje Z para los comandos de arco G02 o G03. También se utiliza como parámetro dentro de algunos ciclos fijos, igual a la dirección L. |
Para anarcmove (G2/G3), esta es la distancia Z incremental desde el punto de inicio del arco hasta el centro del arco. En el plano G17, esta es la distancia Z incremental para movimientos helicoidales. Ciertos ciclos de perforación también usan J como parámetro opcional.
|
L | Recuento de bucle de ciclo fijo; Especificación de qué registro editar usando G10 | Recuento de bucles de ciclos fijos:Define el número de repeticiones ("bucles") de un ciclo fijo en cada posición. Se supone que es 1 a menos que se programe con otro número entero. A veces se utiliza la dirección K en lugar de L. Con posicionamiento incremental (G91), una los orificios igualmente espaciados se pueden programar como un bucle en lugar de posiciones individuales. G10uso:especificación de qué registro editar (compensaciones de trabajo, compensaciones de radio de herramienta, compensaciones de longitud de herramienta, etc.). |
M | Función miscelánea |
Siempre acompañado de un número entero que determina su significado. Solo se permite un código M en cada bloque de código. Las definiciones ampliadas de los códigos M aparecen más adelante en este capítulo. |
N | Número de línea (bloque) en el programa; Número de parámetro del sistema que se cambiará usando G10 |
Los números de bloque pueden hacer que el programa CNC sea más fácil de leer. Rara vez se requieren para programas generados por CAD/CAM sin subprogramas. Debido a que toman el control de la memoria, la mayoría de los programas 3D no usan números de bloque. Los números de bloque son números enteros de hasta cinco caracteres sin punto decimal. No pueden aparecer antes del carácter de inicio/fin de la cinta (%) y, por lo general, no aparecen antes de un bloque de solo comentarios. |
O | Nombre del programa |
Los programas se almacenan en el control por su número de programa. Este es un número entero que está precedido por la letra O y no tiene decimales.
|
P | Sirve como dirección de parámetro para varios códigos G y M |
Permanencia (retraso) en segundos. Acompañado por G4 a menos que se use dentro de ciertos ciclos de perforación.
|
Q | Incremento de picoteo en ciclos fijos |
La distancia de avance incremental por pasada en un ciclo de taladrado profundo.
|
R | Define el tamaño del radio del arco o define la altura de retracción en ciclos fijos |
Los arcos se pueden definir utilizando los vectores de radio de arco R o I,J,K. Los IJK son más confiables que los R, por lo que se recomienda usarlos en su lugar. Ri también se utiliza en los ciclos de perforación como el valor Z del plano de retorno.
|
S | Define la velocidad, ya sea la velocidad del husillo o la velocidad de la superficie según el modo |
Velocidad del husillo en revoluciones por minuto (RPM). Es un valor entero sin decimales, y siempre se usa junto con M03 (Husillo en CW) o M04 (Husillo en CCW).
|
T | Selección de herramientas |
Selecciona la herramienta. Es un valor entero siempre acompañado de M6 (código de cambio de herramienta). |
arriba | Eje incremental correspondiente al eje X (normalmente solo controla el grupo A del torno) También define el tiempo de permanencia en algunas máquinas. | En estos controles, X y U obvian G90 y G91, respectivamente. En estos tornos, G90 es en cambio una dirección de ciclo fija para desbaste. |
V | Eje incremental correspondiente al eje Y | Hasta la década de 2000, la dirección V se usaba muy raramente, porque la mayoría de los tornos que usaban U y W no tenían un eje Y, por lo que no usaban V. (Green et al 1996 ni siquiera incluyeron V en su tabla de direcciones). ) A menudo, ese sigue siendo el caso, aunque la proliferación de herramientas de torno vivo y el mecanizado de torneado y fresado ha hecho que el uso de direcciones V sea menos raro de lo que solía ser (Smid2008 muestra un ejemplo). |
W | Eje incremental correspondiente al eje Z (normalmente solo controla el grupo A del torno) | En estos controles, Z y W obvian G90 y G91, respectivamente. En estos tornos, G90 es en cambio una dirección de ciclo fija para desbaste. |
X | Posición absoluta o incremental del eje X. |
Datos de coordenadas para el eje X. Se permiten hasta cuatro lugares después del decimal y no se utilizan ceros finales. Las coordenadas son modales, por lo que no es necesario repetirlas en bloques posteriores si no cambian. |
Y | Posición absoluta o incremental del eje Y | Datos de coordenadas para el eje Y. G01 Y2.250 F20. |
Z | Posición absoluta o incremental del eje Z | Datos de coordenadas para el eje Z. |
Definiciones de códigos de caracteres especiales
La siguiente es una lista de caracteres especiales de uso común, su significado, uso y restricciones.
%:inicio o finalización del programa
Todos los programas comienzan y terminan con % en un bloque por sí mismo. Este código se llama carácter de rebobinado de cinta (un remanente de los días en que los programas se cargaban usando cintas de papel).
( ) – Comentarios
Los comentarios para el operador deben estar en mayúsculas y encerrados entre corchetes. La longitud máxima de un comentario es de 40 caracteres y todos los caracteres están en mayúsculas.
(T02:5/8 END MILL)
/ – Eliminar bloque
Los códigos posteriores a este carácter se ignoran si el interruptor de eliminación de bloques del control está activado.
/ M00
; – Fin de Bloque
Este carácter no es visible cuando el programa CNC se lee en un editor de texto (retorno de carro), pero aparece al final de cada bloque de código cuando el programa se muestra en el control de la máquina.
N8 Z0.750;
Códigos G y M
Los Códigos G&M constituyen la mayor parte del contenido del programa CNC. La definición de cada clase de código y los significados específicos de los códigos más importantes se tratan a continuación.
Códigos G
Los códigos que comienzan con G se denominan palabras preparatorias porque preparan la máquina para cierto tipo de movimiento.
Tabla 3:Código G
Código | Descripción |
G00 | Movimiento rápido. Se utiliza para posicionar la máquina para movimientos que no sean de fresado. |
G01 | Movimiento de línea a una velocidad de avance especificada. |
G02 | Arco en el sentido de las agujas del reloj. |
G03 | Arco en sentido antihorario. |
G04 | Permanecer. |
G28 | Regrese a la posición inicial de la máquina. |
G40 | Compensación del diámetro del cortador (CDC) desactivada. |
G41 | Compensación del diámetro del cortador (CDC) izquierda. |
G42 | Compensación del diámetro del cortador (CDC) a la derecha. |
G43 | Compensación de longitud de herramienta (TLO). |
G54 | Desplazamiento de accesorio #1. |
G55 | Desplazamiento de accesorio #2. |
G56 | Desplazamiento de accesorio #3. |
G57 | Desplazamiento de accesorio #4. |
G58 | Desplazamiento de accesorio #5. |
G59 | Desplazamiento de accesorio #6. |
G80 | Cancelar ciclo de perforación. |
G81 | Ciclo de perforación simple. |
G82 | Ciclo de perforación simple con permanencia. |
G83 | Ciclo de perforación picoteada. |
G84 | Toca ciclo. |
G90 | Modo de programación de coordenadas absolutas. |
G91 | Modo de programación de coordenadas incrementales. |
G98 | Regreso del ciclo de perforación al punto inicial (R). |
G99 | Retorno del ciclo de perforación al plano de referencia (última altura Z) |
Códigos M
Los códigos que comienzan con M se llaman palabras misceláneas. Controlan las opciones auxiliares de la máquina, como el refrigerante y la dirección del husillo. Solo puede aparecer un código M en cada bloque de código.
Tabla 4:Códigos M
Código | Descripción |
M00 | Detención del programa. Pulse el botón Inicio del ciclo para continuar. |
M01 | Parada opcional. |
M02 | Fin del programa. |
M03 | Husillo en el sentido de las agujas del reloj. |
M04 | Husillo en sentido contrario a las agujas del reloj. |
M05 | Tope de husillo. |
M06 | Cambiar herramienta. |
M08 | Refrigerante encendido. |
M09 | Refrigerante apagado. |
M30 | Finalice el programa y presione Cycle Start para ejecutarlo nuevamente. |
Seleccionar definiciones de código G (expandidas)
G00:movimiento rápido
Este código ordena a la máquina que se mueva lo más rápido que pueda hasta un punto específico. Siempre se usa con una posición de coordenadas y es modal. A diferencia de G01, G00 no coordina los ejes para moverse en línea recta. Más bien, cada eje se mueve a su velocidad máxima hasta que se satisface. Esto da como resultado un movimiento como se muestra en la Figura 18 a continuación.
G-Code se trata de movimiento, y el tipo de movimiento más común que se encuentra en los programas de piezas es el movimiento en línea recta o lineal. El movimiento es otra de esas cosas en G-Code que es modal. Le dices al controlador qué tipo de movimiento te gustaría con un código G y recuerda hacer siempre ese tipo de movimiento hasta que le digas que cambie usando otro código G.
G00 para posicionamiento rápido; Rapids Motion tan rápido como lo permita su máquina. Se utiliza para mover el cortador a través del aire a la siguiente posición en la que cortará.
G01 para movimiento de corte más lento; Feed Motion más lento, para cortar. Velocidad de avance establecida por código G "F".
Palabra F ="F" como en "Velocidad de avance".
S-word ="S" como en "Spindle Speed", la dirección es rpm.
Especificación de movimiento lineal con X, Y y Z:
Especificar G00 o G01 no provoca que ocurra ningún movimiento; simplemente le dicen al controlador qué tipo de movimiento se espera cuando finalmente le dices hacia dónde moverse. Para el movimiento real, debe especificar un destino utilizando las palabras X, Y y Z. Para pasar a la parte cero, podríamos emitir un comando como este:
G00 X0 Y0 Z0 O usa G01 si quieres ir más lento G01 X0 Y0 Z0 F40.
Movimiento interpolado o un movimiento interpolado, cuando especificamos múltiples coordenadas en una línea, significa que más de un eje de la máquina se está moviendo al mismo tiempo. De hecho, el controlador los moverá exactamente a la velocidad correcta entre sí para que el cortador siga una línea recta hasta el destino y se mueva a la velocidad de avance.
Si especificamos el mismo destino, pero repartimos las coordenadas en varias líneas, cada línea es un movimiento independiente:
G00 X0 Y0 (Mover a X0 Y0 en un solo movimiento, manteniendo Z constante)
Z0 (Mover a Z0 en un solo movimiento, manteniendo constantes X e Y)
G00 y G01 son modales, por lo que solo debemos especificarlos cuando queremos cambiar de modo.
Eje Z:
El concepto de movimientos interpolados plantea un tema interesante para el eje Z. Suele ser una buena idea mover el eje de profundidad de corte por sí solo, en lugar de hacerlo con un movimiento coordinado con otros ejes (X e Y). Si va a tener un problema (colisión) cuando el cortador se acerque a la pieza de trabajo y la fijación. Primero moviéndose en X e Y y luego moviéndose en Z, es mucho más fácil juzgar si una colisión accidental está a punto de ocurrir. También es mucho menos probable que golpee algún objeto aleatorio que sobresalga, como una abrazadera, si mantiene el cortador alto hasta que esté directamente sobre el lugar donde desea comenzar a cortar.
G02 y G03 Movimiento circular es un modo iniciado:
G02 establece un modo para arcos circulares en el sentido de las agujas del reloj.
G03 establece un modo para arcos circulares en sentido antihorario.
Se establece el modo G02 o G03, los arcos se definen en G-Code identificando sus 2 extremos y el centro que debe ser equidistante de cada extremo. Los puntos finales son fáciles. El punto de control actual, o la ubicación cuando se inicia el bloque, establece un punto final. El otro puede ser establecido por coordenadas XYZ. El centro se identifica más comúnmente mediante el uso de I, J o K para establecer los desplazamientos relativos desde el punto inicial del arco hasta el centro.
EJEMPLO DE ARCO EN EL SENTIDO HORARIO:
Figura 2. Centro de un arco con IJK
Este arco comienza en X0Y2. y termina en X2.Y0. Su centro está en X0Y0. Podríamos especificarlo en código G así:
G02 (Configurar el modo de arco en el sentido de las agujas del reloj)
X2Y0 I0J-2.0
El centro usando el radio "R".
El centro simplemente especificando el radio del círculo. El círculo tiene un radio de 2, por lo que el código G podría ser simplemente:
G02 X2Y0 R2
G17/G18/G19 – Designación de plano
Los arcos deben existir en un plano designado por el comando G17 (XY), G18 (XZ) o G19 (YZ). G17 es el valor predeterminado de la máquina.
Figura 3. Designación del plano
G40/G41/G42 – Compensación del diámetro del cortador (CDC)
CDC es una clave para el mecanizado CNC de precisión, que permite al operador compensar el desgaste y la desviación de la herramienta al ordenar a la máquina que gire a la izquierda (G41) o a la derecha (G42) desde la ruta programada. G40 cancela la compensación del cortador. La cantidad de compensación se ingresa en un registro D de control CNC. El registro de desgaste se puede considerar como una tabla a la que el control se refiere con cada movimiento.
Tabla 5:Registro de compensación de diámetro
Compensación del diámetro de la herramienta | Valor |
D1 | 0.0125 |
D2 | 0.0000 |
D3 | 0.0000 |
D4 | 0.0000 |
D5 | 0.0000 |
D6 | 0.0000 |
El valor en el registro D lo calcula el operador de la máquina herramienta, quien supervisa el tamaño final de las características de la pieza, las compara con la impresión e ingresa la diferencia en el registro según sea necesario para mantener la pieza dentro de las especificaciones. Si no hay desviación, el registro se pone a cero.
G43 – Compensación de longitud de herramienta
G43 activa la compensación de longitud de herramienta. Siempre va acompañado de un código H y un movimiento Z, donde H es el registro de compensación de longitud de herramienta (TLO) para leer y Z es la altura a la que ir en referencia a la referencia de la pieza.
El (TLO) se puede considerar como una tabla en el control:
Tabla 6:Compensaciones de trabajo
Resistencia de longitud de herramienta | Z |
H1 | 10.236 |
H2 | 4.7510 |
H3 | 6.9652 |
H4 | 7.6841 |
H5 | 12.4483 |
H6 | 8.2250 |
El TLO se combina con el desplazamiento del accesorio activo en el control para que la máquina sepa dónde está la punta de la herramienta en relación con el punto de referencia de la pieza.
G43 H1 Z1.
G54:compensación de trabajo
Las compensaciones de trabajo son registros de datos en el control CNC que mantienen la distancia desde la posición inicial X, Y, Z de la máquina hasta el punto de referencia de la pieza. Estos desplazamientos se pueden considerar como una tabla en el control:
Tabla 7:Compensación de trabajo
Compensación de trabajo | X | Y | Z |
G54 | 14.2567 | 6.6597 | 0.0000 |
G55 | 0.0000 | 0.0000 | 0.0000 |
G56 | 0.0000 | 0.0000 | 0.0000 |
G57 | 0.0000 | 0.0000 | 0.0000 |
G58 | 0.0000 | 0.0000 | 0.0000 |
G59 | 0.0000 | 0.0000 | 0.0000 |
Los valores X e Y representan la distancia desde el punto de origen de la máquina hasta el punto de referencia XY de la pieza. El valor Z es la distancia desde el punto de referencia de la herramienta (por ejemplo, la parte superior de un bloque 1-2-3) y la referencia Z de la pieza.
G54X0. Y0.
PRUEBA DE UNIDAD
1. Describa las instrucciones de la lista de programas CNC.
2. ¿Todos los programas CNC comienzan y terminan con qué?
3. Describa los códigos de comandos de direcciones de letras.
4. Indique tres códigos de caracteres especiales.
5. Describa los códigos G y M.
6. Describa G00 G90 G54 X0 Y0.
7. Describe G00 G90 G43 H1 Z1.
8. ¿Cuál es la diferencia entre G00 y G01?
9. Explique la diferencia entre G02 y G03.
10. Describe la palabra F y S.
Tecnología Industrial
- Programación del microprocesador
- C - Estructura del programa
- C# - Estructura del programa
- Prueba y error del maquinista CNC:realidad desafortunada
- Cómo garantizar la exactitud y la precisión en el fresado CNC
- Ofrecemos soluciones de fabricación de herramientas y mecanizado CNC
- Caída de la máquina herramienta CNC de 5 ejes (y mejores formas de gestionarla)
- 22 Unidad 5:Operación CNC
- Maximización de la precisión y el posicionamiento de las máquinas herramienta CNC
- ¿Qué es una herramienta CNC y una amoladora cortadora?
- Introducción al preconfigurador de herramientas CNC y medición de herramientas CNC