• Механическая обработка и изготовление деталей из металла
  • Комплектация производства промышленным оборудованием
  • Комплексная поставка микроэлектронных компонентов
+7(342)203-78-58
Тех.отд: +7-922-308-78-81

G code g3: Круговая интерполяция – G02 и G03

Опубликовано: 27.08.2022 в 12:45

Автор:

Категории: Популярное

Краткое руководство по G-Code. Круговая интерполяция G02 и G03.

Круговая интерполяция G02 и G03 — это движение по круговой дуге

Закончив обсуждение линейной интерполяции или движения по прямой линии, мы переходим к круговой интерполяции G02 и G03, которая представляет собой движение по дуге окружности. За исключением довольно экзотической способности следовать «NURBS-пути», большинство контроллеров G-кода поддерживают только два вида движения: линейное и круговое. Круговая интерполяция на вашем станке немного сложнее, так как две оси должны быть точно согласованы. Рисование полного круга включает не только скоординированное движение, но и изменение направления в каждой из четырех точек квадранта. Это будут точки, соответствующие 0, 90, 180 и 270 градусам. Если у станка вообще есть люфт, он будет очевиден при этих разворотах, потому что там будет сбой в разрезе.

Круговое движение — это режим, инициируемый через G02 и G03

Как и линейное движение (инициированное G00 и G01), круговое движение — это режим, инициированный через G02 и G03. G02 устанавливает режим для дуг окружности по часовой стрелке. G03 устанавливает режим для дуг окружности против часовой стрелки.

G02 и G03

Определение дуги для контроллера ЧПУ

После того, как установлен режим G02 или G03, дуги определяются в G-коде путем идентификации двух конечных точек и центра, который должен быть равноудаленным от каждой конечной точки, в противном случае возникнет аварийный сигнал.

Определение центра через относительные смещения IJK

Центр чаще всего идентифицируется с помощью I, J или K для определения относительного смещения от начальной точки дуги к центру. Вот типичная дуга по часовой стрелке:

Определение центра дуги с помощью IJK

Буквы I и J указывают относительные координаты от начальной точки до центра. Другими словами, если мы добавим значение I к X начальной точки и значение J к Y начальной точки, мы получим X и Y для центра.

Определение центра через радиус с помощью «R»

Мы также можем определить центр, просто указав радиус круга. Допустим радиус нашего круга равен 2, поэтому g-код может быть простым:

G02

X2Y0 R2

Многие из вас прямо здесь и сейчас решат, что, поскольку R проще для понимания и короче для написания, вы просто собираетесь использовать R и забыть о IJK. Но мастера ЧПУ обработки советуют использовать команды IJK. Их аргумент состоит в том, что, используя IJK, вы дважды проверяете правильность дуги.

Почему?

Потому что контроллер может вычислить фактический набор координат для центра через IJK. Получив координаты центра, он может проверить, что он одинаково удален от обеих конечных точек. Проверка каждого из этих двух расстояний — это двойная проверка. В случае формата «R» контроллер не имеет такой двойной проверки. Он должен выбрать центр, который гарантирует равное расстояние.

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

Варианты синтаксиса Arc для различных диалектов и режимов G-кода

Это еще одно из тех мест, где происходит много непонятных вещей, например, что будет делать ваш контроллер. Обычно предполагается, что если у вас есть и IJK, и R в одном блоке, R имеет приоритет, а IJK игнорируется. Но есть контроллеры, которые работают не так, поэтому убедитесь, что вы знаете, что происходит.

Есть несколько параметров, которые определяют, как работают дуги.

Давайте рассмотрим эти варианты:

Инкрементальный против абсолютного IJK: мы обсуждали IJK как представление координат относительно начальной точки для центра. Добавьте I к X, J к Y и K к Z начальной точки, и вы получите центр. Многие элементы управления также имеют возможность использовать IJK как абсолютные координаты центра.

Модальные центры IJK: когда IJK являются абсолютными координатами центра, некоторые контроллеры запоминают последний определенный центр, поэтому в этом случае IJK является модальным. При использовании такой настройки управления вы можете просто продолжать вводить команды XYZ для дуг без необходимости каждый раз определять новый центр. Однако не ясно, что вы сэкономите много — как часто вы хотите делать несколько дуг с одним и тем же центром?

