Про сервіс NCPlayer:
Меню Файл
Меню Редагування
Меню Вигляд
Меню Форматування
Меню Інструменти
Меню Конфігурація верстата
Спільна робота

Робота з таблицею макрозмінних


Таблиця макрозмінних у NCPlayer — це інтерактивна панель, що відображає поточні значення #100–#199 (локальні / користувацькі) та #500–#531 (загальні / постійні) змінних, а також системних змінних, які використовуються у виразах, умовах і циклах G-коду. Таблиця оновлюється в реальному часі під час симуляції й допомагає аналізувати логіку макропрограми, налагоджувати обчислення та відстежувати побічні ефекти.

Призначення

  • Налагодження логіки: легко бачити, як змінюються змінні під час виконання #i = ..., IF, WHILE/DO/END, G65, M98/M99.
  • Аналіз виразів: спостерігайте за вхідними та вихідними значеннями при використанні функцій SIN/COS/ROUND/FIX/FUP/ABS/SQRT/....
  • Відтворюваність: швидко скидайте значення змінних для повторного запуску з «чистого» стану.

Відображена інформація

  • Індекс змінної (наприклад, #100, #512).
  • Поточне значення (число або NaN, якщо ще не присвоєно, або результат виразу).
  • Джерело / останній запис — рядок програми, у якому змінну востаннє було змінено (якщо пов’язано).
  • Формат — сире значення та, за потреби, відформатоване (наприклад, 3030.0).

Як це працює

  1. Парсер під час попередньої обробки обчислює або відкладає обчислення виразів, що містять змінні #.
  2. Симулятор під час покрокового виконання оновлює таблицю на кожному присвоєнні #i = ... та при вході/виході з підпрограм або циклів.
  3. Відкладені залежності (наприклад, 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) — це робить таблицю передбачуваною.
  • Уникайте прихованих залежностей (повторних присвоєнь глибоко всередині підпрограм без коментарів).
  • Коментуйте ключові присвоєння — таблиця покаже рядок джерела, що допоможе швидше орієнтуватися.

Таблиця змінних перед симуляцією:

NCPlayer

Таблиця змінних під час симуляції:

NCPlayer

Обмеження та примітки

  • Деякі системні змінні можуть бути лише для читання — їхні значення залежать від конфігурації симулятора.
  • Складно вкладені вирази обчислюються покроково; при неправильному синтаксисі значення може стати NaN — перевірте журнал попередньої обробки.
  • Скидання симуляції очищує таблицю локальних змінних (загальні — відповідно до налаштувань поточної сесії).
CNCPassport © MEBLEOS © 2026 · Ver 1.0 · Terms & Conditions | Privacy Policy | Cookie Policy | Refund Policy Legal information | Privacy Policy