Таблиця макрозмінних у 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 (якщо доступна), щоб очистити локальні та загальні змінні перед повторним запуском.