Модальные центры R: Еще одна разновидность идеи модального центра состоит в том, чтобы позволить радиусу, определенному буквой «R», быть модальным. Каким бы ни был последний использованный R, контроллер запоминает и снова использует это значение, если R не задано. Это кажется более полезным, чем модальный IJK. Например, у кармана могут быть дуги для углов одинакового радиуса.

Приоритет R: как уже упоминалось, большинство контроллеров будут использовать «R», если «R» и «IJK» указаны в одном блоке. Н

Helical Interp. : Эта опция определяет, разрешает ли ваш контроллер спиральную интерполяцию.

Наиболее распространенная проблема при настройке постпроцессора CAM или симулятора ЧПУ: абсолютный и относительный IJK

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

Неверные настройки постпроцессора для дуг

Если вы видите такие вещи, первое, что нужно проверить, — это абсолютный IJK в сравнении с относительным IJK для дуг. Настройка должна соответствовать между тем, что выдает CAM, и тем, чтополучает контроллер или симулятор.

Дроби круга, квадранты и регуляторы

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

G01 X3.25 Y2.0

G02 X3.25 Y2.0 I-1.25 J0

Интересно, что вы не можете указать полный круг с помощью «R». Это связано с тем, что существует бесконечное количество кругов, которые начинаются и заканчиваются в одной и той же точке определенного радиуса, поэтому контроллер не знает, какой круг может быть правильным.

Есть еще более забавный ньюанс с «R» и более крупными дугами. Например, дуга все еще может иметь определенный радиус и по часовой стрелке (или против часовой стрелки), но центр будет разным, если вы перемещаетесь более чем на 90 градусов. Например:

Если R отрицательно, путь будет длиннее (желтым).

Учитывая два показанных варианта, контроллер выбирает путь на основе знака радиуса. Отрицательное получает более длинную дугу, положительное — короче. Отрицательный знак заставляет контроллер искать дугу более 180 градусов.

Некоторые контроллеры еще более чувствительны и не будут программировать дугу, пересекающую линию квадранта. Следовательно, наибольший угол, по которому может следовать дуга, составляет 90 градусов, и этот угол не должен пересекать 0, 90, 180 или 270 градусов. Углы в 90 градусов, пересекающие линию квадранта, должны быть разбиты на две части, причем соединение между частями должно быть прямо на линии квадранта.

Полные круги без XYZ

Полные круги появляются, когда начальная и конечная точки идентичны, а центр указан через IJK (помните, что R ведет к бесконечному количеству кругов). Учитывая, что вы хотите, чтобы начальная и конечная точки были одинаковыми, возможно, вам не придется беспокоиться даже об указании конечной точки с помощью XYZ. Некоторым контроллерам это может потребоваться, но большинству — нет. Вот простая программа с g-кодом, которая таким образом создает 3 круга:

N45 G0 X-2. Y.75
N46 G1 Z-.5 F10.
N47 Y.5 F30. S2000
N48 G2 J-1.1
N49 G1 Y.75
N50 Z.2
N51 G0 X.75 Y-3.4
N52 G1 Z-.5 F10.
N53 X.5 F30.
N54 G2 I-1.1
N55 X.75
N56 Z.2
N57 G0 X-4.75 Y-3.4
N58 G1 Z-.5 F10.
N59 X-4.5 F30.
N60 G2 I1.1
N61 G1 X-4.75
N62 Z.2

А вот как выглядит визуализация:

Dизуализация кода полных дуг без xyz

Совет по упрощению программирования дуги: начните с сегментов

Когда я прокладываю траекторию инструмента, я предпочитаю оставлять дуги напоследок. Вместо каждой дуги я просто помещаю отрезок линии, конечные точки которого соответствуют конечным точкам дуги. Это позволяет быстро собрать грубый набросок траектории инструмента, и часто кажется, что легче вернуться и преобразовать линии в дуги, когда базовая структура уже установлена.

Спиральная интерполяция

Спираль — это дуга, которая непрерывно движется в третьем измерении, как винтовая резьба. При винтовой интерполяции мы указываем такую ​​дугу с помощью G02 / G03, чтобы резец перемещался по спирали. Это может быть сделано для фрезерования резьбы, интерполяции отверстия или для множества других целей. Вот диаграмма из программы резьбы 1/4 ″ NPT:

Спираль для нарезания резьбы

