К содержанию

ИнструкцияСтанки с ЧПУ и металлообработкаСредний уровень

G54–G59 и коррекция на длину инструмента: как привязать ноль детали и инструмент к станку

Программа из CAM знает только координаты внутри детали, а станок знает только свои. Мост между ними — рабочая система координат G54–G59 и коррекции инструмента: если они записаны неверно, программа идёт в нужную сторону, но в другую точку. Разбираем, что где хранится, как привязать деталь и инструмент и на каких ошибках ломают первую деталь и фрезу.

Дмитрий Волков

Инженер-механик, фрезерные станки с ЧПУ и CAM, 15 лет в отрасли

Обновлено 7 минут

Датчик нуля стоит на фанерной заготовке под шпинделем, рядом лежат штангенциркуль и ручной пульт управления
Датчик на заготовке под шпинделем: по нему станок узнаёт высоту нуля детали и длину инструмента

Кратко

G54–G59 хранят смещение нуля детали относительно нуля станка, а коррекция G43 Hn добавляет к высоте Z длину конкретного инструмента. Сначала находят ноль детали и вносят его в G54, затем касанием определяют вылет каждого инструмента и записывают в таблицу коррекций. G92 для постоянной привязки не годится: смещение зависит от текущего положения и переживает сброс.

  • У станка есть собственный нуль, он жёстко задан датчиками референтных точек. Нуль детали записывают как смещение от него в одной из систем G54–G59, поэтому программа не зависит от того, где заготовка лежит на столе.
  • Коррекция G43 Hn прибавляет длину инструмента к координате Z, чтобы вершина любой фрезы приходила в одну и ту же точку. Без неё программа под одну фрезу на второй уйдёт на разницу вылетов.
  • В примере с двумя инструментами привязка даёт H1 = −312,456 и H2 = −294,256 мм. G43 H2 Z5 ставит сверло на 5 мм над деталью, а G1 Z−10 уводит его на 10 мм вглубь.
  • G92 задаёт смещение от текущего положения и в LinuxCNC сохраняется после сброса. Для рабочей привязки используют G54–G59 и G10 L2.
  • Токарная привязка устроена так же, но вылет резца хранится двумя числами, по X и по Z, и вызывается кадром T с номером коррекции, например T0202.

Оборудование

  • стойка ЧПУ с таблицами смещений и коррекций
  • кромкоискатель или измерительный щуп
  • концевая мера или установщик инструмента
  • индикатор

Материалы

  • закреплённая заготовка
  • набор инструментов с известным вылетом
  • управляющая программа

Время

≈ 25 мин

Три нуля станка

Когда оператор говорит «выставил ноль», он может иметь в виду разные вещи. На станке их три, и путаница между ними объясняет половину аварий на наладке.

Нуль станка (машинный ноль, референтная точка) определяется датчиками и концевиками: после включения станок «находит» его при поиске нулей. Эти координаты не меняют, от них считается всё остальное.

После каждого включения станка сначала отправляют его в дом по концевикам, и только потом в ноль заготовки; нулевую точку удобно ставить в левый ближний угол. Дом и ноль заготовки не должны совпадать: тогда по Z не остаётся хода, и стойка, например NC Studio, выдаёт ошибку «out of limit».

Нуль детали — точка, от которой отсчитаны размеры в программе. Обычно это угол заготовки или центр отверстия на верхней плоскости. Для фрезеровки оператор находит её кромкоискателем или щупом и записывает как смещение от нуля станка.

Нуль инструмента — длина инструмента от базы шпинделя до вершины. Благодаря коррекции программируемая точка совпадает с вершиной, а не со шпинделем.

Что хранят G54–G59

Шесть классических систем G54–G59 есть практически везде. В LinuxCNC их девять: G54–G59, G59.1, G59.2 и G59.3. У Fanuc к шести добавляются дополнительные G54.1 P1–P48 при наличии опции, их используют в производствах с палетами и многодетальной оснасткой.

