Skip to main content

Salto

Código G: G20

Función: El comando ejecuta un salto condicional.

Sintaxis

G20 L K

Palabra de código G

Descripción

L

. Objetivo de salto:
  • Número de línea definido (ejemplo: L20)

  • Saltar etiqueta

    El salto se define mediante un signo de interrogación y un índice (ejemplo: L?4). El comando para el objetivo del salto en sí se identifica con un signo de exclamación y el índice correspondiente (ejemplo: L!4). El objetivo de salto se puede adjuntar a cualquier comando de código G.

    Este salto se utiliza para programas de CNC generados automáticamente cuando se desconoce la línea objetivo.

    Los saltos con objetivos desconocidos para saltar etiquetas funcionan solo en el decodificador en línea (no en el editor CNC).

    Requisito: La línea con la etiqueta de salto debe ubicarse después de la línea con el comando de salto. "Saltar hacia atrás" no es posible. Si la "línea de destino" no está definida, los comandos que siguen al comando de salto no se ejecutan.

K

Condición

Si K <> 0, entonces se ejecuta el salto. Si K no está definido, se utiliza una variable decodificadora interna.

El valor de la variable del decodificador interno se puede definir con el Cambiar los valores de las variables comando. El valor predeterminado de esta variable interna es -1.

ejemplo 25. Ejemplo: ejecutar salto hasta contador interno = 0

Diez líneas están unidas por el modo relativo. Esto da como resultado un movimiento de línea a 100/100.

N00 G36 D10          (Setzen des Zählers auf 10)
N10 G91              (Relativer Modus)
N20 G01 X10 Y10 F100 (Bewegung um Distanz 10/10)
N30 G37 D-1          (Zähler dekrementieren)
N40 G20 L20          (Sprung, wenn Zähler != 0)


ejemplo 26. Ejemplo: evaluar la condición de salto en el momento de la decodificación

Requisito: el comportamiento de la variable bvar está programado en la aplicación. Si el eje X excede la posición 15, entonces bvar FALSE Está establecido. (bVar se establece inicialmente en TRUE.)

En el primer ciclo del programa, la posición X es 10 y el programa salta a la línea 20. El bucle se ejecuta continuamente porque la evaluación de la condición tiene lugar en el momento de la decodificación y el interpolador aún no se inició o está ocupado con el procesamiento. de objetos al comienzo del búfer. Esta condición se cumple y el decodificador salta del bucle solo después de que se generen suficientes objetos para que el búfer esté lleno y el interpolador comience a procesar.

En la segunda ejecución, el eje X aún no está en la posición 20. La condición no se cumple y bVar no estaba configurado para FALSE en el código IEC.

N0 G92 X0 Y0
N10 G91              (Relativer Modus)
N20 G01 X10 Y10 F100 (Bewegung um Distanz 10/10)
N30 G20 L20 K$bvar$  (Sprung, wenn Zähler != 0)


ejemplo 27. Ejemplo: insertar sincronización de tiempo

G75 ejecuta una sincronización de tiempo del interpolador. G75 pausa el procesamiento del decodificador hasta que el interpolador y la mecánica alcanzan la posición respectiva.

N0 G92 X0 Y0
N10 G91              (Relativer Modus)
N20 G01 X10 Y10 F100 (Bewegung um Distanz 10/10)
N25 G75
N30 G20 L20 K$x$     (Sprung, wenn Zähler != 0)

Para más información, ver: Sincronización de tiempo con interpolador



ejemplo 28. Ejemplo: saltar a la etiqueta de salto

Nota: Saltos a etiquetas de salto funcionan solo en el decodificador en línea (no en el editor CNC).

N0 G16 F100 E100 E-100
N10 G20 L?4      //unconditional jump to the unknown target with index 4
N15 G20 L60
N20 G1 X1
N30 G1 X1 L!5    //resolution unknown jump target with index 5
N40 G1 Z1 L!4    //resolution unknown jump target with index 4
N50 G20 L15
N55 G1 Y1
N60 G0 X0 Y0 Z0