Вот пример кода программы фрезерования резьбы:

G01 G91 Z-0.6533 F100.
G01 G42 D08 X0.0235 Y-0.0939 F10.
G03 X0.0939 Y0.0939 Z0.0179 R0.0939
G03 X-0.1179 Y0.1179 Z0.0179 R0.1179
G03 X-0.1185 Y-0.1185 Z0.0179 R0.1185
G03 X0.1191 Y-0.1191 Z0.0179 R0.1191 F16.
G03 X0.1196 Y0.1196 Z0.0179 R0.1196
G03 X-0.1202 Y0.1202 Z0.0179 R0.1202 F26.
G03 X-0.1207 Y-0.1207 Z0.0179 R0.1207
G03 X0.1213 Y-0.1213 Z0.0179 R0.1213
G03 X0.1218 Y0.1218 Z0.0179 R0.1218
G03 X-0.0975 Y0.0975 Z0.0179 R0 0,0975

Это формат «R» (радиус) для дуг, и обратите внимание, что есть координата Z, чтобы указать изменение глубины для конечной точки каждой дуги. В этом коде используется относительное движение (G91), поэтому каждый «Z0.0179» перемещает фрезу на 0,0179 дюйма глубже.

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

Создание траекторий движения инструмента понравится вашей машине

Каждый раз, когда резак меняет направление, он добавляет определенное напряжение. Резак будет врезаться в материал больше или меньше, чем был, в зависимости от того, меняется ли направление на заготовку (или неразрезанный материал) или от нее. Ваша машина будет намного счастливее, если вы запрограммируете дугу, а не резкое изменение направления по прямой. Даже дуга с очень маленьким радиусом позволит контроллеру избежать мгновенного изменения направления, что может оставить след на поверхности в лучшем случае и вызвать вибрацию или другие проблемы в худшем случае. Для небольших изменений направления это может не иметь смысла. Но чем резче изменение, тем больше вероятность, что вам следует использовать дугу для облегчения поворота.

Программирование. Основные G-коды — Национальная сборная Worldskills Россия

Итак, мы продолжаем говорить о программи­ровании в G-кодах. В сегодняшнем уроке мы подробнее рассмотрим основные коды, поговорим о компенсации на радиус инструмента и применим знания на практике.

Глоссарий

Для успешного освоения материала рекомендуем вам изучить следующие понятия:

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

Согласованное движение механизмов по круговой траектории относительно двух осей

Условное именование языка программирования устройств с числовым программным управлением

Видеолекция

Конспект

Разберем синтаксис кадров перемещения режущего инструмента. Будем использовать в качестве основной плоскость XY.

За выбор плоскости отвечают следующие коды:

  • G17 — плоскость XY,
  • G18 — плоскость ZX,
  • G19 — плоскость YZ.

Данный выбор определяет плоскость для задания круговой интерполяции и компенсации на радиус инструмента.

Коды перемещения. G0

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

  • В кадре указывается сам код G0, а также координаты конечной точки перемещения, когда действует код G90.
  • Расстояние относительно текущей позиции при использовании кода G91.

Это справедливо и для кодов линейной и круговой интерполяции, которые мы рассмотрим далее.

Пример
Зададим текущее положение инструмента X12; Y22 и рассмотрим два случая.

1. Активен G90
G90
G0 X48.5 Y43
Перемещение ускоренного хода произойдет в координату X48.5 и Y43.

2. Активен G91
G91
G0 X48.5 Y43
Перемещение ускоренного хода произойдет на 18,5 мм в положительном направлении оси X и 43 мм в отрицательном направление оси Y, т. е. в координаты X60.5 и Y65.

Далее будем использовать перемещения с кодом G90, с заданием координат от нулевой точки заготовки.

Коды перемещения. G1

Процесс резания осуществляется с использованием перемещения по линейной и круговой интерполяции.

G1 — линейная интерполяция со скоростью подачи.

  • В кадре указываются код G1, координаты конечной точки перемещения, скорость подачи.
  • Скорость подачи может быть задана как в мм/мин при использовании G94, так и в мм/об при G95. Так как частота вращения при работе на фрезерном обрабатывающем центре неизменна, чаще подачу задают в мм/мин.


Пример

G94
G1 X25 Y17 F200
Линейное перемещение в координату X25; Y17 с подачей 200 мм/мин.