КомандаНазначениеЗамечание
G54–G59Выбор рабочей системы координатМодальны, действуют до замены другой из группы
G53Движение в машинных координатахДействует только в своём кадре, нужна для безопасной парковки
G10 L2 PnЗаписать смещение системы n числамиПоложение станка не важно
G10 L20 PnЗадать смещение так, чтобы текущая точка получила указанное значениеПодходит для привязки по касанию (LinuxCNC)
G92Сдвинуть начало координат от текущей точкиВ LinuxCNC смещение сохраняется после сброса, пока его не отменят
G43 HnВключить коррекцию на длину инструмента по таблицеВключается до первого рабочего Z
G49Отменить коррекцию на длинуСтавят перед сменой инструмента и в конце программы

Таблица составлена по документации LinuxCNC; на стойках Fanuc и совместимых эти команды работают так же, но детали (например, G10 L20) зависят от модели.

Смысл разделения прост. В каждой системе G54–G59 лежит привязка детали на своём месте стола: в G54 тиски слева, в G55 справа. Одна программа выполняется на любом месте с одной заменой G54 на G55, а ноль детали выставляется один раз при установке.

Привязка детали по шагам

Как привязать ноль детали в системе G54

  1. 01

    Закрепите заготовку

    и проверьте, что она не повернута относительно осей станка. Индикатором снимите разницу по боковой грани на длине 100 мм: допустимо 0,02–0,03 мм.

  2. 02

    Найдите кромки

    кромкоискателем или щупом: касание левой грани даёт X1, правой X2. Ноль по X посередине, (X1 + X2) / 2. Тот же приём для Y.

  3. 03

    Поправьте на радиус щупа.

    Если вы касались левой грани шариком диаметром 4 мм, центр шарика отстоит от грани на 2 мм. Разницу вычитают из показания.

  4. 04

    Запишите X и Y в G54

    в таблице смещений стойки или командой G10 L2 P1 X… Y…. Значения берутся по машинной координате в точке касания, а не по индикации относительных координат.

  5. 05

    Проверьте привязку

    подводом инструмента к грани в режиме ручного шага: в окне позиций G54 должно быть X0 или известное значение.

Для Z ноль обычно выбирают на верхней плоскости заготовки. Если заготовки в партии разной высоты, берут нижнюю плоскость, то есть стол или упор. От этого выбора зависит, как будет работать коррекция на длину инструмента.

При автоматическом датчике нуля по Z в параметры вводят реальную толщину таблетки, измеренную штангенциркулем. Первую проверку делают с поднятым шпинделем и без фрезы, цепь фреза-таблетка прозванивают тестером, а саму таблетку изолируют от корпуса станка. На диэлектриках и на шпинделях с керамическими подшипниками такая схема не работает.

Коррекция на длину инструмента

У фрезы в патроне и у сверла вылет разный, а программа рассчитана на то, что вершина инструмента окажется там, где указано Z. Стойка не знает, какой инструмент в шпинделе, пока не получит номер коррекции. Команда G43 H1 говорит: возьми длину из ячейки 1 и добавь её к программируемому Z.

Расчёт на числах. Ноль по Z — на верхней плоскости детали, в G54 записано Z0, длины хранятся в таблице коррекций как машинная координата касания.

ИнструментМашинный Z при касании верха деталиКоррекцияКадр подвода на 5 мм над деталью
T1, фреза Ø12−312,456H1 = −312,456G43 H1 Z5 → станок идёт в Z = −307,456
T2, сверло Ø8,5, на 18,2 мм короче−294,256H2 = −294,256G43 H2 Z5 → станок идёт в Z = −289,256

Глубина 10 мм: G1 Z-10 у фрезы приведёт шпиндель в −322,456, у сверла в −304,256. Программа одна, а положения шпинделя разные, потому что инструменты разные. Именно это и нужно.

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

Две детали на столе: пример с G54 и G55

Допустим, в двух позициях стоят одинаковые заготовки с шагом 100 мм по X. Нуль первой детали найден и записан в G54: X −412,300, Y −198,750. Вторую позицию вручную искать не нужно, если шаг выдержан оснасткой: в G55 записывают X −312,300 при том же Y. Программа обработки одна, а в основном кадре меняется только вызов системы:

G54
M98 P1001
G55
M98 P1001

Подпрограмма O1001 содержит обработку одной детали, а станок сам переносит траекторию на нужное место. Если ошибка в шаге оснастки 0,05 мм, она целиком уходит во вторую деталь, поэтому для точных размеров вторую позицию лучше привязывать касанием, а не расчётом. Во сколько обходится лишняя наладка на каждую деталь, видно в статье о стоимости нормо-часа станка с ЧПУ.

