13 полезных команд G-Code и M-Code, которые вы могли не знать

Как и большинство языков кодирования, G-код выглядит немного странно, когда вы видите его впервые. В нем нет очевидной рифмы или причины, цифры не соотносятся друг с другом, и все это может показаться немного бессистемным. Все становится еще более странным, когда вы пытаетесь соотнести сами коды с машинами, с которыми они работают. Какое отношение имеют буквенно-цифровые комбинации к системам координат x-y-z и траекториям инструментов?

Программирование G-кодов является частью встроенного программного обеспечения всех (или почти всех) станков. Токарные станки, фрезерные станки, 3D-принтеры - все они имеют контроллер станка с родным языком g-кода. Хотя эти языки могут отличаться у разных производителей, все они следуют одним и тем же общим принципам, и большинство фактических кодов остаются одинаковыми.

Что такое команды G-кода?

G-код — это сложный, но простой язык программирования, который использует декартовы системы координат, чтобы указать станку, куда двигаться и что делать с заготовкой. Каждая команда начинается с буквенно-цифровой комбинации или кода, который начинается с G или M. Соединяя строки g-кодов, операторы могут автоматизировать весь процесс обработки, определяя рабочие координаты для обеспечения точной резки.

G-коды — это не просто команды "переместить сюда" и "отрезать это". Они включают в себя подпрограммы и подпрограммы (подробнее об этом позже), а также программы, связанные непосредственно с самим станком. Токарный станок будет иметь команды g-кода для включения шпинделя и регулировки его скорости, а фрезерный станок с несколькими инструментами будет указывать номер инструмента и длину инструмента для каждой операции. 3D-принтеры имеют свои собственные команды, например, для нагрева экструдера до заданной температуры.

Отдельные языки G-кода обычно доступны в Интернете и имеют открытый исходный код. Некоторые из них, например, проект RepRap для 3D-принтеров, доступны уже много лет.

13 полезных команд G-Code и M-Code, которые вы могли не знать

Сколько существует команд G-кода?

Полный список G-кодов насчитывает около сотни команд, не считая M-кодов, подпрограмм и т.д. Для этой статьи мы отобрали 13 наиболее распространенных и полезных для программистов G-кодов и M-кодов, включая некоторые, которые могут быть не так хорошо знакомы. Для этой статьи мы отобрали 13 наиболее распространенных и полезных G- и M-кодов для программистов, включая некоторые, которые могут быть не так хорошо знакомы.

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

  • G20/G21 - Обозначение единиц измерения

Миллиметры или дюймы? Используйте команды G20 и G21 для выбора единиц измерения. Это необходимо сделать в начале программы, иначе большинство машин по умолчанию перейдут к базовым настройкам или предыдущей программе.

  • G0/G1 - Линейное перемещение

Переместить инструмент из положения А в положение В. Такова идея команд линейного перемещения. Неудивительно, что это невероятно распространенные команды, встречающиеся в большинстве программ G-кода; по некоторым оценкам, до 90% данной программы G-кода состоит из этих прямолинейных перемещений.

Основная команда перемещения в G-коде основывается на наборе координат места назначения. Эти координаты (X, Y и Z) определяют место завершения перемещения.

  • G17/G18/G19 - Планарный выбор

С помощью этих g-кодов операторы могут задать плоскость, в которой будут выполняться остальные команды. Для большинства станков по умолчанию используется плоскость X-Y (горизонтальная и вертикальная). Но, задав плоскость XZ или YZ, операторы могут добиться несколько иного диапазона операций.

  • G00 - Быстрое перемещение

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

  • G90 - Абсолютное позиционирование

Многие команды g-кода основаны на позиционировании - G0 X20 — это простая команда для перемещения инструмента в заданную координату по оси X. Абсолютный режим упрощает процесс. Есть заданная начальная точка, а затем X20 — это 20 единиц вниз по этой оси. Абсолютное позиционирование используется по умолчанию, но при определенных условиях оно создает определенные трудности.

  • G91 - Относительное позиционирование

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

Большинство g-кодов являются модульными - то есть, они инициируют действие, которое остается в силе до тех пор, пока другое действие не заменит его. G90/91 являются хорошими примерами. Указание относительного позиционирования отменяет абсолютное позиционирование и наоборот.

  • G28 - Авто домой

Домой! Команда G28 отправляет инструмент назад, туда, откуда все началось. Она полезна как в качестве устройства сброса, так и для установки границ и параметров зоны резания. Операторы могут указать среднюю точку в команде G28 для устранения препятствий.

  • G02/G03 - Дуги по часовой стрелке и против часовой стрелки

При использовании команд G02 и G03 необходимо указать начальную точку, конечную точку и среднюю точку. Это задает все параметры дуги на плоскости. Вы можете провести дугу на любой плоскости. Укажите ось x, ось y или ось z с помощью команд выбора плоскости, описанных выше.

  • G81-G89 - Консервированные циклы

Картинка на жести. Консервированные циклы — это мини-программы по умолчанию - вам нужно запрограммировать определенные параметры, но основы программы уже готовы. Консервированные циклы — это в основном циклы сверления и растачивания, включая некоторые операции нарезания резьбы. Использование консервированных циклов ускоряет процесс программирования и позволяет операторам копировать/вставлять одинаковые команды в различные части программы.

13 полезных команд G-Code и M-Code, которые вы могли не знать

Команды М-кода - полезные интерлоперы

Большинство g-кодов стандартизированы, по крайней мере, для определенных категорий станков. G-коды для фрезерных станков должны быть в целом похожи; то же самое с g-кодами для токарных станков, 3D-принтеров и так далее.

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

  • M00 - Остановка программы

Хотите выполнить программу до определенного момента, а затем полностью остановить ее для проверки? M00 — это команда для вас. Она останавливает текущую операцию и сам станок, позволяя вам сменить инструмент, повернуть деталь, очистить станок - все, что вам нужно сделать.

  • M06 - Смена инструмента

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

  • M01 - Дополнительная остановка программы

Если вам может понадобиться смена инструмента, и вы думаете, что хотели бы посмотреть на все поближе, то команда M01 — это то, что нужно. Вставьте команду M01 через регулярные промежутки времени в вашу программу, чтобы создать потенциальные контрольные точки. Большинство станков с ЧПУ имеют дополнительную кнопку остановки; нажмите ее, и станок не выключится немедленно. Он будет выполнять программу, пока не достигнет следующей команды M01, а затем выключится.

  • M30 - сброс программы/возврат к началу работы

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

13 полезных команд G-Code и M-Code, которые вы могли не знать

Код на все времена года

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

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

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

В Интернете можно найти учебники по программированию g-кодов - от реальных занятий до неформальных тренингов на YouTube. Конкретные g-коды, упомянутые выше, стандартизированы для всех станков, но для совершенствования своих навыков вам потребуется более детально изучить списки, относящиеся к конкретным станкам.