Коды перемещения. Круговая интерполяция

  • G2 — круговая интерполяция по часовой стрелке со скоростью подачи.
  • G3 — круговая интерполяция против часовой стрелки со скоростью подачи.

Задать круговое перемещение возможно двумя способами:

1. Используя радиус дуги CR.

2. Используя координаты центра дуги (I, J, K по осям X, Y и Z).

  • G4 — выдержка/пауза. Задается код G4 и F — время паузы в секундах.
  • G4 F10 — выдержка в течение 10 секунд.

Контур

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

Вручную необходим пересчет каждой вводимой в программу координаты с учетом радиуса инструмента. Чтобы автоматизи­ровать процесс, существует набор кодов G40/G41/G42. При этом в программе указание траектории совпадает с координатами контура, а эквидистантную траекторию перемещения станок создает на основе заданного в параметрах инструмента радиуса на стойке ЧПУ. D вызывает конкретное значение радиуса.

  • G41 — смещение инструмента относительно направления перемещения влево.
  • G42 — смещение инструмента относительно направления перемещения вправо.
  • G40 — отключение смещения.


Особенности работы с компенсацией

1. Компенсация может быть включена/отключена только при прямолинейном движении.

2. В кадре включения компенсации длина перемещения должна быть больше длины используемой коррекции на радиус инструмента.

Обработка контура

Рассмотрим смещения на примере обработки контура квадрата 90 × 90 мм.

1. Начало системы координат в центре.

2. Глубина фрезерования — 5 мм.

3. Обработка будет проводиться фрезой диаметром 10 мм с частотой вращения 10 000 об/мин и подачей 500 мм/мин.

4. Материал заготовки — сплав Д16Т.

Программирование. G1
1.
Подвод:
D1
G0 X−51 Y−51
G0 Z−5

2. Компенсация и перемещение линейно в первую точку:
G1 G41 X−45 Y−45 F500

3. Оставшаяся часть:
G1 Y45
G1 X45
G1 Y−45
G1 −45

4. Отвод инструмента и выключение коррекции:
G1 G40 X−51 Y−51

Программирование. G42
D1
G0 X−51 Y−51
G0 Z−5
G1 G42 X−45 Y−45
G1 Y45
G1 X45
G1 Y−45
G1 X−45
G1 G40 X−51 Y−51

В написании программы разница незначительна, но результат будет сильно отличаться.

Пример

В начале программы укажем стандартную «шапку», известную из прошлого урока.

1. G40 G17 G94 G90
В кадре отключается компенсация на радиус инструмента, плоскость XY выбирается как основная, в качестве единиц измерения скорости подачи задаются мм/мин, перемещения по координатам осуществляются в абсолютной системе координат от нулевой точки заготовки.

2. G0 G90 G153 D0 Z−1
Включается ускоренное перемещение, отменяется смещение машинной системы координат, отключается коррекция на длину и радиус инструмента, происходит перемещение по оси Z к координате, близкой к верхнему пределу рабочей зоны станка.

Эскиз

  • Выберем нулевую точку, расположив оси X и Y системы координат.
  • Глубина фрезерования — 5 мм.
  • Обработка будет проводиться фрезой диаметром 10 мм с частотой вращения 10 000 об/мин и подачей 500 мм/мин.


3.
Вызовем инструмент T =»FREZA_D10″.

4. Активируем систему координат заготовки, записанную в строку G54 установок станка.

5. Выбираем коррекцию на длину и радиус инструмента, записанную в соответствующую строку данных инструмента в установках станка.

6. Задаем частоту вращения шпинделя и направление по часовой стрелке.

7. Спозиционируем инструмент на ускоренном ходу в соответствующую координату с учетом подвода при включении компенсации радиуса инструмента: по 6 мм на оси X и Y.

8. Переместим инструмент на ускоренном ходу в соответствующую координату:
G0 X18.5 Y−6

9. Опускаем на заданную глубину:
G0 Z−2

10. Осуществим подвод и включение компенсации в данном случае слева от направления перемещения:
G1 G41 X24.5 Y6 F500

11. Далее перемещаемся в точку 2:
G3 X3 Y27.5 CR21.5

12. Следующий кадр — линейное перемещение:
G1 Y61

13. Далее перемещение по часовой стрелке в точку 4:
G2 X19 Y77 CR16
G1 X72
G1 X77 Y72
G3 X97 Y50 CR18

