Die Makrovariablentabelle in NCPlayer ist ein interaktives Panel, das die aktuellen Werte von
#100–#199 (lokal/benutzerdefiniert) und #500–#531 (gemeinsam/persistent) Variablen sowie Systemvariablen anzeigt,
die in Ausdrücken, Bedingungen und G-Code-Schleifen verwendet werden.
Die Tabelle wird in Echtzeit während der Simulation aktualisiert und hilft, die Logik von Makroprogrammen zu analysieren,
Berechnungen zu debuggen und Nebeneffekte zu verfolgen.
Zweck
Logik-Debugging: einfach sehen, wie sich Variablen bei der Ausführung von #i = ..., IF, WHILE/DO/END, G65, M98/M99 ändern.
Ausdrucksanalyse: Eingabe-/Ausgabewerte überwachen bei der Verwendung von SIN/COS/ROUND/FIX/FUP/ABS/SQRT/....
Wiederholbarkeit: Variablenwerte schnell zurücksetzen, um Durchläufe aus einem „sauberen“ Zustand erneut auszuführen.
Angezeigte Informationen
Variablenindex (z. B. #100, #512).
Aktueller Wert (Zahl/NaN, falls noch nicht zugewiesen, oder Ergebnis eines Ausdrucks).
Quelle/letzte Änderung — Programmlinie, in der die Variable zuletzt geändert wurde (falls verknüpft).
Format — Rohwert und ggf. formatierter Wert (z. B. 30 → 30.0).
Funktionsweise
Der Parser berechnet während der Vorverarbeitung Ausdrücke mit #-Variablen und/oder verschiebt deren Berechnung.
Der Simulator aktualisiert während der schrittweisen Ausführung die Tabelle bei jeder #i = ...-Zuweisung und beim Eintritt/Austritt von Unterprogrammen/Schleifen.
Verzögerte Abhängigkeiten (z. B. X[#100]) werden neu berechnet, sobald sich #100 ändert, und in der Tabelle angezeigt.
Bereiche und Besonderheiten
#100–#199 — lokale Variablen für das Programm/die Simulation.
#500–#531 — gemeinsame (pseudo-persistente) Variablen, die innerhalb der aktuellen Simulation erhalten bleiben.
System (#0 usw.): werden angezeigt, wenn sie in Ausdrücken oder Leseoperationen verwendet werden.
Initialisierung: nicht initialisierte Variablen erscheinen als leer/NaN, bis sie erstmals zugewiesen werden.
Interaktion
Pause/Schritt: Simulation anhalten und Zeilen einzeln durchlaufen, um zu beobachten, wie sich die Werte ändern.
Schnellfilter: nur die Indizes anzeigen, die Sie verwenden (z. B. #100, #101, #500).
Werte zurücksetzen: mit der Schaltfläche Zurücksetzen (falls verfügbar) lokale/gemeinsame Variablen vor einem erneuten Durchlauf löschen.
Anwendungsbeispiele
#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 (Parameter für Unterprogramm: #1, #2, ...)
In diesen Beispielen ermöglicht die Tabelle das Nachvollziehen von Rundungsschritten,
Zählererhöhungen in Schleifen und der an G65 übergebenen Werte,
was die Logiküberprüfung erleichtert.
Best Practices
Variablen initialisieren vor der Verwendung (#9 = 0) — so bleibt die Tabelle vorhersehbar.
Vermeiden versteckte Abhängigkeiten (Neuzuweisungen tief in Unterprogrammen ohne Kommentare).
Kommentieren Sie wichtige Zuweisungen — die Tabelle zeigt die Quellzeile an und erleichtert so die Navigation.
Variablentabelle vor der Simulation:
Variablentabelle während der Simulation:
Einschränkungen und Hinweise
Einige Systemvariablen können schreibgeschützt sein — ihre Werte hängen von der Simulator-Konfiguration ab.
Tief verschachtelte Ausdrücke werden Schritt für Schritt ausgewertet; bei falscher Syntax kann der Wert NaN werden — prüfen Sie das Vorverarbeitungsprotokoll.
Das Zurücksetzen der Simulation löscht die lokale Variablentabelle (gemeinsame Variablen — entsprechend den aktuellen Sitzungseinstellungen).