Cambiar los valores de las variables
Código G: G36
, G37
Función: Los comandos cambian el valor de una variable. G36
escribe el valor especificado en una variable. G37
incrementa la variable por el valor especificado. O$var$
define la variable que se edita. D
define el valor que está escrito para G36
o agregado para G37
. El comando se usa, por ejemplo, para un contador de bucle requerido para saltos condicionales.
Sintaxis
G36 O D G37 O D
Palabra de código G para G36 | Descripción |
---|---|
O | Variable que está escrita. La variable interna se puede utilizar en Salto comando. |
D | Nuevo valor de variable |
Palabra de código G para G37 | |
O | Variable que se incrementa. Si |
D | Incremento |
Programación del contador (si la ruta se procesa en línea)
los
g_i
La variable global se establece en 5.
N1000 G36 O$g_i$ D5
Las líneas 1010 y 1020 se recorren cinco veces.
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$
Sugerencia
El mecanismo funciona solo si la ruta se procesa en línea, porque solo entonces se pueden usar variables. Este mecanismo no funciona en el editor CNC.
Programación del contador para el modo fuera de línea
Para trabajar con el editor fuera de línea, no especifique ninguna variable mediante O
. Luego, una variable decodificadora implícita de tipo INT
se utiliza. Sin embargo, solo está disponible una variable. No puede programar saltos o bucles anidados.
Usando variables de cadena
Puede usar una variable de cadena en la palabra O en código G. Además, se puede asignar e insertar un valor de cadena a esta variable mediante el comando G36
y G37
.
N10 G36 O$strTest$ D'Name'
los strTest
la variable obtiene el valor de Nombre.
N20 G37 O$strTest$ D'=Test'
El valor =Test
se agrega a la variable strTest
.
Sugerencia
Si se utilizan variables de cadena en el programa CNC, y si el programa CNC (en el programa IEC) se lee mediante el SMC_ReadNCFile
bloque de funciones, entonces los búferes para las cadenas deben reservarse en el programa IEC. De lo contrario, el error SMV_RNCF_NO_STRINGBUFFER
ocurre. los SMC_StringBuffer
El bloque de funciones está disponible para este propósito.
Cada cadena del programa CNC requiere su propio espacio en la instancia del bloque de función de SMC_StringBuffer
, incluso si la misma cadena aparece varias veces.
La siguiente declaración puede almacenar en búfer 32 cadenas, por ejemplo:
sb: SMC_StringBuffer(uiBufferSize := 32);
La instancia del bloque de funciones sb
se pasa como un puntero al pStringBuffer
entrada de la SMC_ReadNCFile
ejemplo.