14. Линейная интерполяция:
G1 X80.47 Y6

15. Заканчиваем программу и замыкаем контур.

16. Отведем инструмент и завершим программу:
G0 G90 G153 D0 Z−1
G0 G153 X−499 Y−1 (по осям X и Y)
M30

Посмотрим, как это выглядит на станке.

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

Интерактивное задание

Для закрепления полученных знаний пройдите тест

Стартуем!
Дальше
Проверить
Узнать результат
Дальше
Проверить
Узнать результат
Дальше
Проверить
Узнать результат

К сожалению, вы ответили неправильно на все вопросы

Прочитайте лекцию и посмотрите видео еще раз

Пройти еще раз

К сожалению, вы ответили неправильно на большинство вопросов

Прочитайте лекцию и посмотрите видео еще раз

Пройти еще раз

Неплохо!

Но можно лучше. Прочитайте лекцию и посмотрите видео еще раз

Пройти еще раз

Отлично!

Вы отлично справились. Теперь можете ознакомиться с другими компетенциями

Пройти еще раз

Краткое руководство по коду G ЧПУ G03 [Круговая интерполяция против часовой стрелки]

Содержание

Что делает код G03?

G03 устанавливает режим движения ЧПУ на круговое движение против часовой стрелки, также известное как круговая интерполяция .

G03 используется для перемещения ЧПУ по заданному радиусу, заданному кодом R, в направлении против часовой стрелки и со скоростью подачи, заданной кодом F.

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

G03 против G3

Некоторых людей смущает необходимость включения 0 в код G03.

Чтобы прояснить это, нет необходимости включать лишний ноль в код . Станок с ЧПУ будет читать код так же. Это действительно вопрос предпочтений.

Часто полный код G03 используется в учебниках или других справочных материалах. Однако на практике многие предпочитают в своих программах укороченный код G3.

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

Когда использовать код G03?

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

Код G03 позволяет программисту вырезать полный круг или часть круга.

Коды скорости подачи (F) и скорости шпинделя (S) используются вместе с кодом G03 для управления скоростью и подачей.

 Код R также используется, чтобы сообщить машине, по какому радиусу двигаться. Некоторые программы ЧПУ будут использовать коды IJK вместо кода R для описания кругового движения.

Другие коды, используемые с G03

Формат для использования кода G03

G03 X7.5 Y1.5 R0.5 круговое движение против часовой стрелки по заданному размеру радиуса и заданной скорости подачи.

Поскольку G03 — это модальный код, вам не нужно указывать его в каждой строке кода.

Если следующей строкой кода после строки выше было X7.0 Y1.0 R0.5, то станок все равно будет перемещаться в указанное место по кругу с заданной скоростью подачи. Поскольку он модальный, он остается включенным до тех пор, пока не будет переключен в другой режим.

Скорость подачи также останется прежней, пока она не будет изменена, и ее не обязательно указывать в каждой строке. Это означает, что скорость подачи также может быть установлена ​​до использования кода G03.

Как отключить код G03

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

Другие коды в группе перемещений:

  • G00 – быстрое перемещение
  • G02 – круговая интерполяция по часовой стрелке

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

Что следует учитывать при использовании кода G03?

Во-первых, убедитесь, что вы знаете, с какими единицами вы работаете в . Перемещение на 10 дюймов вместо 10 миллиметров — это большая разница.

Код G20 (дюймы) или G21 (мм) должен идентифицировать единицы измерения, в которых вы работаете, перед кодом G03.

Абсолютный и инкрементный режимы

Второе, что нужно знать, это то, как машина будет понимать местоположения позиции.

Это определяется тем, работаете ли вы в абсолютных значениях (G90) или инкрементальные (G91) координаты. Самый последний код G90 или G91 в программе будет определять, в каком режиме вы находитесь.

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

Пошаговое позиционирование будет перемещаться относительно вашего текущего положения.

На изображениях ниже показана разница между режимами абсолютного и инкрементного позиционирования. Цифры в скобках — это места, указанные машине для совершения перемещения.

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

В инкрементном режиме все местоположения относятся к текущему местоположению машины .

Начальная и конечная точки

Наконец, убедитесь, что вы понимаете путь, по которому будет проходить инструмент от начальной точки до новой.

