Наиболее важные команды G-кода

g-code

Если ваша работа или хобби касаются станков с ЧПУ или 3D-принтеров, то понимание того, что такое G-код и как он работает, имеет важное значение для вас. Итак, в этом руководстве мы изучим основы языка G-кода, каковы наиболее важные или распространенные команды G-кода, и мы объясним, как они работают.

Что такое G-код?

G-code — это язык программирования для станков с ЧПУ (числовое программное управление). G-код означает «геометрический код». Мы используем этот язык, чтобы сказать машине, что делать или как что-то делать. Команды G-кода указывают машине, куда двигаться, с какой скоростью двигаться и по какому пути двигаться.

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

Точно так же в случае аддитивного производства или 3D-принтеров команды G-кода инструктируют машину наносить материал слой за слоем, формируя точную геометрическую форму.

Как читать команды G-кода?

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

команды G-кода
Команды G-кода

Если мы внимательно посмотрим на код, мы можем заметить, что большинство строк имеют одинаковую структуру. Кажется, что «сложная» часть G-кода — это все те числа, которые мы видим, которые являются просто координатами.

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

G01 X247.951560 Y11.817060 Z-1.000000 F400.000000

Строка имеет следующую структуру:

G ## X ## Y ## Z ## F ##

  • Во-первых, это команда G-кода, и в данном случае это G01, что означает «двигаться по прямой в определенное положение».
  • Заявляем положение или координаты с X, Y и Z значений.
  • Наконец, с помощью значения F мы устанавливаем скорость подачи или скорость, с которой будет выполняться перемещение.

В заключение линия сообщает станку с ЧПУ двигаться по прямой от его текущего положения до координат X247.951560, Y11.817060 и Z-1.000000 со скоростью 400 мм / мин. Единица измерения — мм / мин, потому что, если мы посмотрим назад на изображение примера G-кода, мы увидим, что мы использовали команду G21, которая устанавливает единицы измерения в миллиметры. Если нам нужны единицы измерения в дюймах, мы используем вместо этого команду G20.G01 X247.951560 Y11.817060 Z-1.000000 F400.000000

Наиболее важные / распространенные команды G-кода

Итак, теперь, когда мы знаем, как читать строку G-кода, мы можем взглянуть на наиболее важные или часто используемые команды G-кода. Мы узнаем, как работает каждый из них, на нескольких примерах, и к концу этого руководства мы сможем полностью понять, как работает G-код, как читать, как изменять и даже как писать наш собственный G-код. К основным командам G-кода еще можно добавить команды управления оборудованием станка с ЧПУ, которые так же называются М-код. Они отвечают за такие действия как включение шпинделя, подача СОЖ, смена инструмента и так далее.

G00 — быстрое перемещение

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

G00 - быстрое перемещение
G00 — быстрое перемещение

G00 не является режущим движением, и его цель — просто быстро переместить машину в желаемое положение, чтобы начать какую-либо работу, такую ​​как резка или печать.

G01 — линейная интерполяция

Команда G-кода G01 указывает станку двигаться по прямой с заданной скоростью подачи или скоростью. Мы указываем конечную позицию значениями X, Y и Z, а скорость — значением F. Контроллер машины вычисляет (интерполирует) промежуточные точки, через которые нужно пройти, чтобы получить эту прямую линию. Хотя эти команды G-кода просты и интуитивно понятны, за ними контроллер машины выполняет тысячи вычислений в секунду, чтобы выполнить эти движения.

G01 - линейная интерполяция
G01 — линейная интерполяция

В отличие от команды G00, которая используется только для позиционирования, команда G01 используется, когда станок выполняет свою основную работу. В случае токарного или фрезерного станка — резка материала по прямой линии, а в случае 3D-принтера — экструзии материала по прямой линии.

G02 — круговая интерполяция по часовой стрелке

Команда G02 указывает машине двигаться по часовой стрелке по круговой схеме. Принцип тот же что и у команды G01, и она используется при выполнении соответствующего процесса обработки. В дополнение к параметрам конечной точки здесь нам также необходимо определить центр вращения или расстояние начальной точки дуги от центральной точки дуги. Начальная точка фактически является конечной точкой предыдущей команды или текущей точкой.

Для лучшего понимания мы добавим команду G02 после команды G01 из предыдущего примера.

Итак, в первом примере у нас есть команда G01, которая перемещает машину в точку X5, Y12. Теперь это будет отправной точкой для команды G02. С помощью параметров X и Y команды G02 мы устанавливаем конечную точку. Теперь, чтобы добраться до этой конечной точки, используя круговое движение или дугу, нам нужно определить ее центральную точку. Мы делаем это с помощью параметров I и J. Значения I и J относятся к начальной или конечной точке предыдущей команды. Итак, чтобы получить центральную точку по X5 и Y7, нам нужно сделать смещение 0 по оси X и смещение -5 по оси Y.

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

