Производство по чертежам Подбор аналогов Цены производителя Оригинальная продукция в короткие сроки
INNERпроизводство и поставка промышленных комплектующих и оборудования
Отзыв ★★★★★ Будем благодарны за отзыв в Яндексе — это помогает нам развиваться Оставить отзыв →
Правовая информация Условия использования технических материалов и калькуляторов Правовая информация →
INNER
Контакты

Калькулятор G-кодов ЧПУ

Калькулятор G-кодов ЧПУ — inner.su

Калькулятор и анализатор G-кодов ЧПУ

Проверка синтаксиса, визуализация траектории, расчёт диапазонов заготовки и конвертация координат. Поддержка диалектов Fanuc, Siemens, Heidenhain, LinuxCNC. Справочник по ГОСТ 20999-83.

Загрузите программу одним из способов:
Перетащите файл .nc, .gcode, .tap или .cnc в редактор слева, вставьте код из буфера обмена, или попробуйте готовый пример:
Программа
1

                    
                
Визуализация траектории
G0 — ускоренное (холостой ход)
G1 — линейная (рабочая подача)
G2/G3 — дуги
X диапазон
Y диапазон
Z диапазон
Путь рабочий
Путь холостой
Дуг
0
Смен инстр.
0
Строк
0
Экспорт отчёта:
Введите G-код для проверки
Координаты G90 ↔ G91
Преобразовать программу в:
Единицы G20 ↔ G21
Перевести числовые значения в:
Внимание: пересчитываются все XYZIJKRF. Сохраняйте резервную копию исходника.
Безопасная строка
Защищает от modal-leftovers: явно задаёт плоскость, отменяет компенсации, цикл, переходит в абсолют и мм.
Тип станка
Введите G-код для расчёта времени
О точности расчёта. Расчёт использует упрощённую трапецеидальную модель ускорения без полноценного look-ahead и S-curve. Реальные стойки (Fanuc AI Contour Control, Siemens Advanced Surface) считают точнее за счёт проприетарных алгоритмов сглаживания. Ожидаемая погрешность: ±15–25% для типичных программ, до ±50% на программах с очень короткими сегментами или нестандартными ускорениями. Источник модели: Erkorkmaz K., Altintas Y. (2001), Ward R. et al., Int. J. Adv. Manuf. Technol. 116 (2021).

Пресеты — типовые усреднённые параметры по cadem.com и отраслевым обзорам, а не паспортные данные конкретных станков. Для точного расчёта впишите параметры вашего станка (требует доработки калькулятора).
Интерполяция дуги: I,J ↔ R
Введите координаты начала и конца дуги. Калькулятор посчитает I,J (вектор к центру) по радиусу R и наоборот.
Обратное преобразование (I,J → R): если знаете I и J — введите их в формулу R = √(I² + J²). I — смещение центра от начала по X, J — по Y.
Конвертер единиц
Длина: = 1″ = 25.4 мм
Подача: = IPM = мм/мин ÷ 25.4
Обороты:
SFM = RPM · π · D / 304.8, где D — диаметр инструмента в мм. Введите диаметр и RPM — получите SFM.
Режимы резания → S, F
Расчёт оборотов S и подачи F из скорости резания Vc и подачи на зуб fz. Значения Vc и fz берутся из каталога производителя инструмента (Sandvik, Iscar, SECO и т.п.).
Формулы: S = 1000 · Vc / (π · D) [об/мин], F = S · fz · z [мм/мин]. Vc — скорость резания (м/мин), fz — подача на зуб (мм/зуб), D — диаметр инструмента (мм), z — число зубьев.

Этот онлайн-инструмент проверяет управляющие программы для металлорежущих станков прямо в браузере — без установки, регистрации и загрузки файлов на сервер. Анализатор разбирает синтаксис по ГОСТ 20999-83 и ISO 6983-1:2009, рисует траекторию движения инструмента, считает диапазоны заготовки, оценивает время обработки с учётом ускорений и подсказывает типовые ошибки до того, как УП уйдёт в производство.