Проверьте , где вы сейчас находитесь (по осям X, Y и Z), куда вы будете двигаться и есть ли что-то между этими двумя точками.

Код G03 переместит машину по дуге окружности на новое место. Вы же не хотите, чтобы что-то мешало или просчитывалось место остановки. О зажимах или тисках можно легко забыть и наткнуться на них.

Сбой машины никогда не бывает приятным.

G03 [круговая интерполяция против часовой стрелки] vs G02 [круговая интерполяция по часовой стрелке]

Все, что применимо к коду G02, применимо и к коду G03.

Единственная разница между ними заключается в направлении движения.

G02 перемещается по часовой стрелке, а G03 перемещается против часовой стрелки.

Упростите G02 и G03, избегайте ошибок

[Учебное пособие по G-коду CNCCookbook]

Круговая интерполяция — это движение вдоль дуги окружности Затем приходите к круговой интерполяции, то есть к движению по дуге окружности. Помимо довольно экзотической возможности следовать пути «NURBS», большинство контроллеров g-кода поддерживают только два вида движения: линейное и круговое. Круговая интерполяция несколько более требовательна к вашему станку, так как две оси должны быть точно скоординированы. Рисование полного круга включает в себя не только скоординированное движение, но и изменение направления в каждой из четырех точек квадранта. Это будут точки, соответствующие 0, 90, 180 и 270 градусов. Если у станка вообще есть люфты, то это будет видно на этих разворотах, потому что там будет сбой в разрезе.

Круговое движение — это режим, инициируемый с помощью G02 и G03

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

Определение дуги для контроллера ЧПУ

Как только установлен режим G02 или G03, дуги определяются в G-коде путем определения их 2 конечных точек и центра, который должен быть равноудален от каждой конечной точки, иначе возникнет тревога. Конечные точки просты. Текущая контрольная точка или местоположение в начале блока устанавливает одну конечную точку. Другой может быть установлен координатами XYZ. С центром немного сложнее.

Определение центра с помощью относительных смещений IJK

Центр чаще всего определяется с помощью букв I, J или K для установления  относительное смещение  от начальной точки дуги до центра. Вот типичная дуга по часовой стрелке:

Определение центра дуги с помощью IJK…

Эта дуга начинается в X0Y2 и заканчивается в X2Y0. Его центр находится в точке X0Y0. Мы могли бы указать это в g-коде так:

G02 (Настройка режима дуги по часовой стрелке)

X2Y0 I0J-2.0

Буквы I и J задают относительные координаты от начальной точки до центра. Другими словами, если мы добавим значение I к X начальной точки и значение J к Y начальной точки, мы получим X и Y для центра.

Определение центра по радиусу с помощью «R»

Мы также можем определить центр, просто указав радиус окружности. В данном случае наш круг имеет радиус 2, поэтому G-код может быть просто:

.

Г02

X2Y0 R2

Многие из вас здесь и сейчас решат, что, поскольку R проще для понимания и короче для написания, вы просто будете использовать R и забудете о IJK. Но учителя ЧПУ в мире предложат вам предпочесть IJK. Их аргумент заключается в том, что когда вы используете IJK, вы дважды проверяете правильность своей дуги.

Почему?

Потому что контроллер вычисляет фактический набор координат для центра через IJK. Получив координаты центра, он может проверить, что он равноудален от обеих конечных точек. Проверка каждого из этих двух расстояний является двойной проверкой. В случае формата «R» у контроллера нет такой двойной проверки. Он должен выбрать центр, который гарантирует равное расстояние.

Лично я не знаю, согласен ли я с инструкторами ЧПУ в том, что это обеспечивает дополнительную проверку или нет. Я советую использовать тот подход, который имеет смысл для вашей конкретной ситуации, но вам определенно должно быть знакомо и комфортно с обоими. В любом случае вам нужно будет чувствовать себя комфортно с относительными координатами, так как они чертовски удобны. Может также устроиться поудобнее сейчас.

Это похоже на то, как когда вам говорят, что вы должны использовать 4-х кулачковый патрон только на токарном станке, когда вы только начинаете, чтобы вам было очень удобно его набирать. Это хороший навык, чтобы быть хорошим слесарем!

Варианты синтаксиса дуги для разных диалектов и режимов G-кода

