За услугата 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