Анализатор полезен и оператору перед запуском новой УП, и технологу при проверке постпроцессора, и студенту, который только осваивает программирование обработки. Поддерживаются программы под Fanuc, Siemens SINUMERIK, Heidenhain TNC и LinuxCNC — с подсказками о различиях диалектов в реальном времени.

Что делает калькулятор

  • Подсветка синтаксиса — G-коды, M-коды, координаты, подачи и комментарии разделены цветом для быстрого визуального контроля.
  • Визуализация траектории на 2D-канвасе с переключением плоскостей XY, XZ, YZ. Холостые ходы G0 — красный пунктир, рабочая подача G1 — синяя линия, дуги G2/G3 — зелёная кривая.
  • Проверка программы: отсутствие подачи F при G1, незаданные единицы G20/G21, пропущенные G90/G91, незакрытая компенсация G41/G42, незавершённые циклы сверления, отсутствие M30 в конце.
  • Расчёт диапазонов по осям X, Y, Z — габариты заготовки сразу видны в правой панели.
  • Оценка времени выполнения для шести типов оборудования: от хобби-фрезера до промышленного VMC и высокоскоростной обработки HSM.
  • Конвертеры: абсолютная система G90 ↔ относительная G91, миллиметры G21 ↔ дюймы G20, расчёт I и J по радиусу R, перевод RPM ↔ SFM, режимов резания в обороты и подачу.
  • Справочник команд по ГОСТ 20999-83 — с пояснениями на русском и заметками о различиях между диалектами стоек.

Структура и команды G-кода

G-код описан в международном стандарте ISO 6983-1:2009 и его российском соответствии — ГОСТ 20999-83 «Устройства числового программного управления для металлообрабатывающего оборудования. Кодирование информации управляющих программ». Программа состоит из последовательности кадров (блоков), каждый из которых начинается с необязательного номера N и содержит слова — буквы с числовыми значениями.

N100 G1 X50.0 Y20.0 F500
│ │ │ │ │
│ │ │ │ └─ подача 500 мм/мин
│ │ │ └─────── координата Y
│ │ └───────────── координата X
│ └──────────────── линейная интерполяция
└───────────────────── номер кадра

Команды делятся на модальные (действуют до отмены другой командой той же группы) и одноразовые (срабатывают только в текущем кадре). Например, G1 остаётся активным до следующего G0, G2 или G3, а G4 (пауза) выполняется только в своём блоке. Большинство аварий на станке связаны именно с тем, что оператор забыл предыдущий модальный режим — например, оставил G91 (приращения) от прошлого фрагмента и получил линейные перемещения там, где ожидал абсолютные координаты.

Основные команды

КодНазначениеГруппа
G0Холостое позиционирование на максимальной скоростиМодальная 1
G1Линейная интерполяция с рабочей подачей FМодальная 1
G2Дуга по часовой стрелкеМодальная 1
G3Дуга против часовой стрелкиМодальная 1
G17 / G18 / G19Выбор плоскости интерполяции XY / XZ / YZМодальная 2
G20 / G21Дюймы / миллиметрыМодальная 6
G40 / G41 / G42Отмена / левая / правая компенсация радиуса инструментаМодальная 7
G54–G59Рабочие системы координат (смещения нуля)Модальная 12
G80 / G81–G89Отмена цикла / постоянные циклы сверленияМодальная 9
G90 / G91Абсолютные / относительные координатыМодальная 3
M3 / M4 / M5Шпиндель CW / CCW / стоп
M6Смена инструмента
M8 / M9Включение / выключение СОЖ
M30Конец программы и сброс

Дуги G2 и G3: расчёт I и J по радиусу

Самая частая авария в УП — некорректно записанная дуга, когда станок останавливается с ошибкой «vector to center invalid» или ведёт инструмент по неправильной траектории. Дуга задаётся двумя способами: через смещения I и J от стартовой точки к центру (формат IJK), либо через радиус R. Калькулятор поддерживает оба формата и помогает перейти от одного к другому.

