Что такое g код для чпу. Описание G-кодов

Код G Группа Функция
G00* 01 Позиционирование (ускоренный ход)
G01 01 Линейная интерполяция (подача на врезание)
G02 01 Круговая интерполяция против часовой стрелки
G03 01 Круговая интерполяция по часовой стрелке
G04 00 Выдержка (пауза)
G10 00 Ввод данных программы
G11 00 Ввод данных программы- конец режима
G18* 16 Выбор плоскости ZpXp
G20 01 Черновой цикл за один проход
G21 01 Цикл нарезания резьбы за один проход
G22* 09 Запомненный предел перемещения оси активизирован
G24 01 Цикл подрезания торца за один проход
G28 00 Возврат к референтной точке
G30 00 Возврат к базовым 2-й, 3-й и 4-й точке
G33 01 Нарезание резьбы
G34 01 Нарезание резьбы с переменным шагом
G40* 07 Окончание компенсация радиуса инструмента
G41 07 Компенсация радиуса инструмента справа
G42 07 Компенсация радиуса инструмента слева
G52 00
G53 00 Создание локальной системы координат
G53 00 Создание станочной системы координат
G54* 14 Выбор системы координат детали 1
G55 14 Выбор системы координат детали 2
G56 14 Выбор системы координат детали 3
G57 14 Выбор системы координат детали 4
G58 14 Выбор системы координат детали 5
G59 14 Выбор системы координат детали 6
G65 00 Макровызов
G66 12 Модальный макровызов
G67* 12 Окончание модального макровызова
G70 06 Ввод размеров в дюймах
G71 06 Ввод размеров в мм
G72 00 Цикл чистовой обработки
G73 00 Цикл черновой обработки с несколькими проходами
G74 00 Цикл подрезки торца с несколькими проходами
G75 00 Цикл повторения профиля с несколькими проходами
G76 00 Цикл сверления с с удалением стружки в конце
G77 00 Цикл сверления наружного/внутреннего диаметра
G78 00 Цикл для многозаходной резьбы
G80* 10 Отмена цикла сверления
G83 10 Цикл радиального сверления
G84 10 Цикл осевого нарезания резьбы
G86 10 Цикл радиального сверления
G90* 03 Программирование в абсолютных величинах
G91 03 Программирование в приращениях
G92 00 Установка координатной системы или макс, скорости вращения шпинделя
G94 05 Подача в мм/мин
G95* 05 Подача в мм/оборот
G96 02 Включение постоянной скорости резания
G97* 02 Выключение постоянной скорости резания
G98 11 Возврат к начальной плоскости цикла сверления
G99 11 Возврат к плоскости точки R цикла сверления
G112 21
G113 21
G112 21 Режим интерполяции в полярных коодинатах
G113 21 Аннулирование режима интерполяции в полярных коодинатах

Функции G - это подготовительные функции, которые отражают вид перемещения станка, режим интерполяции и тип размеров. Существует два типа функций G:

Не модальные функции G группы 00, которые активны только в каждом кадре;

Модальные функции G (другие, чем те, которые относятся к труппе 00), действие которых продолжается до тех пор, пока они заменятся другими функциями той же группы.

Функции G, отмеченные звездочкой (*) являются активными при включении станка или после сброса числового управления (RESET).

Если какая-либо функция G запрограммирована, но она не входит в приведенный перечень или если она не соответствует ни одной из деблокированных опций, тогда будет индицироваться аварийное сообщение номер 010.

Многие функции G можно программировать в одном и том же кадре, однако, они не должны принадлежать к одной и той же группе. Если функции G одной и той же группы имеются в одном кадре, тог-да будет отрабатываться только последняя.

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

нелинейное перемещение происходит отдельно по каждой оси X и Z, траектория движения инструмента не прямая.

линейное траектория инструмента - это линейная интерполяция как при С01.

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

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

Скорость подачи задаётся функцией F...

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

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

Направления перемещения, которое вызывается данными функциями в плоскости ZX. Некоторые коды могут отличатся у разных производителей систем ЧПУ , но это редкость.



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

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

Рассмотрим использование станка с ЧПУ для создания несложного барельефа.

