La table des variables macro dans NCPlayer est un panneau interactif qui affiche les valeurs actuelles des variables
#100–#199 (locales / définies par l’utilisateur) et #500–#531 (communes / persistantes),
ainsi que des variables système utilisées dans les expressions, les conditions et les boucles du G-code.
La table se met à jour en temps réel pendant la simulation et aide à analyser la logique des programmes macro,
à déboguer les calculs et à suivre les effets secondaires.
Objectif
Débogage logique : visualisez facilement comment les variables changent lors de l’exécution de
#i = ..., IF, WHILE/DO/END, G65, M98/M99.
Analyse des expressions : surveillez les valeurs d’entrée/sortie lors de l’utilisation de
SIN/COS/ROUND/FIX/FUP/ABS/SQRT/....
Répétabilité : réinitialisez rapidement les valeurs des variables pour relancer la simulation à partir d’un état “propre”.
Informations affichées
Indice de variable (par ex. #100, #512).
Valeur actuelle (nombre / NaN si non encore attribuée, ou résultat d’expression).
Source / dernière écriture — ligne du programme où la variable a été modifiée pour la dernière fois (si liée).
Format — valeur brute et, si nécessaire, valeur formatée (ex. 30 → 30.0).
Fonctionnement
Le parseur calcule ou diffère le calcul des expressions impliquant des variables # lors du prétraitement.
Le simulateur met à jour la table à chaque affectation #i = ... et lors de l’entrée / sortie des sous-programmes ou boucles.
Dépendances différées (par ex. X[#100]) sont recalculées quand #100 change,
ce qui est reflété dans la table.
Portées et particularités
#100–#199 — variables locales pour la session de programme / simulation.
#500–#531 — variables communes (pseudo-persistantes), conservées durant l’exécution actuelle du simulateur.
Système (#0, etc.) : affichées lorsqu’elles sont utilisées dans des expressions ou des lectures.
Initialisation : les variables non initialisées apparaissent comme vides / NaN jusqu’à leur première affectation.
Interaction
Pause / étape : mettez la simulation en pause et exécutez-la ligne par ligne pour observer les changements de valeurs.
Filtre rapide : affichez uniquement les indices utilisés (ex. #100, #101, #500).
Réinitialiser les valeurs : utilisez le bouton Réinitialiser (si disponible) pour effacer les variables locales / communes avant un nouveau lancement.
Exemples d’utilisation
#100 = ROUND[#101 + 10]
IF [#100 GT 50] THEN GOTO 120
WHILE [#9 LT #20] DO1
#9 = #9 + 1
END1
G65 P1000 A1 B#100 (Paramètres du sous-programme : #1, #2, ...)
Dans ces exemples, la table vous permet de visualiser les étapes d’arrondi, les incréments de compteur de boucle
et les valeurs transmises à G65, facilitant ainsi la vérification de la logique.
Bonnes pratiques
Initialisez les variables avant utilisation (#9 = 0) — cela rend la table plus prévisible.
Évitez les dépendances cachées (réaffectations profondes dans les sous-programmes sans commentaires).
Commentez les affectations clés — la table affichera la ligne source, ce qui facilite la navigation.
Table des variables avant la simulation :
Table des variables pendant la simulation :
Limitations et remarques
Certaines variables système peuvent être en lecture seule — leurs valeurs dépendent de la configuration du simulateur.
Les expressions profondément imbriquées sont évaluées étape par étape ; avec une syntaxe incorrecte, la valeur peut devenir NaN — vérifiez le journal de prétraitement.
La réinitialisation de la simulation efface la table des variables locales (les variables communes dépendent des paramètres de la session actuelle).