Skip to main content

G代码: G20

功能: 命令执行条件跳转。

句法

G20 L K

G码字

描述

L

. 跳跃目标:
  • 定义的行号(例如: L20)

  • 跳转标签

    跳转由问号和索引定义(例如: L?4)。跳转目标本身的命令由感叹号和相应的索引标识(例如: L!4)。跳转目标可以附加到任何 G 代码指令。

    当目标线未知时,此跳转用于自动生成的 CNC 程序。

    带有未知目标的跳转标签仅适用于在线解码器(不在 CNC 编辑器中)。

    要求:带有跳转标签的行必须位于带有跳转命令的行之后。 “跳回”是不可能的。如果未定义“目标行”,则不执行跳转命令之后的命令。

K

健康)状况

如果 K <> 0,则执行跳转。如果未定义 K,则使用内部解码器变量。

内部解码器变量的值可以定义为 改变变量的值 命令。此内部变量的默认值为 -1

25. 示例:执行跳转直到内部计数器 = 0

十行通过相对模式链接在一起。这导致线移动到 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)


26. 示例:在解码时评估跳转条件

要求:变量的行为 bvar 在应用程序中编程。如果 X 轴超过位置 15,则 bvar FALSE 设置。 (bVar 最初设置为 TRUE.)

在第一个程序循环中,X 位置为 10,程序跳转到第 20 行。循环继续运行,因为条件的评估发生在解码时,内插器尚未启动或忙于处理缓冲区开头的对象。满足此条件并且解码器仅在生成足够多的对象以致缓冲区已满且内插器开始处理后才跳出循环。

在第二次运行中,X 轴尚未到达位置 20。条件不满足且 bVar 未设置为 FALSE 在 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)


27. 示例:插入时序同步

G75 执行内插器的定时同步。 G75 暂停解码器处理,直到内插器和机械装置到达各自的位置。

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)

有关更多信息,请参阅: 与内插器的时序同步



28. 示例:跳转到跳转标签

注意:跳转到跳转标签仅在在线解码器中起作用(不在 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