G02 - круговая интерполяция по часовой стрелке
G02 — круговая интерполяция по часовой стрелке

Итак, здесь у нас все еще есть та же конечная точка, что и в предыдущем примере (X10, Y7), но теперь центральная точка находится в другом положении (X0, Y2). Благодаря этому мы получили более широкую дугу по сравнению с предыдущей.

G00, G01, G02 Пример — ручное программирование G-кода

Давайте посмотрим на простой пример фрезерования с ЧПУ с использованием этих трех основных команд G-кода: G00, G01 и G02.

Чтобы получить траекторию для формы, показанной на изображении выше, нам нужно выполнить команды G-кода:

G00 X5 Y5; point B
G01 X0 Y20 F200; point C
G01 X20 Y0; point D
G02 X10 Y-10 I0 J-10; point E
G02 X-4 Y-8 I-10 J0; point F
G01 X-26 Y-2; point B

С помощью первой команды G00 мы быстро переводим станок из исходного положения в точку B (5,5). Отсюда мы начинаем с «резки» со скоростью подачи 200 с помощью команды G01. Здесь можно отметить, что для перехода из точки B (5,5) в точку C (5,25) мы используем значения X и Y относительно начальной точки B. Итак, +20 единиц в направлении Y приведет нас к точке C (5,25). Фактически, это зависит от того, выбрали ли мы машину для интерпретации координат как абсолютных или относительных. Мы объясним это в следующем разделе.

Как только мы достигаем точки C (5,25), у нас есть еще одна команда G01 для достижения точки D (25,25). Затем мы используем команду G02, круговое движение, чтобы добраться до точки E (35,15) с центральной точкой (25,15). На самом деле у нас есть такая же центральная точка (25,15) для следующей команды G02, чтобы добраться до точки F (31,7). Однако мы должны отметить, что параметры I и J отличаются от предыдущей команды, потому что мы смещаем центр от последней конечной точки или точки E. Мы завершаем траекторию инструмента другой командой G01, которая выводит нас из точки F (31, 7) вернуться к пункту Б (5,5).

G00, G01, G02 Пример - ручное программирование G-кода

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

G03 — круговая интерполяция против часовой стрелки

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

G03 - круговая интерполяция против часовой стрелки

Итак, с помощью этих трех основных команд G-кода, G01, G02 и G03, мы можем сгенерировать траекторию инструмента буквально для любой формы, которую мы хотим. Теперь вам может быть интересно, как это возможно, но на самом деле это простая задача для компьютера и программного обеспечения CAM. Да, это правда, что иногда мы можем вручную создать программу G-кода, но в большинстве случаев мы делаем это с помощью соответствующего программного обеспечения, которое намного проще и безопаснее.

G20 / G21 — Выбор единиц

Команды G20 и G21 определяют единицы G-кода: дюймы или миллиметры.

  • G20 = дюймы
  • G21 = миллиметры

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

G17 / G18 / G19 — выбор плоскости G-кода

С помощью этих команд G-кода мы выбираем рабочую плоскость станка.

  • G17 — плоскость XY
  • G18 — самолет XZ
  • G19 — самолет YZ
G17 / G18 / G19 - выбор плоскости G-кода
G17 / G18 / G19 — выбор плоскости G-кода

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

G28 — Возвращение домой

Команда G28 указывает станку переместить инструмент в исходную точку или исходное положение. Чтобы избежать столкновения, мы можем включить промежуточную точку с параметрами X, Y и Z. Инструмент пройдет через эту точку, прежде чем перейти к контрольной точке. G28 X## Y## Z##

G28 - Возвращение в исходную точку
G28 — Возвращение в исходную точку

Исходное положение можно определить с помощью команды G28.1 X## Y## Z##.

G90 / G91 — команды позиционирования G-кода

С помощью команд G90 и G91 мы сообщаем машине, как интерпретировать координаты. G90 — для абсолютного режима, а G91 — для относительного режима.

В абсолютном режиме инструмент всегда позиционируется от абсолютной точки или от нуля. Таким образом, команда G01 X10 Y5 переместит инструмент в эту точную точку (10,5), независимо от предыдущей позиции.

С другой стороны, в относительном режиме инструмент позиционируется относительно последней точки. Таким образом, если станок в настоящее время находится в точке (10,10), команда G01 X10 Y5 переведет инструмент в точку (20,15). Этот режим также называется «инкрементным режимом».

Другие команды G-кода

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

Помимо G-кода, существуют также команды M-кода, которые используются при генерации реальной полноценной программы G-кода. Вот несколько распространенных команд M-кода:

  • M00 — Остановка программы
  • M02 — Конец программы
  • M03 — шпиндель включен — по часовой стрелке
  • M04 — шпиндель включен — против часовой стрелки
  • M05 — остановка шпинделя
  • M06 — Смена инструмента
  • M08 — Система охлаждения ВКЛ.
  • M09 — Система охлаждения ВЫКЛ.
  • M30 — Конец программы