Недорогое решение вопроса G-кода для этой цели - простая и удобная программа Bmp2Cnc.

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

Разберём работу с программой по шагам.

Итак, загружаем картинку в программу . Меняем размер изображения на тот, который соответствует размеру будущей барельефа. Вводим значение 100 мм в окошко "Ширина" и, если в чекбоксе ниже стоит птичка, высота картинки изменяется с тем же масштабом:

Далее выбираем ноль. Проще всего за начало координат УП принимать левый нижний угол картинки. Почему? Удобство заключается в том, что габариты барельефа будут в дальнейшем понятнее отображаться в программе управления Mach3, легче далее будет манипулировать управляющей программой - масштабировать деталь, зацикливать, т.е. выполнять несколько одинаковых обработок одной управляющей программой на одной заготовке, и так далее:

Наступает самый интересный момент. Сейчас мы увидим деталь в объеме. В секции "Глубина" мы задаем глубины для белого и черного цвета изображения. Для нашей барельефа размерами 100 на 100 устанавливаем глубину для самого темного оттенка черного сначала 10 мм, нажимаем кнопку "Применить". Через секунду мы видим полученный рельеф в окне графической визуализации:

Нужно добавить еще объему? Задаем глубину 15 мм. Теперь деталь смотрится достаточно объемно:

В следующем диалоге bmp2cnc выбираем подходящий для нашей системы постпроцессор - Mach2-3 в миллиметрах и переходим к выбору инструмента :

Подбираем подходящую фрезу с острым носиком, которая будет достаточно чисто обрабатывать нашу деталь:

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

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

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

Нажатие кнопки "Вычислить" - и мы видим полученные траектории обработки. В отдельном окошке - готовая управляющая программа:

Далее можно запустить имитацию обработки . Анимированный инструмент-фреза на экране программы будет перемещаться по созданным в Bmp2Cnc траекториям, предоставляя нам прекрасную визуализацию работы станка:

Вот и всё . Файл УП G-кодов можно отдавать на станок, а результаты работы можно сохранить как Bmp2Cnc-проект для последующих обращений и изменений, или как Stl или Dxf модель.

Готовая УП G-кодов загружена в Mach3:

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

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

Для управления многочисленными функциями станка с ЧПУ применяется довольно большое число различных кодов. Тем не менее, изучив набор основных G- и М-кодов, вы легко сможете создать управляющую программу.

В табл. 5.1 приведен список базовых кодов, которые мы подробно рассмотрим в этой и последующих главах. А в главе «Справочник G- и М-кодов» вы найдете подробное описание всех стандартных кодов и примеры их использования.

Таблица 5.1. Базовые коды программирования обработки

Код (функция) Назначение и пример кадра с кодом
Осевое перемещение
G00 Ускоренный ход – перемещение на очень высокой скорости в указанную точку
G00 X10. Y20. Z25.
G01 Линейная интерполяция – перемещение по прямой линии на указанной скорости подачи
G01 X10. Y20. F100
G02 Круговая интерполяция – перемещение по дуге по часовой стрелке на указанной скорости подачи
G02 X10. Y20. R10. F100
G03 Круговая интерполяция – перемещение по дуге против часовой стрелки на указанной скорости подачи
G03 X10. Y20. R10. F100
Настройка
G20 Ввод дюймовых данных
G20 G00 X10. Y20
G21 Ввод метрических данных
G21 G00 X10. Y20
G90 Абсолютное позиционирование – все координаты отсчитываются от постоянной нулевой точки
G90 G00 X10. Y20
G91 Относительное позиционирование – все координаты отсчитываются от предыдущей позиции
G91 G00 X10. Y20
Обработка отверстий
G81 Цикл сверления
G81 X10. Y20. Z-5. F30
G82 Цикл сверления с задержкой на дне отверстия
G82 X10. Y20. Z-5. R1. P2. F30
G83 Прерывистый цикл сверления
G83 X10. Y20. Z-5. Q0.25 R1. F30
G85 Цикл растачивания отверстия
G85 X10. Y20. Z-5. F30
Вспомогательные коды (функции)
M00 Запрограммированный останов – выполнение программы временно прекращается
M01 Запрограммированный останов по выбору – выполнение программы временно прекращается, если активирован режим останова по выбору
М03 Прямое вращение шпинделя – шпиндель вращается по часовой стрелке
М04 Обратное вращение шпинделя – шпиндель вращается против часовой стрелки
М05 Останов шпинделя
М06 Автоматическая смена инструмента
М06 Т02
M08 Включение подачи охлаждающей жидкости
M09 Выключение подачи охлаждающей жидкости
M30 Конец программы, перевод курсора к началу программы