R = √(I² + J²)
I = Xцентр − Xстарт
J = Yцентр − Yстарт
Пример. Четверть окружности радиусом 10 мм от точки (10, 0) к точке (0, 10) против часовой стрелки (G3). Центр расположен в (0, 0), значит I = 0 − 10 = −10, J = 0 − 0 = 0. Длина дуги πR/2 = 15.708 мм.
G3 X0 Y0 I-10 J0 F300
В калькуляторе откройте вкладку «Калькуляторы» → «Интерполяция дуги», подставьте координаты — инструмент посчитает I и J автоматически, проверит геометрию и предупредит, если радиус физически не позволяет соединить две точки (когда хорда длиннее 2R).

Расчёт времени и пресеты станков

Наивная формула «длина пути ÷ подача» занижает реальное время на 10–40 процентов на программах с короткими сегментами или высокой подачей — потому что станок физически не успевает разогнаться до заданной F. Калькулятор использует трапецеидальную модель: для каждого участка считается фаза разгона, крейсерская скорость и торможение, на стыках сегментов скорость падает по углу между ними.

Тип станкаХолостые, мм/минПодача, мм/минУскорение, мм/с²
Хобби-CNC (3018, Genmitsu)30002000200 (≈ 0.02g)
Фрезерный портал 1.5–3 кВт80004000800 (≈ 0.08g)
Промышленный VMC (HAAS, DMG)20 00010 0004900 (≈ 0.5g)
High-speed VMC (HSM)36 00015 0009810 (≈ 1g)
Токарный (Fanuc 0i-T)15 00080002000 (≈ 0.2g)
16К20Ф3 модернизированный (NC-201M)60003000500 (≈ 0.05g)
Пример сравнения. Программа фрезерования квадрата 50×50 мм с подачей 500 мм/мин: рабочий путь 203 мм, холостой 74 мм, 11 блоков. На промышленном VMC калькулятор даёт наивную оценку 26.0 секунды и реальную 26.2 секунды — поправка минимальна, потому что подача низкая и сегменты длинные. А вот при обработке поверхности из сотен коротких отрезков 1–3 мм с подачей 5000 мм/мин на промышленном VMC разница уже доходит до 40 процентов: 2.5 секунды против 3.5 — станок не успевает достичь заданной скорости на коротких ходах.
Откуда модель. Трапецеидальный профиль скорости описан в работах Erkorkmaz K., Altintas Y. («High Speed CNC System Design», 2001) и Ward R. et al. («Accurate prediction of machining feedrate and cycle times», Int. J. Adv. Manuf. Technol. 116, 2021). Реальные стойки Fanuc AI Contour Control и Siemens Advanced Surface используют S-curve и look-ahead — поэтому погрешность нашей оценки ±15–25 процентов для типичных программ.

Режимы резания: расчёт S и F

Чтобы перевести табличные значения скорости резания Vc и подачи на зуб fz из каталога производителя инструмента в команды M3 Sxxx и G1 Fxxx, используются две простые формулы.

S = 1000 · Vc / (π · D) — обороты шпинделя, об/мин
F = S · fz · z — подача, мм/мин

Здесь Vc — скорость резания в метрах в минуту, D — диаметр инструмента в миллиметрах, fz — подача на зуб в миллиметрах, z — число зубьев фрезы.

Пример. Концевая фреза диаметром 10 мм, 2 зуба, материал — алюминий. Из каталога Sandvik для алюминия Vc = 200 м/мин, fz = 0.05 мм/зуб.

S = 1000 · 200 / (3.1416 · 10) = 6366 об/мин
F = 6366 · 0.05 · 2 = 637 мм/мин

В программе: M3 S6366 и G1 ... F637. Значения Vc и fz нужно брать из datasheet конкретной фрезы — они зависят от материала заготовки, типа покрытия и геометрии режущей части.

Типовые ошибки в управляющих программах

По обзорам форумов chipmaker.ru, cnc-club.ru, Practical Machinist и CNCZone, к авариям чаще всего приводят одни и те же восемь причин. Анализатор проверяет программу на их наличие до запуска.

