改变变量的值
G代码: G36
, G37
功能:命令更改变量的值。 G36
将指定值写入变量。 G37
将变量增加指定的值。 O$var$
定义被编辑的变量。 D
定义写入的值 G36
或添加 G37
.例如,该命令用于条件跳转所需的循环计数器。
句法
G36 O D G37 O D
G36 的 G 代码字 | 描述 |
---|---|
O | 写入的变量。如果 内部变量可用于 跳 命令。 |
D | 新变量值 |
G37 的 G 代码字 | |
O | 递增的变量。如果 |
D | 增量 |
编程计数器(如果路径是在线处理的)
这
g_i
全局变量设置为 5。
N1000 G36 O$g_i$ D5
线路 1010 和 1020 行驶了五次。
N1000 G36 O$g_i$ D5 N1010 G1 X100 F100 E100 E-100 N1020 G1 X0 N1030 G37 O$g_i$ D-1 N1040 G20 L1010 K$g_i$
提示
该机制仅在路径在线处理时起作用,因为只有这样才能使用变量。该机制在 CNC 编辑器中不起作用。
为离线模式编程计数器
要离线使用编辑器,请通过以下方式不指定变量 O
.然后是类型的隐式解码器变量 INT
用来。但是,只有一个变量可用。您不能编写任何嵌套跳转或循环。
使用字符串变量
您可以在 G 代码中的 O 字中使用字符串变量。此外,可以通过命令将字符串值分配并插入到此变量中 G36
和 G37
.
N10 G36 O$strTest$ D'Name'
这 strTest
变量获取名称值。
N20 G37 O$strTest$ D'=Test'
价值 =Test
被添加到变量 strTest
.
提示
如果在 CNC 程序中使用字符串变量,并且如果 CNC 程序(在 IEC 程序中)是通过 SMC_ReadNCFile
功能块,则必须在 IEC 程序中为字符串保留缓冲区。否则报错 SMV_RNCF_NO_STRINGBUFFER
发生。这 SMC_StringBuffer
功能块可用于此目的。
CNC 程序的每个字符串在功能块实例中都需要自己的空间 SMC_StringBuffer
,即使同一个字符串出现多次。
下面的声明可以缓冲 32 个字符串,例如:
sb: SMC_StringBuffer(uiBufferSize := 32);
功能块实例 sb
作为指针传递给 pStringBuffer
的输入 SMC_ReadNCFile
实例。