# CNC Code — Исправления в постоянных циклах токарного станка (сентябрь 2026)

# CNC Code — Исправления в постоянных циклах токарного станка (сентябрь 2026)

Antonio Benedetto
Antonio Benedetto
19/09/2026 6 min di lettura 609 visualizzazioni

Почему это обновление

Пользователь сообщил нам, что симулятор отклонял правильно написанный цикл черновой обработки G71, указывая на отсутствие параметра, который на самом деле присутствовал в строке. Он был прав. Мы проверили этот случай, а затем расширили проверку на все постоянные циклы токарного станка, проведя систематическую кампанию тестирования: для каждого цикла мы взяли варианты синтаксиса, встречающиеся в руководствах Fanuc (серии 0T/6T/10T/11T/15T и серии 0i/16i/18i/21i/31i) и в учебных пособиях, и выполнили их одну за другой в симуляторе, проверяя, что происходило.

Результатом стала серия исправлений, которые делают интерпретатор более верным поведению реальной стойки: синтаксис, работающий в цехе, должен работать и в симуляторе, а когда строка действительно ошибочна, сигнал тревоги должен указывать на то, чего действительно не хватает, а не на что-то другое.

Исправления касаются движка интерпретации, который единый для всех платформ: поэтому они действуют на десктопе (Windows, macOS, Linux), планшете и смартфоне в одной и той же версии.


G71 / G72 — Циклы продольной и торцевой черновой обработки

До. Первый блок цикла распознавался только в том случае, если он содержал и глубину прохода (U для G71, W для G72), и отвод R. G71 U2 без R — синтаксис, допустимый на Fanuc, где R является необязательным, а отвод берётся из параметра 5133, — не распознавался: в следующем блоке симулятор выдавал сообщение "отсутствует параметр U" при том, что U была прописана в строке. То же самое происходило с однострочным форматом G71 P.. Q.. U.. W.. D.. F.., используемым на более старых стойках Fanuc и во многих учебных пособиях, где D означает глубину прохода.

Теперь.

  • Блок 1 распознаётся при наличии только U (или W для G72); R необязательна, отвод по умолчанию 0,5 мм, если он не указан.
  • Однострочный формат с D принимается. D без точки после запятой означает микроны (D2000 = 2 мм), с точкой — миллиметры (D2.0 = 2 мм), как на стойке.
  • Если блок 1 действительно отсутствует, сигнал тревоги ясно сообщает об этом: "отсутствует блок 1 G71 (G71 U.. R..) перед G71 P.. Q.., либо глубина D в однострочном формате".
  • Добавлена проверка: D должна быть больше нуля.

Проверено тестами на паритет: три варианта синтаксиса (два блока с R, два блока без R, одна строка) оставляют одинаковый профиль на детали, точка в точку, как на канале 1, так и на противошпинделе.


G76 — Цикл нарезания резьбы

Здесь проблемы были серьёзнее, так как в некоторых случаях симулятор ничего не сообщал и просто не выполнял резьбу.

До. Два блока распознавались с жёстким сравнением всей строки: G76 P Q R и G76 X Z P Q F в этом точном порядке, со всеми обязательными параметрами.

  • Блок 1 без R, с R перед Q, или с Q, написанной с десятичной точкой: сигнал тревоги "P должна быть 6-значной, найдено P010060", при этом P была абсолютно правильной.
  • Блок 2 с F перед P и Q, с R конусности, с инкрементальными U/W, с Z перед X, с Q перед P, с P и Q в миллиметрах, либо в однострочном формате G76 X Z K D F A, используемом на Fanuc 0T/10T: ни сигнала тревоги, ни цикла. Резьба не нарезалась.
  • Блок 2 без Z: сигнал тревоги был корректным, но цикл всё равно запускался.

Теперь.

  • Слова могут располагаться в любом порядке, с пробелами или без, заглавными или строчными буквами.
  • Блок 1: G76 P{mmrraa} [Q..] [R..]. Q и R необязательны. P должна содержать 6 цифр и считывается так, как написана, включая начальные нули.
  • Блок 2: G76 X|U.. Z|W.. P|K.. Q|D.. F|E.. [R|I..] [A..]. Принимаются как двухблочный формат серии 0i/31i (P — высота резьбы, Q — первая проходка), так и однострочный формат серии 0T/10T/15T (K — высота, D — первая проходка, A — угол). E принимается как шаг чистовой проходки.
  • P, Q, K, D без десятичной точки означают микроны (P920 = 0,92 мм), с точкой — миллиметры.
  • Инкрементальные U и W вычисляются от текущей позиции инструмента.
  • Если отсутствует ось прихода, шаг, высота резьбы или первая проходка, сигнал тревоги указывает на недостающий параметр, и цикл не запускается.
  • Конусность (R в двухблочном формате, I в однострочном) считывается, но пока не моделируется: резьба выполняется цилиндрической.

Проверено тестами на паритет: восемь разных синтаксисов блока 2 и три варианта блока 1 дают одинаковую резьбу M48×3, замеренную каждые 0,25 мм, на обоих каналах.


G74, G75, G83, G84, G85, G88, G89 — Циклы сверления, канавок, нарезания резьбы метчиком, растачивания

До.

  • Блок 2 принимал только абсолютные координаты X и Z. С инкрементальными U или W цикл не запускался, и строка выполнялась как линейное перемещение в рабочем режиме, без сигнала тревоги.
  • Слова P и Q всегда интерпретировались в микронах: Q5.0, написанная в миллиметрах, превращалась в подачу 0,005 мм.
  • G89 (радиальное растачивание по диаметру) был реализован, но не значился среди распознаваемых кодов и вызывал сигнал тревоги "код G не поддерживается".

Теперь.

  • U и W принимаются в блоке 2 всех этих циклов и приводятся к абсолютным координатам от текущей позиции вершины инструмента на активном канале.
  • P и Q подчиняются единому правилу: без десятичной точки — микроны, с точкой — миллиметры. Правило одинаково для всех циклов (G71, G72, G74, G75, G76, G83).
  • G89 распознаётся.

Проверено тестами на паритет: сверление G83 с Z-30, с W-35 от позиции Z5 и с Q10.0 даёт одинаковое отверстие; канавка G75 с X80 Z-20 и с U-24 W-10 от позиции X104 Z-10 даёт одинаковую канавку.


Парсер G-кода — Числа с начальной точкой

Значения, написанные без нуля перед точкой, такие как X.5, R.05 или U-.2, допустимы на Fanuc, но парсер их не считывал и обрабатывал как ноль. Теперь они считываются правильно для всех слов.


Что НЕ изменилось

  • Логика расчёта циклов (проходы, глубины, отводы, порядок нарезания резьбы) осталась прежней. Исправления касаются распознавания синтаксиса и качества сигналов тревоги.
  • Уже написанные программы в стандартном двухблочном формате продолжают работать точно так же.

В разработке

Постоянные циклы системы G-код A токарных станков Fanuc (G90 цикл точения, G92 цикл нарезания резьбы, G94 цикл подрезки торца), широко используемые в обучении, пока не смоделированы. Они следующие в плане.


Как сообщить об аномалии

Если вы обнаружите строку программы, которую симулятор отклоняет или выполняет иначе, чем реальная стойка, откройте обращение через встроенную в приложение поддержку (меню Поддержка, создание тикета), приложив программу: мы используем её напрямую как тестовый случай. Именно так появился каждый исправленный в этом обновлении цикл.

Поделиться

Подписывайтесь