Токарная привязка

На токарном станке всё устроено так же, но корректируются две оси. Кадр T0202 вызывает инструмент 2 и его ячейку коррекции 2. Ноль по Z обычно на торце готовой детали, по X на оси шпинделя, поэтому диаметр заготовки измеряют.

Порядок: проточить пробную шейку на длине 3–5 мм, не меняя X, остановить шпиндель, измерить диаметр. Пусть получилось Ø49,82 мм: это значение вводят в ячейку X функцией замера, и стойка сама вычислит смещение. Для Z касаются торца и вводят Z0. Затем отдельно ведут геометрию и износ: геометрия отвечает за привязку резца, износ за подгонку размера. Если деталь вышла на 0,04 мм больше чертежа, в износ по X вносят −0,04, привязку не трогают. Подробнее о цикле, который использует эти коррекции, — в разборе G71 и G70.

Ошибки, которые ломают первую деталь

  • G92 вместо G54. G92 смещает ноль от текущей позиции и в LinuxCNC остаётся после сброса, пока его не отменят G92.1. Вторая программа, запущенная «с другого места», уедет на то же смещение. Для постоянной привязки используйте G54–G59.
  • Привязка по относительным координатам. В окне стойки удобно нажать «обнулить», но в G54 это не попадает. После перезагрузки деталь «потеряется». Всегда записывайте значение в таблицу смещений.
  • Забытая отмена. В конце программы без G49 и возврата в безопасную точку следующая программа стартует с чужой коррекцией. Начинайте любую программу с «безопасной строки», как в статье о G-коде для начинающих.
  • Сменили инструмент в патроне, а ячейку не обновили. Фреза вынута и поставлена заново с другим вылетом, а H осталось прежним. Разница в миллиметры выглядит как «станок режет глубже».
  • Нет проверки после аварии. Удар по детали или зажиму сбивает привязку заготовки. Перед продолжением заново касаются кромок и сверяют с записанным значением.
  • Постпроцессор выдаёт другой номер. CAM пишет G54, а оператор привязывал в G55. Если стойка отказывается идти, проверьте, какую систему вызывает программа, и какой постпроцессор выбран.

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

Дмитрий ВолковИнженер-механик, фрезерные станки с ЧПУ и CAM

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

Чем G54 отличается от G92?

G54 вызывает постоянное смещение из таблицы, и оно не зависит от текущего положения осей. G92 сдвигает начало координат от точки, где инструмент находится сейчас, поэтому результат зависит от того, откуда запустили команду.

Сколько систем координат нужно в цехе?

Для одной детали достаточно G54. Если в тисках или на столе лежит несколько заготовок, каждую привязывают в своей системе, например G54 и G55, а программу вызывают с нужной. Это экономит наладку при серии.

Нужна ли коррекция G43, если инструмент один?

Если программа идёт одним инструментом и Z вершины записан прямо в G54, обойтись можно. На практике G43 включают всегда: инструмент рано или поздно заменят, и привязка сохранится в ячейке.

Как проверить привязку без детали?

Выполнить программу «в воздухе» с нулём по Z, поднятым на 20–30 мм, и покадровым режимом. Дойти до первых подходов и убедиться, что вершина инструмента останавливается там, где вы ожидали.

Источники

  1. Coordinate Systems ↗ — LinuxCNC Documentation
  2. Tool Compensation ↗ — LinuxCNC Documentation
  3. G Codes ↗ — LinuxCNC Documentation
  4. ГОСТ 20999-83. Устройства числового программного управления для металлообрабатывающего оборудования. Кодирование информации управляющих программ ↗ — Госстандарт СССР, 1983

Автор

Дмитрий Волков

Инженер-механик, фрезерные станки с ЧПУ и CAM, 15 лет в отрасли

Пятнадцать лет работает с фрезерными станками с ЧПУ: от мебельных раскроечных центров до обработки металла. Пишет о фрезерах, инструменте, CAM-программах и системах управления.

Все материалы автора →

Как мы готовим материалы — в редакционной политике. Нашли ошибку? Напишите нам.

Комментарии

Пока никто не написал. Задайте вопрос — автор или эксперты редакции ответят.

Написать комментарий