ОшибкаЧто произойдётПрофилактика
Забыт G90 после блока с G91Перемещения по приращениям там, где ждали абсолютные — крах в стол или столкновениеБезопасная строка в начале и после каждой смены инструмента
Не задана подача F перед G1Станок выполнит ход с нулевой подачей или с подачей предыдущей операции (например, резьбонарезания)F указывается в первом же кадре с G1 после смены инструмента
Неверные I и J в дуге G2/G3«Vector to center invalid», станок зависает или ведёт по неправильной траекторииПроверка через калькулятор интерполяции I, J или R
Не выбраны единицы G20/G21Стойка трактует X1.0 как 1 мм или 1 дюйм в зависимости от настроек — масштаб ×25.4G21 (или G20) в безопасной строке начала
Дуга в неверной плоскостиG17 активна, но дугу нужно было в плоскости XZ — резец идёт мимоG17 / G18 / G19 указываются явно
Компенсация G41/G42 без отмены G40Следующий контур съезжает на радиус инструментаG40 перед сменой инструмента и в конце программы
Цикл сверления G81 не отменён G80Следующий ход интерпретируется как новое отверстие — врезаниеG80 после последней позиции цикла
Нет M30 в концеСтойка не возвращается в исходное состояние, модальные настройки остаются для следующей программыM5, M9, M30 как стандартное окончание
Безопасная строка. В начале программы и после каждой смены инструмента полезно вставлять явный сброс модальных режимов: G17 G40 G49 G80 G90 G21. Это отменяет компенсации, выключает циклы, переводит в абсолютные координаты и миллиметры — независимо от того, в каком состоянии стойка осталась после предыдущей программы. В калькуляторе кнопка «Безопасная строка» вставляет этот блок одним нажатием.

Диалекты стоек: Fanuc, Siemens, Heidenhain, LinuxCNC

Базовый набор G-кодов одинаков на всех стойках, но детали отличаются — формат комментариев, способ записи подпрограмм, циклы сверления, имена макропеременных. Самые частые различия:

ЧтоFanucSiemensHeidenhainLinuxCNC
Комментарии(текст);текст;текст(текст) или ;
ПодпрограммыM98 P1000CALL имяCALL LBLO100 sub
Цикл сверленияG81 X Y Z R FCYCLE81(...)CYCL DEF 200G81
Макропеременные#1, #100R1, R100Q1, Q100#1
Десятичная точкаОбязательнаОпциональноОбязательнаОпционально

В калькуляторе при наведении курсора на G-команду в редакторе появляется подсказка с расшифровкой по ГОСТ 20999-83 и краткой заметкой о различиях между диалектами. Например, G81 в Fanuc и LinuxCNC использует один и тот же синтаксис с параметрами X, Y, Z, R, F, а в Siemens — это вызов функции CYCLE81 с другим порядком и набором параметров.

Как пользоваться

  1. Загрузите программу — перетащите файл .nc, .gcode, .tap, .cnc, .ngc, .mpf или .h в редактор слева, нажмите «Загрузить» или вставьте код из буфера обмена. Программа автоматически сохраняется в браузере — при следующем открытии страницы она вернётся.
  2. Изучите траекторию на канвасе справа. Переключайте плоскости XY / XZ / YZ кнопками над графиком. Клик по любому сегменту траектории подсвечивает соответствующую строку в коде — удобно для поиска подозрительных движений.
  3. Проверьте раздел «Анализ проблем» внизу — там перечислены все найденные несоответствия с указанием номера строки.
  4. Откройте «Время выполнения», выберите пресет станка — увидите оценку времени с учётом физики ускорений, разбивку по типам движений и сравнение с наивным расчётом.
  5. Используйте вкладку «Калькуляторы» для пересчёта дуг (I, J ↔ R), конвертации единиц и расчёта режимов резания.
  6. Экспортируйте отчёт в Word или Excel — сводка диапазонов, путей, найденных проблем, времени выполнения и текста программы попадает в файл, который можно подшить к технологической карте.

Частые вопросы

Как проверить G-код без станка?

Откройте программу в этом онлайн-калькуляторе: он разберёт синтаксис, нарисует траекторию инструмента, посчитает диапазоны и подсветит ошибки. Это не заменяет полную симуляцию съёма металла в платных пакетах вроде Vericut, но закрывает 80 процентов типовых проверок — модальные конфликты, дуги, пропущенные параметры, отсутствие конца программы.

Какой формат файлов поддерживается?