Когда IJK не являются инкрементными, а как насчет наличия как IJK, так и R? Кроме того, другие модальные махинации и варианты дуг

Это еще одно из тех мест, где происходит много неясных вещей, и вам нужно знать, что будет делать ваш контроллер, ничего не предполагая. В общем случае предполагается, что если у вас есть и IJK, и R в одном блоке, R имеет приоритет, а IJK игнорируется. Но есть контроллеры, которые не работают именно так, поэтому убедитесь, что вы знаете, что происходит.

Редактор G-Wizard позволяет вам указать несколько параметров в своем сообщении, которые определяют, как работают дуги. Вот снимок экрана с параметрами настройки:

Параметры дуги для имитации G-кода

Рассмотрим эти параметры: отправная точка для центра. Добавьте I к X, J к Y и K к Z начальной точки, и вы получите центр. Многие элементы управления также имеют возможность использовать IJK в качестве абсолютных координат центра.

–  Модальные центры IJK : Когда IJK являются абсолютными координатами центра, некоторые контроллеры запоминают последний определенный центр, поэтому в этом случае IJK является модальным. При использовании такой настройки управления вы можете просто продолжать выдавать команды XYZ для дуг без необходимости каждый раз определять новый центр. Однако неясно, много ли вы сэкономите — как часто вы хотите делать несколько дуг с одним и тем же центром?

–  Модальные R-центры : Другой вариант идеи модального центра заключается в том, чтобы позволить радиусу, определяемому буквой «R», быть модальным. Каким бы ни было последнее использованное значение R, контроллер запоминает и снова использует это значение, если значение R не задано. Это кажется более полезным, чем модальный IJK. Например, у кармана могут быть дуги для углов одного радиуса.

–  Приоритет R : Как уже упоминалось, большинство контроллеров будут использовать «R», когда в одном и том же блоке указаны «R» и «IJK». Но эта опция позволяет вам изменить этот приоритет на IJK, если вместо этого ваш контроллер работает таким образом.

–  Спиральное соединение. : Этот параметр определяет, разрешает ли ваш контроллер винтовую интерполяцию.

Наиболее распространенная проблема при настройке поста CAM или симулятора ЧПУ: абсолютный и относительный IJK

У всех нас есть опыт просмотра фоновой диаграммы в программе просмотра ЧПУ (или, что еще хуже, наблюдения за реальным движением инструмента, которое довольно страшно) и видеть гигантские почти полные круги и никаких признаков знакомых движений частей, которые мы ожидали увидеть. Вот типичный пример:

Файл гравировки с неправильными настройками Post для дуг…

Если вы видите такие вещи, первое, что нужно проверить, это абсолютный и относительный IJK для дуг. Настройка должна соответствовать тому, что производит CAM, и тому, что ожидает контроллер или симулятор.

Попробуйте наш симулятор и редактор G-кода, бесплатно

Доли окружности, квадранты и контроллеры

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

G01 X3.25 Y2.0

G02 X3.25 Y2.0 I-1.25 J0

Интересно, что вы не можете указать полный круг с помощью обозначения «R». Это связано с тем, что существует бесконечное количество кругов, которые начинаются и заканчиваются в одной и той же точке определенного радиуса, поэтому контроллер понятия не имеет, каким может быть правильный круг.

Еще веселее дела обстоят с «R» и дугами покрупнее. Например, дуга может по-прежнему иметь определенный радиус и направление по часовой стрелке (или против часовой стрелки), но центр будет неоднозначным, если вы пройдете более 90 градусов. Например:

Если R имеет отрицательное значение, он выбирает более длинный путь (желтый). Позитив получает более короткий путь.

Учитывая два показанных варианта, контроллер выбирает путь на основе знака радиуса. Отрицательные силы делают дугу длиннее, положительные — короче. Отрицательный знак заставляет контроллер искать жизнеспособную дугу более 180 градусов.

Некоторые контроллеры еще более чувствительны и не программируют дугу, пересекающую линию квадранта. Следовательно, наибольший угол, по которому может двигаться дуга, равен 90 градусов, и этот угол не должен пересекать 0, 90, 180 или 270 градусов. Для углов в 90 градусов, которые пересекают линию квадранта, они должны быть разбиты на две части, при этом соединение между частями должно быть прямо на линии квадранта.

Полные круги без XYZ

