Таблицата на макро променливите в NCPlayer е интерактивен панел, който показва текущите стойности на
#100–#199 (локални/дефинирани от потребителя) и #500–#531 (общи/постоянни) променливи, както и системните променливи,
използвани в изрази, условия и цикли на G-кода. Таблицата се обновява в реално време по време на симулация
и помага за анализиране на логиката на макро програмите, отстраняване на грешки в изчисленията и проследяване на странични ефекти.
Предназначение
Отстраняване на логически грешки: лесно виждате как се променят променливите при изпълнение на #i = ..., IF, WHILE/DO/END, G65, M98/M99.
Анализ на изрази: наблюдавайте входните и изходните стойности при използване на SIN/COS/ROUND/FIX/FUP/ABS/SQRT/....
Повторяемост: бързо нулиране на стойностите на променливите за повторно изпълнение от „чисто“ състояние.
Показвана информация
Индекс на променливата (например #100, #512).
Текуща стойност (число/NaN, ако все още не е зададена, или резултат от израз).
Източник/последна промяна — редът в програмата, където променливата е била последно променена (ако е налична връзка).
Формат — сурова стойност и, ако е необходимо, форматирана стойност (например 30 → 30.0).
Как работи
Парсерът по време на предварителната обработка изчислява и/или отлага изчисляването на изрази, включващи променливи #.
Симулаторът по време на поетапно изпълнение актуализира таблицата при всяко присвояване #i = ... и при влизане/излизане от подпрограми или цикли.
Отложени зависимости (например X[#100]) се преизчисляват, когато #100 се промени, и това се отразява в таблицата.
Обхват и особености
#100–#199 — локални променливи за програмата/сесията на симулация.
#500–#531 — общи (псевдо-постоянни) променливи, които се запазват в рамките на текущото изпълнение на симулатора.
Системни (#0 и др.): показват се, когато се използват в изрази или при операции за четене.
Инициализация: неинициализираните променливи се показват като празни/NaN, докато не им бъде зададена стойност.
Взаимодействие
Пауза/стъпка: спрете симулацията и преминавайте през редовете един по един, наблюдавайки как се променят стойностите.
Бърз филтър: показвайте само индексите, които използвате (например #100, #101, #500).
Нулиране на стойности: използвайте бутона Reset (ако е наличен), за да изчистите локалните/общите променливи преди повторно изпълнение.
Примери за използване
#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 (Параметри към подпрограмата: #1, #2, ...)
В тези примери таблицата ви позволява да видите стъпките на закръгляне, увеличаването на брояча в цикъла
и стойностите, предадени на G65, което улеснява проверката на логиката.
Добри практики
Инициализирайте променливите преди употреба (#9 = 0) — това прави таблицата предсказуема.
Избягвайте скрити зависимости (повторни присвоявания дълбоко в подпрограми без коментари).
Коментирайте ключовите присвоявания — таблицата ще показва изходния ред, което ви помага да се ориентирате по-бързо.
Таблица на променливите преди симулация:
Таблица на променливите по време на симулация:
Ограничения и бележки
Някои системни променливи може да са само за четене — техните стойности зависят от конфигурацията на симулатора.
Дълбоко вложени изрази се изчисляват поетапно; при грешен синтаксис стойността може да стане NaN — проверете лога на предварителната обработка.
Нулирането на симулацията изчиства таблицата с локални стойности (общите променливи — според текущите настройки на сесията).