G code g3: Круговая интерполяция – G02 и G03
Содержание
Краткое руководство по 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‑кодах. Мы познакомились с синтаксисом написания основных кодов перемещений инструмента, заданием компенсации на радиус инструмента и запрограммировали фрезерование контура со смещением инструмента. Предлагаем вам выполнить несколько заданий, чтобы закрепить полученные знания!
Интерактивное задание
Для закрепления полученных знаний пройдите тест
Стартуем! |
Дальше |
Проверить |
Узнать результат |
Дальше |
Проверить |
Узнать результат |
Дальше |
Проверить |
Узнать результат |
К сожалению, вы ответили неправильно на все вопросы
Прочитайте лекцию и посмотрите видео еще раз
Пройти еще раз |
К сожалению, вы ответили неправильно на большинство вопросов
Прочитайте лекцию и посмотрите видео еще раз
Пройти еще раз |
Неплохо!
Но можно лучше. Прочитайте лекцию и посмотрите видео еще раз
Пройти еще раз |
Отлично!
Вы отлично справились. Теперь можете ознакомиться с другими компетенциями
Пройти еще раз |
Упростите 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
Нам всем приходилось смотреть на фоновую диаграмму в программе просмотра ЧПУ (или, что еще хуже, видеть ее в реальном движении инструмента, которое довольно страшно) и видеть гигантские почти полные круги и никаких признаков знакомых движений частей, которые мы ожидали увидеть. Вот типичный пример:
Файл гравировки с неправильными настройками постобработки для дуг…
Если вы видите подобные вещи, первое, что нужно проверить, это абсолютный и относительный 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 Х.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-1 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 градуса).
Мы вернемся к фрезерованию резьбы более подробно в следующей главе, полностью посвященной этой теме. А пока мы просто хотели, чтобы вы познакомились с идеей, что вы можете создавать спирали так же, как и плоские двумерные дуги.
Создание траекторий для вашего станка
Всякий раз, когда фреза меняет направление, это добавляет определенное напряжение. Резак будет врезаться в материал больше или меньше, чем раньше, в зависимости от того, изменяется ли направление к заготовке (или неразрезанному материалу) или от нее. Ваша машина будет намного счастливее, если вы запрограммируете дугу, а не резкое прямолинейное изменение направления. Даже дуга с очень маленьким радиусом позволит контроллеру избежать мгновенного изменения направления, что в лучшем случае может оставить след на финише, а в худшем вызвать дребезг или другие проблемы. Для небольших изменений направления, возможно, это того не стоит. Но чем резче изменение, с 90 градусов очень резкий, тем больше вероятность того, что вы должны использовать дугу, чтобы облегчить поворот.
Дуги также являются удобным способом входа в рез, вместо того, чтобы фреза врезалась прямо в него. Информацию о входе в рез по дуге см. на странице траектории из курса «Подачи и скорости фрезерования».
Упражнения
1. Найдите руководство по контроллеру ЧПУ и просмотрите настройки дуги, чтобы настроить GWE в соответствии со способом работы вашего контроллера.
2. Поэкспериментируйте с GWE, создав набросок. Создайте несколько траекторий, включающих дуги, пока вам не станет удобно их создавать.
Попробуйте бесплатную пробную версию g-wizard g-code editor…
G02 G03 Круглая интерполяция-Центр CNC
G02 G03 Circular Interpolation
G02 G03 Cirgular.
G02 G03 — это два G-кода, которые мы используем для перемещения по кругу по часовой стрелке и против часовой стрелки. Вам не нужны ведущие нули, поэтому с этого момента я буду называть их G2 и G3.
И, кстати, никогда не используйте букву O, это нулевой номер
GO2 GO3 выглядит почти так же, как G02 G03. Но ваш контроль снесет ему крышу и по-настоящему разозлится на вас.
Это также будет делать некоторые действительно странные вещи, такие как попытка запустить новую программу. Во всяком случае, просто не делайте этого.
Если вы хотите узнать, как это сделать на вашем блоке управления Heidenhain, вам необходимо прочитать эту статью.
О, и, пожалуйста, не называйте это интерполяцией, так как это меня чертовски раздражает.
- Линейная интерполяция — это движение по прямой.
- Круговая интерполяция при движении по кругу.
- Интерполяция — это движение.
Вот и все, давайте двигаться дальше. Это нормально, я не держу зла.
Кто из вас, ублюдков, сказал интерполяцию?
Давайте поговорим о фрезеровании формы
Когда вы фрезеруете форму и хотите двигаться по кругу, используйте G2 или G3
Для дуги по часовой стрелке используйте G2, а для дуги против часовой стрелки используйте G3.
Они оба работают одинаково. В современной системе управления вы программируете конечную точку (фигура XY на фрезерном станке) и требуемый радиус.
Затем ваш контроллер ЧПУ волшебным образом создаст ваш круг. Вы можете запрограммировать любую дугу, как эта, за одним исключением.
Вы знаете, что это такое?
Хорошо, я скажу тебе позже, это нормально не знать. (Просто означает, что вы немного толстый).
Вернемся в школу.
Помните строительство? Конечно, вы делаете.
Мы собираемся фрезеровать верхнюю часть этой детали
Давайте посмотрим, что нужно сделать системе управления, чтобы определить, где находится центр круга.
Он знает свое текущее положение, и в вашей линии G3 вы указываете ему конечную точку и желаемый радиус.
Ну, он достает свой маленький циркуль и чертит два круга в указанном вами радиусе.
Располагает компас сначала в начальной точке и рисует дугу. Затем в конечной точке и рисуется дуга.
Там, где пересекаются эти две дуги, находится точка компаса. Теперь он может ударить по дуге, которая касается вашей начальной и конечной точек.
Возьми себе циркуль и попробуй. Это очень весело.
Вот как работает математика.
Скажите, вы действительно верили, что внутри вашего станка с ЧПУ сидит человечек с циркулем?
Черт возьми, я сдаюсь.
Извините, что солгал, все делается с помощью простой тригонометрии. Но, по крайней мере, я обманом заставил вас понять принцип.
Итак, теперь вы должны начать выяснять, почему вы получаете сигнал тревоги, когда радиус слишком мал. Ваши две дуги просто не пересекаются. Другими словами, вы пытаетесь построить дугу между двумя точками, которые просто не совпадают.
G2 G3 No Pot of Gold
Система управления выдаст вам сигнал тревоги «Конечная точка не найдена», что имеет смысл, поскольку она не может ее найти. Это как горшочек с золотом на конце радуги.
О, прежде чем идти Подробнее о G02 G03
Что насчет вопроса. Когда вы не можете использовать конечную точку и радиус с G02 и G03?
Ответ: Если вы хотите обработать полный круг, используя G02 и G03.
Вы можете это сделать, но вам придется разбить его на две половины. Я не буду больше объяснять, потому что этот метод для слабаков и людей, которые не хотят читать мои статьи.
Вы знаете, кто вы, заказываете Курицу Корму в индийском ресторане.
Ну… далее следует полная ерунда, сдуй чушь, обосрись на следующий день, виндалу.
А теперь дамы и господа печально известные I и J
В Центре обучения ЧПУ мы не слишком рады I и J, когда дело доходит до кружков программирования. Это потому, что тебе больше не нужно беспокоиться об этом в своей хорошенькой головке. Вы почти никогда не нуждаетесь в этом.
Он сказал почти?
Ну да почти. Вы можете программировать вечно и никогда не беспокоиться об использовании I и J с G02 G03. Так что просто иди и посмотри немного порно, а я объясню настоящим программистам, когда ты сможешь его использовать.
В старые времена I и J были единственным способом запрограммировать дугу. Вы бы сказали элементу управления, где находится центр круга и конечная точка. Это громоздко и немного сложно. Вот почему я не говорю вам об этом.
Во всяком случае, есть один действительно хороший простой способ использовать I и J для полного круга. О, и это чертовски легко. Это раз я тебе объяснил.
Щелкните здесь для получения дополнительной информации о полном круге
Когда я был мальчиком сотни лет назад, у меня была игрушка под названием Spiro Graph.
Спирограф, это были дни
Он состоял из набора пластиковых шестеренок. Вы воткнули ручку в отверстие шестерни и покрутили ее вокруг другой шестерни. Немного потренировавшись, вы сможете сделать несколько действительно красивых фотографий. Радовал нас часами. Уровень преступности резко упал в моем районе, когда все это стало известно.
Как это связано с программированием ЧПУ, спросите вы? Что ж, если вы попытаетесь использовать конечную точку и радиус для полного круга, это то, что вы получите:
Если бы ваша начальная точка была X0 Y0, вы бы запрограммировали G3 X0 Y0 R100. предположим, что радиус 100 мм.
Таким образом, в полном круге ваша конечная точка совпадает с начальной точкой. Компьютер может выбрать миллионы кругов. Это будет точно так же, как фигуры выше. Если вы проделаете трюк с компасом, вы поймете, что я имею в виду. Вот почему это невозможно.
In Comes I и J
Итак, какой-то умный парень подумал, черт возьми, я изобрету I и J.
Если мы используем I и J, есть четыре варианта, как указано выше.
Вы можете просто запрограммировать, как показано ниже, полный круг (радиус 20 мм)
- G3 I-20.
- Г3 И20.
- Г3 J20.
- Г3 J-20.
Вот и все.
Итак, вот четыре варианта
Итак, у вас есть фантастический способ запрограммировать полный круг без необходимости разбивать его на две половины или быть умным, как читатель новостей, или какой-нибудь идиот-вдохновитель.
Почему тебе нужно только I, а не X и Y Дейв?
Ради всего святого, не называй меня Дэйв, меня зовут Дэвид.
На днях мне позвонил один очень хороший парень из Африки. Он объяснил мне, что ему нужно получить свое наследство в 10 миллионов фунтов стерлингов из Англии, и если я помогу ему, он даст мне 20 000 фунтов стерлингов. Все, что мне нужно было сделать, это дать ему все данные моего банка и кредитной карты. О, и небольшая разовая выплата в размере 1000 фунтов стерлингов.
Конечно, я согласился, какая выгодная сделка. Как только я собирался это сделать, нахальный ублюдок назвал меня Дейвом.
Я сразу же сказал ему отъебаться. Я просто ненавижу, когда меня называют Дэйв.
Я дала ему номер телефона моей 96-летней матери, потому что думала, что по крайней мере она сможет извлечь из этого пользу. Ее зовут Мэри, поэтому он не мог сократить это. У нее всего 1200 фунтов сбережений, так что это было бы ей огромным одолжением.
Объяснение
Вам не нужно повторно указывать X и Y, поскольку вы уже находитесь в конечной точке
Нажмите здесь для получения дополнительной информации о полном круге
Если вы хотите сделать это на Sinumeric Siemens 840D, прочитайте это
Спасибо за чтение
Не забывайте, что есть еще много людей.
И канал на YouTube
Услуги, предлагаемые в Центре обучения ЧПУ
Обучение Edgecam.
Обучение программистов в классе.
Обучение станкам с ЧПУ на месте.
Обучение работе с ЧПУ по всем элементам управления и станкам.
Всего комментариев: 0