Расширения .nc, .gcode, .tap, .cnc, .txt, .ngc (LinuxCNC), .mpf (Siemens) и .h (Heidenhain). Кодировка — UTF-8 или ASCII. Максимальный размер файла 5 мегабайт, что покрывает большинство реальных производственных программ.

Почему время в калькуляторе отличается от времени на станке?

Калькулятор использует упрощённую трапецеидальную модель ускорения. Реальные контроллеры — Fanuc AI Contour Control, Siemens Advanced Surface — применяют look-ahead и сглаживание углов, поэтому могут идти быстрее на 10–25 процентов. Кроме того, пресеты содержат типовые усреднённые параметры, а не паспортные данные конкретного станка. Используйте оценку как ориентир для предкалькуляции стоимости, а не как точное время цикла.

Как перевести программу из миллиметров в дюймы и обратно?

Откройте вкладку «Конвертер» в правой панели и нажмите «G21 (мм)» или «G20 (дюймы)». Все числовые значения координат, подач и радиусов пересчитываются с коэффициентом 25.4. Сохраняйте резервную копию исходника — операция изменяет все числа в программе.

Можно ли загружать в калькулятор корпоративные программы?

Калькулятор работает полностью в браузере: файлы не отправляются на сервер, разбор и отрисовка происходят локально в JavaScript. Программа хранится только в localStorage вашего браузера, очистка истории браузера её удалит.

Что делает безопасная строка G17 G40 G49 G80 G90 G21?

Это набор команд, который явно задаёт начальное модальное состояние станка независимо от того, что осталось после предыдущей программы. G17 включает плоскость XY, G40 отменяет компенсацию радиуса инструмента, G49 — компенсацию длины, G80 закрывает все циклы сверления, G90 переводит в абсолютные координаты, G21 устанавливает миллиметры. Такая строка в начале каждой программы и после каждой смены инструмента — стандартная рекомендация Fanuc и Heidenhain.

В чём разница между G2 и G3?

G2 — дуга по часовой стрелке, G3 — против часовой. Направление определяется относительно положительной оси соответствующей плоскости интерполяции (выбранной через G17, G18 или G19). При одних и тех же координатах начала, конца и центре калькулятор покажет, что G2 и G3 описывают разные дуги — короткую и длинную, в сумме составляющие полную окружность.

Чем отличаются G0 и G1?

G0 — ускоренное перемещение (холостой ход) с максимальной скоростью станка, обычно по диагонали к целевой точке. Используется для подвода и отвода инструмента, когда не происходит резания. G1 — линейная интерполяция с заданной рабочей подачей F, прямая траектория, контролируемая скорость резания. На канвасе калькулятора G0 показан красным пунктиром, G1 — сплошной синей линией.

Что означают I и J в записи дуги G2/G3?

I и J — это смещения от точки начала дуги к её центру по осям X и Y соответственно. Например, запись G2 X10 Y10 I5 J0 означает: дуга по часовой стрелке от текущей позиции к точке (10, 10), центр находится в (текущая_X + 5, текущая_Y). Это альтернатива заданию дуги через радиус R и более универсальный способ — единственный, который позволяет задать полную окружность (при совпадении начала и конца). Калькулятор содержит отдельный инструмент пересчёта между I,J и R.

Почему программа на одном станке работает, а на другом — нет?

Базовый набор G-кодов одинаков по ISO 6983, но производители стоек ЧПУ расширяют его собственными командами и трактуют детали по-разному. Циклы сверления G81 в Fanuc и CYCLE81 в Siemens — разный синтаксис. Подпрограмма вызывается через M98 P в Fanuc, CALL в Siemens, LBL в Heidenhain. Десятичная точка в одних стойках обязательна (без неё X1 = 0.001 мм), в других — опциональна. Перед переносом программы между станками используйте постпроцессор CAM-системы для целевой стойки или ручную адаптацию по таблице соответствий.

Как читать ошибки в анализе программы?

Анализатор показывает три уровня: ошибка (красная плашка) — критическое нарушение, программа в этом виде на станке скорее всего не сработает или сработает неправильно; предупреждение (жёлтая плашка) — программа выполнится, но содержит подозрительный момент, который стоит проверить; информация (синяя плашка) — рекомендация по улучшению. Каждая запись содержит номер строки с проблемой и текст описания. Кликните по строке слева — она подсветится в редакторе и на канвасе.

