FIFTY LINETurn G-code

G7 и G8 в LinuxCNC: программирование X в диаметре или радиусе

· ~5 мин чтения

На токарном станке координата X - это расстояние резца от оси вращения детали. Записать её можно двумя способами: радиусом (сколько миллиметров от оси) или диаметром (какой диаметр получится). В LinuxCNC это переключают два кода: G7 и G8. Путаница между ними

  • одна из самых частых и самых дорогих ошибок токаря-программиста.

Содержание

  1. G7 и G8 коротко
  2. Пример: одна деталь в двух режимах
  3. Какой режим удобнее
  4. Что меняется, а что нет
  5. Режим по умолчанию и настройка в INI
  6. Как проверить текущий режим
  7. Что будет, если перепутать
  8. Диаметр и радиус на других стойках
  9. G7 и G8 в Turn G-code

G7 и G8 коротко

Код X означает X15 - это Режим LinuxCNC по умолчанию
G7 диаметр Ø15 (резец в 7,5 мм от оси) нет
G8 радиус радиус 15, то есть Ø30 да

Оба кода модальные: режим действует, пока его не сменят другим кодом.

Пример: одна деталь в двух режимах

Точим заготовку Ø40 до Ø30 на длину 50 мм. Одна и та же траектория:

Действие В режиме G7 (диаметр) В режиме G8 (радиус)
Подход над заготовкой G0 X42 Z2 G0 X21 Z2
Чистовой проход Ø30 G0 X30 G0 X15
Точение по длине G1 Z-50 F0.1 G1 Z-50 F0.1
Отвод G0 X42 G0 X21

Z одинаковый, меняются только числа X: в G8 они вдвое меньше.

Какой режим удобнее

Диаметр (G7) - то, как думает токарь:

  • на чертеже проставлены диаметры (Ø30h7, а не R15);
  • микрометр и штангенциркуль меряют диаметр;
  • при коррекции размера сразу видно, на сколько «не добрали»: деталь Ø30,08 вместо Ø30 - поправка 0,08 по диаметру.

Радиус (G8) ближе к геометрии станка: X - это реальное перемещение суппорта от оси. Съём 0,5 мм на сторону в G8 - это ровно X на 0,5 меньше, а в G7 - на 1,0 меньше. Некоторые генераторы и CAM-постпроцессоры выводят код в радиусах.

Правильного режима нет - есть правильно указанный режим. Главное, чтобы программа и станок понимали X одинаково.

Что меняется, а что нет

  • Меняется только X - и абсолютные координаты, и приращения в G91: в G7 G91 G1 X-1 уведёт резец к оси на 0,5 мм.
  • Z не меняется никак.
  • Подача F - это скорость по реальной траектории, от режима X она не зависит.
  • Дуги (G2/G3), резьбовые и другие циклы (G76, G71/G72) тоже используют X, а некоторые их параметры (например, I, J, K в G76) в режиме диаметра трактуются иначе. Правила зависят от версии LinuxCNC - смотрите документацию своей версии и проверяйте траекторию в предпросмотре Axis до реза.

Режим по умолчанию и настройка в INI

При запуске LinuxCNC работает в G8 (радиус). Чтобы станок стартовал в диаметре, режим прописывают в INI-файле конфигурации, в секции [RS274NGC]:

[RS274NGC]
RS274NGC_STARTUP_CODE = G18 G21 G7 G90 G40 G94

Здесь заодно задана плоскость XZ (G18), миллиметры, абсолютные координаты, отмена коррекции на радиус и подача в мм/мин.

Но полагаться только на стартовый код нельзя: режим модальный и может остаться от прошлой программы или от команды, набранной в MDI. Поэтому каждая программа должна сама задавать режим в строке безопасного старта:

G21 G18 G90 G7 G40 G80

Тогда программа отработает одинаково, что бы ни было на станке до неё.

Как проверить текущий режим

  • В Axis на вкладке MDI есть строка Active G-Codes - там видно, G7 или G8 сейчас действует.
  • Предпросмотр траектории в Axis: если деталь в окне вдвое толще или тоньше, чем на чертеже, - режим не тот.
  • Первый прогон новой программы - «по воздуху», с отводом по X, и взгляд на координаты в окне положения.

Что будет, если перепутать

Программа написана Станок в режиме Что происходит
в диаметрах (X30 = Ø30) G8 X30 - это радиус 30, Ø60. Резец останавливается вдвое дальше от оси: режет по воздуху или оставляет деталь толще
в радиусах (X15 = Ø30) G7 X15 - это Ø15. Резец уходит вдвое ближе к оси: врезается слишком глубоко, ломает пластину, портит деталь

Второй случай опаснее: ошибка идёт в металл. Особенно на ускоренном подходе G0, если он рассчитан «над заготовкой».

Диаметр и радиус на других стойках

  • Fanuc (и GSK, KND, Syntec в Fanuc-синтаксисе): режим X задаётся параметром стойки, на токарных станках обычно это диаметр. Кодов G7/G8 для этого нет, а G7.1 у Fanuc - это вообще цилиндрическая интерполяция.
  • Haas: на токарных станках X обычно программируется в диаметре.
  • Siemens SINUMERIK: команды DIAMON (диаметр), DIAMOF (радиус), DIAM90 (диаметр в абсолютных координатах, радиус в приращениях).
  • Mach3 Turn / Mach4 Lathe: режим диаметра или радиуса включается в настройках.

Поэтому программу, написанную под другую стойку, всегда проверяют: в диаметрах ли она и есть ли в ней G7 для LinuxCNC. Остальные отличия - в справочнике G-коды и M-коды для токарного станка.

G7 и G8 в Turn G-code

В Turn G-code режим X - это одна кнопка G8/G7 в верхней панели главного окна, сразу для всех 12 циклов. Программа:

  • ставит выбранный код в строку безопасного старта каждой программы: G21 G18 G90 G8 G40 G80 G94 или G21 G18 G90 G7 G40 G80;
  • пересчитывает все X сама - в форме вы вводите диаметры как на чертеже, а в коде получаете диаметр или радиус;
  • показывает траекторию в 2D-симуляторе до генерации файла.

Вот два настоящих примера с сайта. Наружное точение выведено в G8: заготовка Ø12 записана как X6, первый черновой проход - X5.8:

G21 G18 G90 G8 G40 G80 G94
...
(Черновой проход 1, X5.8000)
G0 X5.8000
G1 Z-20.0000 F100.0000

А резьба M12×1,5 выведена в G7: первый проход идёт прямо по Ø12:

G21 G18 G90 G7 G40 G80
...
(Проход 1 из 10, X12.0000)
G0 X12.0000

Скачайте Turn G-code - 15 дней бесплатно, без ключа.

← Все статьи