Добрый день Уважаемые читатели!

Программа, написанная с использованием G-кода, имеет жесткое строение.

Все команды управления объединяются в кадры - состоящие из одной или более команд.

Кадр завершается символом перевода строки (CR/LF).

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

Если говорить коротко, то наш ПК через USB, просто посылают команды на порт принтера (микроконтроллера), а принтер без прикословно их выполняет.

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

Описание команд будет производится для прошивки MARLIN , возможно будет работать и на других прошивках.

Будут рассмотрены самые только самые основные команды (рабочий минимум), в поисках экзотики, можно пройти по ссылке .

Сами команды делятся на группы:

G - Подготовительные (основные) команды;

М - Вспомогательные (технологические) команды.

Эти команды имеют параметры.

X - Координата точки траектории по оси X [G0 X100 Y0 Z0 ]

Y - Координата точки траектории по оси Y [G0 X0 Y100 Z0 ]

Z - Координата точки траектории по оси Z [G0 X0 Y0 Z100 ]

E - Координата точки выдавливания пластика [G1 E100 F100 ]

P - Параметр команды [M300 S5000 P280 ]

S - Параметр команды [G04 S15 ]

F - Параметр команды, подача (скорость) [G1 Y10 X10 F1000 ]

G - команды

G0 - Холостой ход, без работы инструмента [G 0 X 10 ]

G1 - Координированное движение по осям X Y Z E [G 1 X 10 ]

G4 - Пауза в секундах [G4 S15 ]

G28 - Команда Home - паркуем головку [G28 Y0 X0 Z0 ]

G90 - Использовать абсолютные координаты [G90 ]

G91 - Использовать относительные координаты [G91 ]

G92 - Установить текущую заданную позицию [G92 ]

Пояснение:

Относительные координаты - это координаты относительно текущего положения головки.

На пример, если головка находиться в положении X10 Y10, то при подаче команды G91

G1 X10 F1000 , произойдет смещение головы на 10 мм по оси Х на скорости 1000.

Эту команду можно делать много раз, до достижения «софтового» ограничение в прошивке.

Абсолютные координаты - это координаты, строго привязанные к рабочей области.

При выполнении команды G90 G1 X10 F1000 - головка сместиться в координату X10 на скорости 1000.

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

Обычные команды

M0 - Сделать паузу и ожидать нажатия кнопки на LCD дисплеи (работает если в прошивку установлен параметр ULTRA_LCD) [G0 X10 Y10 Z10 M0 ]

M17 - Подать ток на двигатели (двигатели руками не вращаются)

M18 - Убрать ток с двигателей (двигатели можно вращать руками, аналог M84)

M42 - Управление контактами ARDUINO MEGA 2560 [M42 P4 S255 ]

M80 - Включить питание, только для ATX - блок питания

M81 - Выключить питания, только для ATX - блок питания

M84 - Выключение всех осей (моторов после простоя) [M84 S10 ]

М112 - Экстренная остановка

M114 - Получить текущие координаты

M115 - Получить версию прошивки

M117 - Написать сообщение на экране [M117 Hello World ]

M119 - Получить статус концевиков

M300 - Проиграть звук [M300 S5000 P280 ]

Команды SD карты

M21 - Инициализировать SD карту

M22 - Использовать SD карту

M23 - Выбрать файл с SD карты [M23 filename.gcode ]

M24 - Начать/возобновить печать с SD карты

M25 - Пауза печати с SD карты

M26 - Установить позицию SD карты в байтах [M 26 S 12345 ]

M27 - Узнать статус печати с SD карты

M28 - Записать файл на SD карту [M 28 filename . gcode ]

M29 - Закончить записать файла на SD карте

M30 - Удалить файл с SD карты [M 30 filename . gcode ]

