Skip to main content

Modification des valeurs des variables

code G: G36, G37

Fonction: Les commandes changent la valeur d'une variable. G36 écrit la valeur spécifiée dans une variable. G37 incrémente la variable de la valeur spécifiée. O$var$ définit la variable qui est éditée. D définit la valeur qui est écrite pour G36 ou ajouté pour G37. La commande est utilisée, par exemple, pour un compteur de boucle nécessaire aux sauts conditionnels.

Syntaxe

G36 O D
G37 O D

Mot de code G pour G36

La description

O

Variable écrite. O n'est pas défini, alors une variable de décodeur interne est utilisée. La valeur par défaut de cette variable interne est -1.

La variable interne peut être utilisée dans Saut commande.

D

Nouvelle valeur de variable

Mot de code G pour G37

O

Variable qui est incrémentée. Si O n'est pas défini, une variable de décodeur interne est utilisée.

D

Incrément

Exemple 45. Exemple

Programmation du compteur (si le chemin est traité en ligne)

  1. Les g_i la variable globale est définie sur 5.

N1000 G36 O$g_i$ D5

Les lignes 1010 et 1020 sont parcourues cinq fois.

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$


Astuce

Le mécanisme ne fonctionne que si le chemin est traité en ligne, car ce n'est qu'alors que des variables peuvent être utilisées. Ce mécanisme ne fonctionne pas dans l'éditeur CNC.

Programmation du compteur pour le mode hors ligne

Pour travailler avec l'éditeur hors ligne, ne spécifiez aucune variable au moyen de O. Puis une variable de décodeur implicite de type INT est utilisé. Cependant, une seule variable est disponible. Vous ne pouvez pas programmer de sauts ou de boucles imbriqués.

Utilisation de variables de chaîne

Vous pouvez utiliser une variable de chaîne dans le mot O du code G. De plus, une valeur de chaîne peut être affectée et insérée à cette variable au moyen de la commande G36 et G37.

Exemple 46. Exemple
N10 G36 O$strTest$ D'Name'

Les strTest variable obtient la valeur Nom.

N20 G37 O$strTest$ D'=Test'

La valeur =Test est ajouté à la variable strTest.



Astuce

Si des variables de chaîne sont utilisées dans le programme CNC et si le programme CNC (dans le programme CEI) est lu au moyen de la SMC_ReadNCFile bloc fonction, les tampons pour les chaînes doivent être réservés dans le programme CEI. Sinon, l'erreur SMV_RNCF_NO_STRINGBUFFER se produit. Les SMC_StringBuffer bloc fonction est disponible à cet effet.

Chaque chaîne du programme CNC requiert son propre espace dans l'instance de bloc fonction de SMC_StringBuffer, même si la même chaîne apparaît plusieurs fois.

La déclaration suivante peut mettre en mémoire tampon 32 chaînes, par exemple :

sb: SMC_StringBuffer(uiBufferSize := 32);

L'instance du bloc fonction sb est passé en tant que pointeur vers le pStringBuffer entrée de la SMC_ReadNCFile exemple.