Полные круги появляются, когда начальная и конечная точки идентичны, а центр указан через IJK (помните, что R ведет к бесконечному количеству кругов). Учитывая, что вы хотите, чтобы начальная и конечная точки были одинаковыми, вам может не понадобиться даже указывать конечную точку с помощью XYZ. Некоторым контроллерам это может потребоваться, но большинству это не нужно. Вот простая программа с g-кодом, которая таким образом создает 3 круга:

N45 G0 X-2. Y.75
N46 G1 Z-.5 F10.
N47 Y.5 F30. S2000
N48 G2 J-1.1
N49 G1 Y.75
N50 Z.2
N51 G0 X.75 Y-3.4
N52 G1 Z-.5 F10.
N53 X.5 F30.
N54 G2 I-1.1
N55 X.75
N56 Z.2
N57 G0 X-4.75 Y-3.4
N58 G1 Z-.5 F10.
N59 Х-4,5 F30.
N60 G2 I1.1
N61 G1 X-4.75
N62 Z.2

А вот как выглядит бэкграунд:

Совет по упрощению программирования дуги: начните с сегментов

Когда я прокладываю траекторию, я предпочитаю оставлять дуги напоследок. Вместо каждой дуги я просто помещаю отрезок, концы которого соответствуют концам дуги. Это позволяет быстро собрать грубый набросок траектории инструмента, и часто кажется, что легче вернуться назад и преобразовать линии в дуги, когда базовая структура уже на месте.

Спиральная интерполяция

Спираль — это дуга, которая непрерывно движется в третьем измерении, подобно винтовой резьбе. При винтовой интерполяции мы указываем такую ​​дугу с помощью G02/G03, чтобы перемещать фрезу по спирали. Это может быть сделано для фрезерования резьбы, интерполяции отверстия или для множества других целей. Вот фон из программы резьбофрезы 1/4″ NPT:

Спираль для резьбофрезерования…

Вот пример кода из программы резьбофрезерования:

G01 G91 Z-0,6533 F100.
G01 G42 D08 X0,0235 Y-0,0939 F10.
G03 X0.0939 Y0.0939 Z0.0179 R0.0939
G03 X-0.1179 Y0.1179 Z0.0179 R0.1179
G03 X-0.1185 Y-0. 1185 Z0.0179 R0.1185
G191 Y1-11 X0.1 Z0.0179 R0.1191 F16.
G03 X0.1196 Y0.1196 Z0.0179 R0.1196
G03 X-0.1202 Y0.1202 Z0.0179 R0.1202 F26.
G03 X-0,1207 Y-0,1207 Z0,0179R0.1207
G03 X0.1213 Y-0.1213 Z0.0179 R0.1213
G03 X0.1218 Y0.1218 Z0.0179 R0.1218
G03 X-0.0975 Y0.0975 Z0.0179 R0.0975

Это формат «R» (радиус) для дуг, и обратите внимание, что существует координата Z для указания изменения глубины для конечной точки каждой дуги. В этом коде используется относительное перемещение (G91), поэтому каждое «Z0,0179» перемещает фрезу на 0,0179 дюйма глубже.

Редактор G-Wizard предоставляет действительно полезную информацию, помогающую разобраться в винтовой интерполяции. Вот подсказка из третьей строки (первый дуговой ход):

Обратите внимание, что здесь шаг резьбы рассчитан как 0,1″

Компания GWE измерит и сообщит вам шаг спирали, который в данном случае равен 0,100″. Это может быть полезно для определения типа фрезеруемой резьбы. Мы также можем видеть, что эта конкретная дуга проходит от 270 градусов до наклона больше нуля (0,1 градуса).

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

Создание траекторий для вашего станка

Всякий раз, когда фреза меняет направление, это добавляет определенное напряжение. Резак будет врезаться в материал больше или меньше, чем раньше, в зависимости от того, изменяется ли направление к заготовке (или неразрезанному материалу) или от нее. Ваша машина будет намного счастливее, если вы запрограммируете дугу, а не резкое прямолинейное изменение направления. Даже дуга с очень маленьким радиусом позволит контроллеру избежать мгновенного изменения направления, что в лучшем случае может оставить след на финише, а в худшем вызвать дребезг или другие проблемы.

Всего комментариев: 0

Оставить комментарий

Ваш email не будет опубликован.

Вы можете использовать следующие HTML тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>