Variables locales
Chaque fichier de code G peut déclarer des variables locales. Pour les programmes principaux, les déclarations doivent être insérées au tout début ; pour les sous-programmes, directement après la déclaration du sous-programme.
Les variables locales ne sont visibles que dans le programme ou sous-programme où elles sont déclarées. (Pas de portée dynamique)
Astuce
Les variables locales ne fonctionnent que dans le décodeur en ligne (pas dans l'éditeur CNC).
Nombre de variables locales
Avant la version 4.18.0.0 : le nombre de variables locales est limité à 21 par sous-programme et dans le programme principal.
Version 4.18.0.0 et supérieure : le nombre de variables locales est limité uniquement par la mémoire. La valeur maximale peut être modifiée à l'aide du paramètre de bibliothèque SMC_CNC_LibParams.MAX_SUBPROGRAM_PARAMS.
Pour plus d'informations, voir : Paramètres de la bibliothèque
Syntaxe de la déclaration
La syntaxe est similaire à la syntaxe utilisée pour déclarer les paramètres de sous-programme. Une variable peut être déclarée par bloc. Le bloc ne commence pas par un mot N. La variable peut être fournie avec une valeur initiale facultative lors de sa déclaration. Sinon, une valeur par défaut lui est attribuée en fonction du type de données (LREAL: 0, BOOL: FALSE, STRING: ‘‘
).
Syntaxe de la déclaration : LET <FormalParam> [:= <InitialValue>]
.
<FormalParam> ::= <ParamName> : <ParamType> <ParamName> ::= #[a-zA-Z0-9_]+ <ParamType> ::= LREAL | BOOL | STRING ; String mit maximaler Länge von 255 Bytes
<InitialValue>
: expression qui a une valeur et un type qui correspondent à la variable. L'expression peut également utiliser des variables locales (et dans les sous-programmes les paramètres du sous-programme), mais uniquement celles déclarées ci-dessus dans le code du programme.
Exemples
• 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 *)
Comme pour les paramètres de sous-programme, les variables locales ne sont pas sensibles à la casse. (Les deux #x
et #X
indiquent la même variable.) Les noms de toutes les variables locales déclarées dans un programme/sous-programme doivent être différents. Ils doivent différer des noms des paramètres formels du sous-programme.
Les variables locales peuvent être utilisées dans le code G comme des paramètres de sous-programmes.
Exemples
• N10 G01 X#x Y#y • N20 G20 L10 K#b