M31 - Получить значение, сколько прошло времени с последнего M109

M32 - Выбрать файл с SD карты и начать печатать [M 32 / path / filename # ]

M928 - Логирование на SD карту [M 928 filename . gcode ]

Экструдер

M82 - Установить экструдер в абсолютную систему координат

M83 - Установить экструдер в относительную систему координат

M104 - Ожидание нагрева экструдера до определенной температуры [M104 S190 ]

M105 - Получить текущую температуру экструдера [M105 S2 ]

M106 - Включение вентилятора обдува детали [M106 S127 ] - мощность 50%

M107 - Выключение вентилятора обдува детали [M 107 ]

M109 - Нагреть экструдер и удерживать температуру [M109 S215 ]

Стол

M140 - Установить температуру стола [M140 S65 ]

M190 - Нагреть стол и удерживать температуру [M190 S60 ]

В Pronterface можно включить режим ответа в меню Settings / Debug communications , программа будет писать все ответы от принтера.

Можно дописать в слайсерах (Slic3r и Cura) в начале и в конце G-код файла.

Или открыть файл с G-кодом в блокноте и написать все руками. =)

M190 S60 - включаем нагрев стола и ждём, пока он не нагреется до температуры 60 градусов

M109 S210 - включаем нагрев сопла и ждём, пока оно не нагреется до температуры 210 градусов

G21 - устанавливает метрическую систему координат

G90 - устанавливает абсолютную систему координат

M82 - устанавливает абсолютную систему координат для экструдера

M107 - выключаем обдув детали

M300 S5000 P280 – звуковой сигнал

G28 X0 Y0 - команда Home X Y

G28 Z0 - команда Home Z

G1 X100 Y100 Z5 F1000 - центруем сопло относительно стола

G92 E0 - обнуляет количество выдавленного пластика

G1 F300 E4 - выдавливаем 4 мм пластика со скоростью 300 мм

M117 Printing - выводит сообщение на экран

M106 S125 - включаем обдув детали со скоростью 50%

G1 Z0 - опускаем сопло на 0 мм

G1 X96.11 Y110.92 E87.55

G1 Z0.2 - поднимаем сопло на 0.2 мм

G1 X96.11 Y111.00 E89.60 - ездим по координатам и выдавливаем пластик

M140 S50 - изменяем температуру стола

G1 Z4.8 - поднимаем сопло на 4.8 мм

G1 X96.11 Y110.92 E87.55 - ездим по координатам и выдавливаем пластик

G1 Z5 - поднимаем сопло на 5 мм

G1 X96.11 Y111.00 E89.60 - ездим по координатам и выдавливаем пластик

G91 - устанавливает относительную систему координат

G1 E-5 F200 - всасывание экструдером 5 мм прутка

M104 S0 - отключением нагрев экструдера

M140 S0 - отключением нагрев стола

M107 - выключаем обдув детали

M84 - выключаем шаговые двигатели

M300 S5000 P280 – звуковой сигнал

Благодарю Вас за внимание!

На производстве, где работают различные станки с числовым программным управлением, используется множество различного программного обеспечения, но в большинстве случаев весь управляющий софт использует один и тот же управляющий код. Программное обеспечение для любительских станков, так же базируется на аналогичном коде. В обиходе его называют "G-код". В данном материале представлена общая информация по G-коду (G-code)

G-code это условное именование языка для программирования устройств с ЧПУ (CNC)(Числовое программное управление). Был создан компанией Electronic Industries Alliance в начале 1960-х. Финальная доработка была одобрена в феврале 1980-о года как RS274D стандарт. Комитет ИСО утвердил G-code, как стандарт ISO 6983-1:1982, Госкомитет по стандартам СССР — как ГОСТ 20999-83. В советской технической литературе G-code обозначается, как код ИСО-7 бит.

Производители систем управления используют G-code в качестве базового подмножества языка программирования, расширяя его по своему усмотрению.

Программа, написанная с использованием G-code, имеет жесткую структуру. Все команды управления объединяются в кадры — группы, состоящие из одной или более команд. Кадр завершается символом перевода строки (ПС/LF) и имеет номер, за исключеним первого кадра программы. Первый кадр содержит только один символ «%». Завершается программа командой M02 или M30.