Можно ли сохранить отчёт об анализе?

Да, в правой панели под статистикой есть блок «Экспорт отчёта» с тремя кнопками. Word (.doc) формирует документ с заголовками, таблицами и текстом программы — пригоден для печати и подшивки к технологической карте. Excel (.xlsx) выгружает четыре листа: сводку, список проблем, полную траекторию по сегментам и список использованных команд — удобно для дальнейшего анализа. G-код (.nc) сохраняет сам текст программы из редактора в обычный файл.

Какую максимальную программу можно загрузить?

Файл — до 5 мегабайт, программа в редакторе — до 200 000 строк. При вставке слишком большого текста через буфер обмена калькулятор предупредит и не запустит расчёт, чтобы не подвесить браузер. Для типичных программ — даже сложных, со сверлением сотен отверстий и многопроходной обработкой — этого с большим запасом хватает.

Что такое модальная группа и зачем её знать?

Модальная группа — это набор G-команд, из которых одновременно может быть активна только одна. Например, в группе 1 находятся G0, G1, G2, G3 (типы перемещения): включение G1 автоматически отменяет G0, и наоборот. В группе 3 — G90 и G91 (абсолют / приращения). Если в одном кадре указать две команды из одной модальной группы (например, G0 G1 X10), стойка выдаст ошибку «modal group conflict» или возьмёт последнюю. Анализатор калькулятора подсвечивает такие конфликты до отправки программы на станок.

Отказ от ответственности. Калькулятор предназначен для предварительной проверки управляющих программ ЧПУ и образовательных целей. Результаты анализа, визуализация траектории и оценка времени выполнения являются ориентировочными. Перед запуском программы на реальном станке обязательно выполните проверку в нагруженном симуляторе производителя стойки (Fanuc NCGuide, Siemens SinuTrain, Heidenhain TNC Programming Station) или в платном пакете симуляции (Vericut, NCSIMUL, CIMCO Edit). Авторы калькулятора не несут ответственности за поломки оборудования, выход из строя инструмента или порчу заготовок, возникшие в результате использования программ, проверенных только этим онлайн-инструментом. Особенно осторожно следует относиться к программам с макропеременными, подпрограммами и непрямой адресацией — анализатор их не разворачивает.
Нормативные документы и источники:
  1. ГОСТ 20999-83 «Устройства числового программного управления для металлообрабатывающего оборудования. Кодирование информации управляющих программ». Постановление Госстандарта СССР № 1434 от 28.03.1983.
  2. ISO 6983-1:2009 «Numerical control of machines — Program format and definition of address words. Part 1: Data format for positioning, line motion and contouring control systems».
  3. Ловыгин А.А., Теверовский Л.В. «Современный станок с ЧПУ и CAD/CAM-система». ДМК Пресс, 4-е изд., 2014. ISBN 978-5-97060-621-6.
  4. Smid P. «CNC Programming Handbook». Industrial Press, 3rd ed.
  5. FANUC Series 0i-MODEL F / 30i-MODEL B / 31i-MODEL B Programming Manual (B-64304EN, B-64484EN).
  6. Siemens SINUMERIK 828D / 840D sl Programming Manual.
  7. Heidenhain TNC 640 / TNC 620 User's Manual.
  8. LinuxCNC G-Code Reference, linuxcnc.org/docs/html/gcode/g-code.html.
  9. Erkorkmaz K., Altintas Y. «High speed CNC system design. Part I: jerk limited trajectory generation and quintic spline interpolation», International Journal of Machine Tools and Manufacture, 41(9), 2001.
  10. Ward R., Sencer B., Jones B., Ozturk E. «Accurate prediction of machining feedrate and cycle times considering interpolator dynamics», International Journal of Advanced Manufacturing Technology, 116, 2021. DOI: 10.1007/s00170-021-07211-2.
  11. Гжиров Р.И., Серебреницкий П.П. «Программирование обработки на станках с ЧПУ». Машиностроение, 1990.

Заказать товар

ООО «Иннер Инжиниринг»