В случае 3D-принтера:

  • M104 — Запуск нагрева экструдера
  • M109 — Подождите, пока экструдер достигнет T0
  • M140 — Запуск подогрева кровати
  • M190 — Подождите, пока стол не достигнет T0
  • M106 — Установить скорость вентилятора

Некоторым из этих команд требуются соответствующие параметры. Например, при включении шпинделя с помощью M03 мы можем установить скорость шпинделя с помощью параметра S. Итак, линия M30 S1000 будет включать шпиндель со скоростью 1000 об / мин.

Мы также можем отметить, что многие коды являются модальными, что означает, что они остаются в силе до тех пор, пока не будут отменены или заменены другим кодом. Например, скажем, у нас есть код для линейного движения резания G01 X5 Y7 F200. Если следующее движение снова будет линейным резанием, мы можем просто ввести координаты X и Y, без надписи G01.

G01 X5 Y7 F200
X10 Y15
X12 Y20
G02 X5 Y5 I0 J-5
X3 Y6 I-2 J0

То же самое относится и к параметру скорости подачи F. Нам не нужно включать его в каждую строку, если мы не хотим изменить его значение.

В некоторых файлах G-кода вы также можете видеть «N ##» перед командами. Слово N просто для нумерации строки или блока кода. Это может быть полезно для идентификации конкретной строки в случае ошибки в огромной программе.

Пример простой программы G-кода

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

Пример простой программы G-кода
Пример простой программы G-кода
%
G21 G17 G90 F100
M03 S1000
G00 X5 Y5; point B
G01 X5 Y5 Z-1; point B
G01 X5 Y15 Z-1; point C
G02 X9 Y19 Z-1 I4 J0; point D
G01 X23 Y19 Z-1; point E
G01 X32 Y5 Z-1; point F
G01 X21 Y5 Z-1; point G
G01 X21 Y8 Z-1; point H
G03 X19 Y10 Z-1 I-2 J0; point I
G01 X13 Y10 Z-1; point J
G03 X11 Y8 Z-1 I0 J-2; point K
G01 X11 Y5 Z-1; point L
G01 X5 Y5 Z-1; point B
G01 X5 Y5 Z0
G28 X0 Y0
M05
M30
%

Описание программы G-кода:

  1. Инициализация кода. Этот символ (%) всегда присутствует в начале и в конце программы.
  2. Линия безопасности: установите программирование в метрической системе (все размеры в мм), плоскость XY, абсолютное позиционирование и скорость подачи 100 мм / мин.
  3. Шпиндель вращается по часовой стрелке со скоростью 1000 об / мин.
  4. Быстрое позиционирование до B (5,5).
  5. Контролируемое движение в той же позиции, но опускание инструмента до -1.
  6. Линейное движение резания в положение C (5,15).
  7. Круговое движение по часовой стрелке до точки D (9,19) с центром в точке (9,15).
  8. Линейный разрез до точки E (23,19).
  9. Линейная резка до точки F (32,5).
  10. Такой же прямой разрез до точки G (21,5).
  11. Еще один прямой разрез до точки H (21,8).
  12. Круговая интерполяция против часовой стрелки в положение I (19,10) с центром в (19,8).
  13. Линейный разрез до точки J (13,10).
  14. Круговая резка против часовой стрелки в положение K (11,8) с центром в точке (13,8).
  15. Линейная резка в положение L (11,5).
  16. Окончательное линейное перемещение резания в положение B (5,5).
  17. Поднимите инструмент.
  18. Перейти в исходное положение.
  19. Шпиндель выключен.
  20. Окончание основной программы.

Вам может также понравиться...

комментариев 7

  1. Здравствуйте. По моему у вас в описании последней полной программы Ж кода ошибка во втором пункте. Выбрана метрическая система G21 , т.е. мм/мин, а вы описываете, как дюймы.

  2. Сергей Григорьев:

    так мног повторяющих функций.как например: М30 и М2. G99 и G98 тоже самое G20 и G21

    • Здравствуйте, Сергей вы ошибаетесь, это совершенно разные функции, даже не смотря на одинаковые названия

  3. Геннадий:

    Здравствуйте. А как залить созданный на бумаге G-код в LaserGRBL?

  4. Юрий Мур:

    Подскажите, есть ли возможность один раз на всю программу настроить отдельную скорость для G0 и G1?
    что-то типа:
    G0 F500
    G1 F50
    и чтобы дальше все G0 без Fxx были по умолчанию со скоростью 500, а все G1 cо скоростью 50
    а не «перебивали» друг друга ???

  5. Юрий Мур:

    Записать его в текстовый файл с расширением *.nc и затем просто открыть этот файл в LaserGRBL.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *


Срок проверки reCAPTCHA истек. Перезагрузите страницу.