Сводная таблица кодов

Основные, в стандарте называются подготовительными, команды языка начинаются с буквы G:

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

Подготовительные (основные) команды

Таблица основных команд

Код Описание Пример
G00 Ускоренное перемещение инструмента (холостой ход) G0 X0 Y0 Z100;
G01 Линейная интерполяция G01 X0 Y0 Z100 F200;
G02 Круговая интерполяция по часовой стрелки G02 X15 Y15 R5 F200;
G03 Круговая интерполяция против часовой стрелки G03 X15 Y15 R5 F200;
G04 Задержка на P миллисекунд G04 P500;
G10 Задать новые координаты для начала координат G10 X10 Y10 Z10;
G11 Отмена G10 G11;
G15 Отмена G16 G15 G90;
G16 Переключение в полярную систему координат G16 G91 X100 Y90;
G20 Режим работы в дюймовой системе G90 G20;
G21 Режим работы в метрической системе G90 G21;
G22 Активировать установленый предел перемещений (Станок не выйдет за их предел). G22 G01 X15 Y25;
G23 Отмена G22 G23 G90 G54;
G28 Вернуться на референтную точку G28 G91 Z0 Y0;
G30 Поднятие по оси Z на точку смены инструмента G30 G91 Z0;
G40 Отмена компенсации размера инструмента G1 G40 X0 Y0 F200;
G41 Компенсировать радиус инструмента слева G41 X15 Y15 D1 F100;
G42 Компенсировать радиус инструмента справа G42 X15 Y15 D1 F100;
G43 Компенсировать высоту инструмента положительно G43 X15 Y15 Z100 H1 S1000 M3;
G44 Компенсировать высоту инструмента отрицательно G44 X15 Y15 Z4 H1 S1000 M3;
G53 Переключиться на систему координат станка G53 G0 X0 Y0 Z0;
G54-G59 Переключиться на заданную оператором систему координат G54 G0 X0 Y0 Z100;
G68 Поворот координат на нужный угол G68 X0 Y0 R45;
G69 Отмена G68 G69;
G80 Отмена циклов сверления (G81-G84) G80 Z100;
G81 Цикл сверления G81 X0 Y0 Z-10 R3 F100;
G82 Цикл сверления с задержкой G82 X0 Y0 Z-10 R3 P100 F100;
G83 Цикл сверления с отходом G83 X0 Y0 Z-10 R3 Q8 F100;
G84 Цикл нарезание резьбы
G90 Абсолютная система координат G90 G21;
G91 Относительная система координат G91 G1 X4 Y5 F100;
G94 F (подача)- в формате мм/мин. G94 G80 Z100;
G95 F (подача)- в формате мм/об. G95 G84 X0 Y0 Z-10 R3 F1.411;
G98 Отмена G99 G98 G15 G90;
G99 После каждого цикла не отходить на «подходную точку» G99 G91 X10 K4;

Таблица технологических кодов

Технологические команды языка начинаются с буквы М. Включают такие действия, как:

  • Сменить инструмент
  • Включить/выключить шпиндель
  • Включить/выключить охлаждение
  • Вызвать/закончить подпрограмму

Вспомогательные (технологические) команды

Код Описание Пример
M00 Приостановить работу станка до нажатия кнопки «старт» на пульте управления, так называемый "технологический останов" G0 X0 Y0 Z100 M0;
M01 Приостановить работу станка до нажатия кнопки «старт», если включен режим подтверждения останова G0 X0 Y0 Z100 M1;
M02 Конец программы M02;
M03 Начать вращение шпинделя по часовой стрелке M3 S2000;
M04 Начать вращение шпинделя против часовой стрелки M4 S2000;
M05 Остановить вращение шпинделя M5;
M06 Сменить инструмент M6 T15;
M07 Включить дополнительное охлаждение M3 S2000 M7;
M08 Включить основное охлаждение M3 S2000 M8;
M09 Выключить охлаждение G0 X0 Y0 Z100 M5 M9;
M30 Конец информации M30;
M98 Вызов подпрограммы M98 P101;
M99 Конец подпрограммы, возврат к основной программе M99;