О сервисе NCPlayer:
Меню Файл
Меню Правка
Меню Вид
Меню Форматирование
Меню Инструменты
Меню Конфигурация станка
Совместная работа

Поддерживаемые коды и возможности парсера


Раздел Поддерживаемые коды и возможности парсера описывает весь функционал интерпретатора G-кода в NCPlayer, включая поддерживаемые форматы команд, модальные группы, макропрограммирование, арифметику, условия, циклы и расширенные функции. Парсер спроектирован для работы с управляющими программами в стиле FANUC (в частности, 0i-MB), но также совместим с другими контроллерами при корректной настройке.

1. Поддерживаемые форматы G/M-кодов

  • G-коды:
    • Стандартные модальные группы:
      • G0 — ускоренное перемещение.
      • G1 — линейная интерполяция.
      • G2 / G3 — круговая интерполяция CW/CCW с поддержкой:
        • Параметра R (радиус дуги).
        • Параметров I, J, K (центр дуги в ABS или INC режиме).
        • Плоскостей G17, G18, G19.
      • G17 / G18 / G19 — выбор плоскости обработки.
      • G20 / G21 — выбор единиц (дюймы/мм).
      • G40 / G41 / G42 — компенсация радиуса инструмента.
      • G43 / G44 — компенсация длины инструмента.
      • G49 — отмена компенсации длины.
      • G54 – G59 — системы координат (включая расширенные G54.1 Px).
      • G90 / G91 — абсолютный / относительный режим.
      • G98 / G99 — возврат в циклах сверления (начальная точка / плоскость R).
    • Циклы сверления: G73, G74, G76, G80, G81, G82, G83 с поддержкой параметров X, Y, Z, R, Q, F.
    • Специальные коды: G65 (вызов макроподпрограммы с аргументами).
  • M-коды:
    • Управление шпинделем: M3, M4, M5.
    • Охлаждение: M7, M8, M9.
    • Программные остановы: M0, M1, M2, M30.
    • Работа с подпрограммами: M98 (вызов), M99 (возврат).

2. Поддержка макропрограммирования

  • Локальные переменные: #1 – #33 (сбрасываются по M99 при активированном параметре).
  • Общие переменные: #100 – #199.
  • Глобальные переменные: #500 – #531.
  • Системные переменные: в соответствии с FANUC (например, #5001 для текущей позиции X).
  • Математические операции:
    • Сложение, вычитание, умножение, деление, возведение в степень.
    • Приоритет скобок и вложенные вычисления.
  • Функции FANUC:
    • SIN, COS, TAN, ASIN, ACOS, ATAN.
    • ABS, ROUND, FIX, FUP, MOD, SQRT.
    • Поддержка вложенных функций, например: SIN[FIX[#100+0.4]].
  • Адресная подстановка в командах: X[#500], F[#101+10] и др.

3. Логические конструкции

  • IF [условие] GOTO Nxxx — переход по номеру строки.
  • IF [условие] THEN ... — выполнение команды при истинном условии.
  • Логические операторы: AND, OR, XOR (вложенные условия до 3 уровней).
  • Сравнения: EQ, NE, GT, LT, GE, LE.
  • WHILE [условие] DOx ... ENDx — циклы с условием.
  • Счётчики циклов и защита от бесконечных повторений.

4. Подпрограммы

  • Определение подпрограмм: Oxxxx.
  • Вызов: M98 Pxxxx Lnn — с поддержкой аргументов L.
  • Возврат: M99 (с очисткой локальных переменных при активном параметре).
  • Поддержка G65 Pxxxx с передачей аргументов (A, B, C... H, I и т.д.) напрямую в локальные переменные.
  • Рекурсивные вызовы с контролем глубины стека.

5. Прочие возможности

  • Поддержка абсолютного (G90) и относительного (G91) режимов в одной программе.
  • Автоматическая нормализация кода: выравнивание пробелов, удаление лишних EOB, корректная обработка комментариев.
  • Прямое преобразование формата дуг:
    • R → IJK (ABS или INC режим).
    • IJK → R.
  • Парсинг с предварительной подстановкой переменных перед симуляцией.
  • Развёртка подпрограмм (inline expand) для симуляции с полной траекторией.
Примечание: Парсер NCPlayer постоянно развивается. В новых версиях планируется расширение поддержки специфичных кодов для контроллеров Syntec, Siemens и других.
NCPlayer - Поддерживаемые коды и возможности парсера
CNCPassport © MEBLEOS © 2026 · Ver 1.0 · Terms & Conditions | Privacy Policy | Cookie Policy | Refund Policy Legal information | Privacy Policy