Saltar al contenido principal
LibreTexts Español

8.4: Unidad 4: Lenguaje y Estructura CNC

  • Page ID
    153537
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    OBJETIVO

    Después de completar esta unidad, deberías ser capaz de:

    • Identificar las instrucciones de la lista de programas.
    • Comprender el formato del programa
    • Describir códigos de comandos de dirección de letras
    • Describir definiciones de código de caracteres especiales.
    • Comprender los códigos G & M.

    Los programas CNC enumeran las instrucciones a realizar en el orden en que se escriben. Leen como un libro, de izquierda a derecha y de arriba hacia abajo. Cada oración en un programa CNC está escrita en una línea separada, llamada Bloque. Los bloques están dispuestos en una secuencia específica que promueve la seguridad, previsibilidad y 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
    • Herramienta de carga
    • Husillo encendido
    • Refrigerante encendido
    • Rápido para colocar encima de la pieza
    • Operación de mecanizado
    • Refrigerante desactivado
    • Husillo desactivado
    • 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 utilizan múltiples herramientas repiten los pasos del dos al nueve para cada uno.

    Tabla 3 y Tabla 4 en la sección G & M Códigos muestran los códigos G y M más comunes que deben ser memorizados si es posible.

    Como cualquier idioma, el lenguaje del código G tiene reglas. Por ejemplo, algunos códigos son modales, es decir, 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 están cubiertas en este capítulo, no se preocupe por aprender cada matiz del idioma. Es el trabajo del trabajo del software CAD/CAM Post Processor formatear y escribir correctamente el programa CNC.

    Formato del Programa

    El programa en la Tabla 1: a continuación maquinas un contorno cuadrado y perfora un agujero.

    Bloquear

    Descripción

    Propósito

    %

    O1234

    (T1 0.25 MOLINO DE EXTREMO)

    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 asegurar que la máquina esté en modo seguro.

    Programa de inicio

    T1 M6

    S9200 M3

    Herramienta de Carga #1.

    Velocidad del Husillo 9200 RPM, En CW.

    Herramienta de cambio

    G54

    M8

    G00 X-0.025 Y-0.275

    G43 Z1.H1

    Z0.1

    G01 Z-0.1 F18.

    Utilice Offset de Fixture #1.

    Refrigerante Encendido.

    Rápido por encima de la parte.

    Plano rápido a seguro, use Desplazamiento de Longitud de Herramienta #1.

    Plano rápido de alimentació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, Plomo en línea, Dia. Desplazamiento #1, 36 IPM.

    Movimiento de línea.

    Movimiento de línea.

    Movimiento de línea.

    Movimiento de línea.

    Apague los CDC con un movimiento de salida.

    Avión rápido a seguro.

    Contorno de la máquina

    M5

    M9

    (TALADRO T2 0.25)

    T2 M6

    S3820 M3

    Husillo Desconectado.

    Refrigerante desactivado.

    Descripción de la herramienta para el operador.

    Herramienta de Carga #2.

    Velocidad del Husillo 3820 RPM, En CW.

    Herramienta de cambio

    M8

    X1. Y1.

    G43 Z1.H2

    Z0.25

    Refrigerante Encendido.

    Rápido por encima del agujero.

    Plano rápido a seguro, use Desplazamiento de Longitud de la Herramienta 2.

    Plano rápido de alimentación.

    Mover a la posición

    G98 G81 Z-0.325 R0.1 F12.

    G80

    Z1.

    Ciclo de orificio 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 Desconectado.

    Refrigerante desactivado.

    Regresar a la máquina Posición de inicio en Z.

    Regresar a la máquina Posición inicial en XY.

    Restablecer al modo de posicionamiento absoluto (por seguridad).

    Restablecer el programa al principio.

    Fin del programa.

    Fin del programa

    Códigos de comandos de dirección de letras

    El bloque de comandos controla la máquina herramienta mediante el uso de comandos de dirección de letras. Algunos se utilizan más de una vez, y su significado cambia en función de qué código G aparece en el mismo bloque.

    Los códigos son modales, lo que significa que permanecen vigentes hasta su cancelación o cambio, o no modales, lo que significa que solo son efectivos en el bloque actual. Como puede ver, muchas de las direcciones de las 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 dirección de letras más comunes.

    Tabla 2: Códigos de comandos de dirección de letras

    Variable

    Descripción

    Definiciones

    A

    Posición absoluta o incremental del eje (eje de rotación alrededor del eje X)

    A, B, C — Movimiento Rotativo de 4to/5to Eje

    Rotación alrededor del eje X, Y o Z respectivamente.El ángulo es en grados y precisión de hasta tres decimales.
    G01 A45.325B90.

    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 desplazamiento radial utilizado para la compensación de la fresa

    Se utiliza 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 en conjunción con G41 o G42 y un movimiento XY (nunca un arco). Cuando se llama, el control lee el registro y compensa la trayectoria de herramienta izquierda (G41) o derecha (G42) por el valor en el registro.
    G01 G41 X2.D1

    E

    Velocidad de avance de precisión para roscar en tornos

    F

    Define la velocidad de avance

    Establece la velocidad de avance al mecanizar líneas, arcos o ciclos de taladro.La velocidad de avance puede ser en Pulgadas por Minuto (modo G94) o Tiempo Inverso (modo G93). Las velocidades de avance pueden ser de hasta tres posiciones decimalesexactitud (para ciclos de toma) y requieren un punto decimal.
    G01 X2.Y0. F30.

    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, alimentación circular, ciclo fijo) o qué valor de desplazamiento usar.

    G02 X2.Y2.I.50J0.

    H

    Define desfase de longitud de herramienta;

    Eje incremental correspondiente al eje C (por ejemplo, en un molino de giro)

    Este código llama a un registro de desplazamiento de longitud de herramienta (TLO) en el control. El control combina los valores TLO y Desfase de fijación Z para saber dónde está la herramienta en relación con el dato de la pieza. Siempre va acompañado de un entero (H1, H2, etc.), G43 y coordenadas Z.
    G43 H1 Z2.

    I

    Define el tamaño del arco InX axisfor los comandos de arco G02 o G03.

    También se utiliza como parámetro dentro de algunos ciclos fijos.

    Para los 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.
    G02 X.5 Y2.500I0.J0.250

    J

    Define el tamaño del arco INy axisfor los comandos de arco G02 o G03.

    También se utiliza como parámetro dentro de algunos ciclos fijos.

    Para los 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.
    G02 X.5 Y2.500 I0.J0.250

    K

    Define el tamaño del arco InZ axisfor los comandos de arco G02 o G03.

    También se utiliza como parámetro dentro de algunos ciclos fijos, igual a dirección L.

    Para el movimiento de arco (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.
    G18 G03 X.3 Z2.500 I0.K0.250

    L

    Recuento de bucle de ciclo fijo;

    Especificación de qué registro editar usando G10

    Recuento de bucle de ciclo fijo: Define el número de repeticiones (“bucles”) de un ciclo fijo en cada posición.Se supone que es 1 a menos que esté programado con otro entero. A veces, la dirección K se usa en lugar de L. Con posicionamiento incremental (G91), una serie de agujeros igualmente espaciados se puede programar como un bucle en lugar de como posiciones individuales.G10 uso:especificaciónDe qué registro editar (desplazamientos de trabajo, desplazamientos de radio de herramienta, desplazamientos de longitud de herramienta, etc.).

    M

    Función miscelánea

    Siempre acompañado de un 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.
    M08

    N

    Número de línea (bloque) en el programa;

    Número de parámetro del sistema que se va a 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 controlmemoriala mayoría de los programas 3D no utilizan números de bloque. Los números de bloque son enteros de hasta cinco caracteres de largo sin punto decimal. No pueden aparecer antes del carácter inicio/final de la cinta (%) y por lo general no aparecen antes de un comentario solo bloque.
    N100 T02 M06

    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.
    O1234 (Ejercicio 1)

    P

    Sirve como dirección de parámetro para varios códigos G y M

    Dwell (delay) en segundos.Acompañado por G4 a menos que se use dentro de ciertos ciclos de perforación.
    G4 P.1

    Q

    Incremento de picoteo en ciclos enlatados

    La distancia de avance incremental por pasada en un ciclo de perforación de picoteo.
    G83 X2.000 Y2.000 Z-.625 F20.R.2 Q.2 P9.

    R

    Define el tamaño del radio del arco o define la altura de retracción en ciclos enlatados

    Los arcos se pueden definir usando el radio de arco R o I, J, Kvectors. Los IJK son más confiables que los R, por lo que se recomienda usarlos en su lugar. Ris también utilizado por los ciclos de perforación como el valor Z del plano de retorno.
    G83 Z-.625 F20.R.2 Q.2 P9.

    S

    Define la velocidad, ya sea la velocidad del husillo o la velocidad superficial según el modo

    Velocidad del husillo en revoluciones por minuto (RPM). Es un valor entero sin decimal, y siempre se usa junto con M03 (Husillo en CW) o M04 (Husillo en CCW).
    S2500M03

    T

    Selección de herramientas

    Selecciona la herramienta. Es un valor entero siempre acompañado de M6 (código de cambio de herramienta).
    T01 M06

    U

    Eje incremental correspondiente al eje X (normalmente solo controles del grupo de torno A)

    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 no tenían un eje Y, por lo que no usaban V. (Green et al 1996 ni siquiera enumeraban V en su tabla de direcciones.) Ese sigue siendo a menudo el caso, aunque la proliferación de herramientas de torno en vivo y mecanizado por torneado 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 controles del grupo de torno A)

    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. Hasta cuatro lugares después del decimalestán permitidos y no se utilizan ceros finales. Las coordenadas son modales, por lo que no es necesario repetirlas en bloques posteriores si no cambian.
    G01 X2.250F20.

    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ódigo de caracteres especiales

    La siguiente es una lista de caracteres especiales de uso común, su significado, uso y restricciones.

    % — Inicio o Fin 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 cargaron usando cintas de papel).

    () — Comentarios

    Los comentarios al operador deben ser todos en mayúsculas y encerrados entre paréntesis. La longitud máxima de un comentario es de 40 caracteres y todos los caracteres están en mayúscula.
    (T02: MOLINO DE EXTREMO 5/8)

    /— Eliminar bloque

    Los códigos después de este carácter se ignoran si el interruptor de eliminación de bloques en el control está activado.
    /M00

    ; — Fin del Bloque

    Este carácter no es visible cuando el programa CNC se lee en un editor de texto (retorno de carro), pero sí 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 conforman la mayor parte de los contenidos del programa CNC. A continuación se aborda la definición de cada clase de código y los significados específicos de los códigos más importantes.

    Códigos G

    Los códigos que comienzan con G se llaman 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 sin fresado.

    G01

    Movimiento de línea a una velocidad de avance especificada.

    G02

    Arco en sentido horario.

    G03

    Arco en sentido antihorario.

    G04

    Habitar.

    G28

    Regresar a la posición inicial de la máquina.

    G40

    Compensación del Diámetro de la Cortadora (CDC) desactivada.

    G41

    Compensación del Diámetro de la Cortadora (CDC) izquierda.

    G42

    Compensación del Diámetro de la Cortadora (CDC) derecha.

    G43

    Desfase de longitud de herramienta (TLO).

    G54

    Fixture Offset #1.

    G55

    Fixture Offset #2.

    G56

    Fixture Offset #3.

    G57

    Fixture Offset #4.

    G58

    Fixture Offset #5.

    G59

    Fixture Offset #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 Peck.

    G84

    Ciclo de golpecitos.

    G90

    Modo de programación de coordenadas absolutas.

    G91

    Modo de programación por coordenadas incrementales.

    G98

    Ciclo de perforación de retorno al punto inicial (R).

    G99

    Ciclo de perforación de retorno 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 refrigerante y 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

    Parada del programa.Presione el botón de inicio del ciclo para continuar.

    M01

    Parada opcional.

    M02

    Fin del programa.

    M03

    Husillo en sentido horario.

    M04

    Husillo en sentido antihorario.

    M05

    Tope del husillo.

    M06

    Herramienta de cambio.

    M08

    Refrigerante encendido.

    M09

    Refrigerante desactivado.

    M30

    Finalice el programa y presione Ciclo Inicio para ejecutarlo de nuevo.

    Seleccionar definiciones de código G (ampliadas)

    G00 — Movimiento rápido

    Este código ordena a la máquina que se mueva lo más rápido posible hasta un punto especificado. 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 0 0 X 0 . Y0.


    8.4: Unidad 4: Lenguaje y Estructura CNC is shared under a CC BY license and was authored, remixed, and/or curated by LibreTexts.