CNC Path Analyzer

Ускоренное перемещение G00 и линейное резание G01: почему они различаются, хотя обе выглядят как прямые

Разница между G00 и G01 с точки зрения скорости, формы траектории, модальности и безопасной высоты, а также чтение последовательности подвода, врезания, резания и отвода на фрезерном примере вместе с рисунком траектории.

Одним предложением

G00 означает «дойти до этой координаты как можно быстрее», а G01 — «дойти туда точно по прямой с заданной подачей F». Обе команды указывают только координаты конечной точки, но принципиально различаются тем, может ли инструмент касаться заготовки.

Разница скоростей G00 и G01

G00 игнорирует значение F в программе и движется со скоростью ускоренного перемещения, заданной для каждой оси в параметрах станка. На обрабатывающем центре она часто достигает десятков метров в минуту. Снизить скорость можно только корректором ускоренного хода на пульте (обычно F0, 25 %, 50 % и 100 %).

G01 всегда требует подачи. Используется F из того же или предыдущего кадра, а единица зависит от того, действует ли G94 (подача в минуту, мм/мин) или G95 (подача на оборот, мм/об). Многие токарные УЧПУ используют для того же G98/G99. Если G01 встретится раньше, чем задана какая-либо F, большинство УЧПУ выдают аварию.

Форма траектории: G00 может быть не прямой

На экране G00 часто рисуют линией между начальной и конечной точками, но реальный станок может вести себя иначе. Дело в том, что по умолчанию многие УЧПУ запускают все оси одновременно, каждую с её максимальной скоростью. Например, если при G00 перемещение по X составляет 100 мм, а по Y — 20 мм, Y придёт первой, а остаток пути будет двигаться только X, и траектория станет ломаной.

В семействе FANUC параметром можно выбрать позиционирование с линейной интерполяцией, но настройка отличается от станка к станку. Поэтому опытные программисты разделяют оси, когда G00 проходит рядом с прихватами или тисками, например сначала поднимают Z, а затем перемещают XY. G00 X-10. Y5. Z50. в примере безопасен лишь при условии, что инструмент уже находится высоко.

Подвод, врезание, резание и отвод на примере

Фрезерная траектория: подвод с безопасной высоты и U-образный паз глубиной 2 мм

O2001
T1 M6
G21 G90 G17 G40 G49 G80 G94
G54
S3000 M03
G00 X-10. Y5. Z50.
Z3.
G01 Z-2. F80
X60. F300
Y25.
X-10.
G00 Z50.
M30
Фрезерная траектория: подвод с безопасной высоты и U-образный паз глубиной 2 мм — XY траекторияXY
Светло-синий пунктир — быстрый ход G00, сплошная оранжевая линия — резание. Дуги показаны как рассчитанные статические кривые.

На рисунке выше показан результат анализа этой программы в CNC Path Analyzer (быстрый ход 3 сегментов, линейное резание 4 сегментов).

Читаем исходный текст построчно

  1. G21 G90 G17 G40 G49 G80 G94: миллиметры, абсолютные координаты, плоскость XY, отмена коррекции на радиус, коррекции длины инструмента и постоянных циклов, подача в минуту. Защитный кадр, сбрасывающий модальное состояние в начале программы.
  2. G00 X-10. Y5. Z50.: ускоренный подвод к точке над заготовкой и за её пределами.
  3. Z3.: всё ещё ускоренно, потому что G00 модальна. Быстро опускается на 3 мм над верхней гранью заготовки (Z0).
  4. G01 Z-2. F80: здесь начинается резание. Это вертикальное врезание, поэтому опускание идёт медленно, с F80.
  5. X60. F300: G01 остаётся в силе, лишь подача поднимается до F300, чтобы прорезать паз по X.
  6. Y25., X-10.: завершают U-образную траекторию с той же G01 и F300.
  7. G00 Z50.: ускоренный отвод на безопасную высоту.

Модальные команды сохраняют действие

G00 и G01 — модальные команды одной группы (группа 01). Однажды заданные, они действуют, пока не появится другой код той же группы (G01, G02, G03, постоянные циклы и т. д.). Поэтому строка только с координатами, как Y25. в примере, работает как рабочее перемещение.

Типичные аварии из-за этого — «G01, принятая за G00», и наоборот. Если при правке программы удалить кадр с G01, а координаты следующей строки лежат внутри заготовки, эта строка будет выполнена в предыдущем режиме G00, и инструмент может войти в заготовку на ускоренном ходу вместо рабочей подачи. Удаляя или переставляя кадры, всегда заново проверяйте, в каком режиме оказываются строки выше и ниже.

Когда что использовать

СитуацияРекомендуетсяПричина
Перемещение к заготовке после смены инструментаG00Инструмент в воздухе, важна экономия времени
Опускание на несколько мм над верхней граньюG00Только если высота заготовки и коррекция длины инструмента точно известны
Первый вход в заготовкуG01 + малая FБережёт режущую кромку и снижает удар при входе
Обработка контура и пазаG01 / G02 / G03Качество определяют заданные скорость и траектория
Отвод после обработкиG00Сначала отойти от обработанной поверхности вертикально, затем перемещаться

Чувство чисел: F и время обработки

Подача в минуту F300 означает 300 мм за одну минуту. Рабочий участок примера — X 70 мм, Y 20 мм и X 70 мм, всего 160 мм, поэтому чистое время резания 160 ÷ 300 ≈ 0.53 мин, около 32 секунд. Вертикальное врезание на 5 мм (Z3 → Z-2) с F80 добавляет 5 ÷ 80 × 60 ≈ 3.8 секунды.

Если пересчитать ту же F300 в толщину, снимаемую каждой режущей кромкой, можно оценить нагрузку на инструмент. Двузубая концевая фреза при S3000 делает 6,000 проходов кромки в минуту, поэтому подача на зуб равна 300 ÷ 6,000 = 0.05 мм. Выбор F по сравнению с рекомендуемой подачей на зуб из каталога инструмента даёт более стабильную стойкость, чем выбор на глаз.

ВеличинаФормулаПример
Время резания (мин)Расстояние ÷ F160 ÷ 300 = 0.53
Подача на зуб (мм)F ÷ (S × число зубьев)300 ÷ (3000 × 2) = 0.05
Подача на оборот (мм/об)F ÷ S300 ÷ 3000 = 0.1

Как проверить в CNC Path Analyzer

В инструменте ускоренные и рабочие участки показаны разными цветами и типами линий, а при воспроизведении текущий кадр подсвечивается в тексте. Если линия ускоренного хода пересекает область заготовки или рабочая линия начинается выше ожидаемого, сначала подозревайте смену режима G00/G01 или значения Z. Круговые перемещения разобраны в статье о круговой интерполяции G02/G03.

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

G0 и G00 — одна и та же команда?
Да. Ведущий ноль можно опускать, поэтому G0 и G00, а также G1 и G01 означают одно и то же. Если выбрать одну запись по внутренним правилам, проверка программ станет проще.
Что будет, если написать F в кадре G00?
На само перемещение G00 это не влияет, но значение F запоминается модально и может использоваться последующими кадрами G01. Поскольку это может привести к непреднамеренной подаче, безопаснее не писать F в кадрах G00.

Следующие шаги

Проверить траекторию в CNC Path Analyzer