Skip to main content

Variables locales

Cada archivo de código G puede declarar variables locales. Para los programas principales, las declaraciones deben insertarse al principio; para subprogramas, directamente después de la declaración del subprograma.

Las variables locales son visibles solo en el programa o subprograma donde se declaran. (Sin alcance dinámico)

Sugerencia

Las variables locales funcionan solo en el decodificador en línea (no en el editor CNC).

Número de variables locales

  • Antes de la versión 4.18.0.0: el número de variables locales está restringido a 21 por subprograma y en el programa principal.

  • Versión 4.18.0.0 y superior: el número de variables locales solo está limitado por la memoria. El valor máximo se puede cambiar mediante el parámetro de biblioteca SMC_CNC_LIBPARAMS.MAX_SUBPROGRAM_PARAMS.

    Para obtener más información, consulte: Parámetros de biblioteca

Sintaxis de la declaración

La sintaxis es similar a la utilizada para declarar parámetros de subprograma. Se puede declarar una variable por bloque. El bloque no comienza con una palabra N. La variable puede recibir un valor inicial opcional cuando se declara. De lo contrario, se le asigna un valor predeterminado en función del tipo de datos (LREAL: 0, BOOL: FALSE, STRING: ‘‘).

Sintaxis de la declaración: LET <FormalParam> [:= <InitialValue>].

<FormalParam> ::= <ParamName> : <ParamType>
<ParamName>   ::= #[a-zA-Z0-9_]+

<ParamType> ::= LREAL | BOOL | STRING ; String mit maximaler Länge von 255 Bytes

<InitialValue>: Expresión que tiene un valor y un tipo que coincide con la variable. La expresión también puede usar variables locales (y en subprogramas los parámetros del subprograma), pero solo las declaradas anteriormente en el código del programa.

Ejemplos de

•   LET #x : LREAL            (* Variable #x, Typ LREAL, Initialwert 0 *)
•   LET #y : LREAL := #x + 1  (* Variable #y, Typ LREAL, Initialwert #x+1 = 1 *)
•   LET #b : BOOL := #x >= #y (* Variable #b, Typ BOOL, Initialwert FALSE *)

Al igual que con los parámetros de subprograma, las variables locales no distinguen entre mayúsculas y minúsculas. (Ambos #x y #X indicar la misma variable.) Los nombres de todas las variables locales declaradas en un programa / subprograma deben ser diferentes. Deben diferir de los nombres de los parámetros formales del subprograma.

Las variables locales se pueden utilizar en código G como parámetros de subprogramas.

Ejemplos de

•   N10 G01 X#x Y#y
•   N20 G20 L10 K#b