G и M коды для программирования фрезерных станков
Современные фрезерные станки достигают высокой точности и производительности благодаря системам числового программного управления (собственно, ЧПУ).
Цифровые команды переводятся в механические действия, задавая траекторию инструмента и режимы обработки.
В статье разберем ключевые аспекты программирования станков: назначение и описание G- и M-кодов, их использование – в том числе и на готовых (и реальных) примерах.
Что такое G-коды станка?
G-код – язык команд для станков ЧПУ. Зародился в 1960-х благодаря ассоциации EIA (она же Electronic Industries Alliance, она же Альянс Электронной Промышленности) – организации, прорабатывающей функциональные стандарты. Однако окончательный стандарт, RS274D, был сформировали лишь к 1980 году.
Позже его утвердили как ISO 6983-1:1982, а в СССР он закрепился за ГОСТом 20999-83, получив название «ИСО-7 бит». С тех пор и по сей день G-код остается востребованным – равно как самостоятельный инструмент, так и в качестве основы для новых языков.
Технически код представляет собой набор инструкций для станков, записанных в виде буквенно-числовых комбинаций. Каждая строка начинается с символа G, за которым следуют параметры, задающие тип и условия операции.
Инструкции можно дать самые разные. Например, линейные и дуговые перемещения, а также типовые технологические процессы: сверление, фрезерование, нарезку резьбы.
Сам же код может создаваться вручную инженерами-технологами или формироваться автоматически через CAD/CAM-системы.
Интересно и то, что многим программистам G-код может показаться несколько примитивным. Но если присмотреться, то это скорее осознанная простота: язык создавался в эпоху, когда вычислительные ресурсы были крайне ограничены. Его задача всегда была узкой и конкретной: оставаться своего рода рациональной лаконичностью и сближаться с ассемблерами – языками низкого уровня, где одно действие вызывает ровно одну операцию – не несколько, как в случае с «верхними» языками. Например, Python.
G-коды для ЧПУ: сводная таблица
Ниже – расшифровка G-кода в таблице:
Код | Функциональное назначение |
G00-G04 | Позиционирование инструмента |
G10 | Корректировка базовой точки координатной сетки |
G11, G15 | Деактивация |
G16 | Активация вычислений в полярных координатах |
G17-G19 | Смена активной плоскости обработки – по XY, ZX и YZ соответственно |
G20-G21 | Без стандартизации |
G40-G44 | Учет геометрии инструмента (поправка на радиус и длину) |
G53-G59 | Выбор другой системы координат |
G80-G85 | Сверление, нарезание, фрезерование |
G90-G91 | Выбор абсолютного (G90) или инкрементального (G91) отсчета координат |
G-коды: стандарты
Программы на этом языке строятся из кадров – пронумерованных командных блоков, разделенных переводом строки. Исключение – стартовый кадр, начинающийся с «%». Завершают же код команды M02 или M30.
Самый типичный пример команды мог бы выглядеть так:
- G21; – установка единиц измерения в миллиметрах
- G90; – абсолютное программирование
- G0 Z10; – подъем инструмента
- G0 X0 Y0; – перемещение в изначальную точку
- G1 Z-5 F100; – опускание инструмента на 5 мм с подачей 100 мм/мин
- G1 X50 Y50 F200; – перемещение к точке (50, 50) с подачей 200 мм/мин
- G0 Z10; – подъем инструмента
- M30; – конец программы
Отметим, что программы всегда требуют строгой организации. Разбивка на кадры допустима, но комментарии оставляются лишь в скобках. Функции допускают многократное повторение в произвольном порядке, если это оправдано логикой процесса.
А еще при генерации кода оператору в любом случае будут необходимы точные данные:
- Габариты детали;
- Толщина съема;
- Глубина реза.
Скорость движения гильотины или плоскость реза указываются первыми в блоке, собственно, предваряясь литерой G – с числовыми координатами.
Отметим, что в ранних версиях станков с ЧПУ команды выполнялись за счет записи данных в специальные ячейки памяти, каждая из которых имела буквенную метку. Исполнительные механизмы считывали значения по адресам и выполняли соответствующие действия. Однако со временем набор адресов расширился: появились числовые идентификаторы (с # в начале), открывающие доступ к портам и системным настройкам.
Таблица технологических кодов (они же М-коды)
M-коды – дополнения к G-кодам. С их помощью оператор контролирует критически важные процессы: запуск и остановку шпинделя, подачу смазочно-охлаждающей жидкости (СОЖ), смену оснастки и т.д. Так, например, M03 инициирует вращение шпинделя, тогда как M05 полностью его останавливает.
Подробнее на командах мы остановимся чуть ниже – в сепарированной таблице.
Исторически M-код возник параллельно с G-кодом – в ответ на необходимость автоматизации некоторых функций ЧПУ.
А уже в 1960-х, на заре числового программного управления, М-команды отвечали за негеометрические действия – например, за всю ту же активацию шпинделя, подачу охлаждающей жидкости. В 1980-х, благодаря стандартизации ISO и ANSI, M-коды получили единый формат, что упростило их массовое применение в промышленности.
Сейчас M-коды – неотъемлемая часть производства. И хотя они не унифицировались так же строго, как описывались G-коды, они все еще следуют достаточно жестким стандартам.
Кстати, различные вендоры также могут добавлять собственные расширения кодов, но это, очевидно, затребует от оператора дополнительной квалификации.
В металлообработке М-коды управляют инструментом и охлаждением, в деревообрабатывающих станках обеспечивают смену оснастки и аварийное отключение.
Дальше – больше.
В производстве пластиковых изделий контролируют резку, в 3D-печати регулируют нагрев экструдера и рабочей платформы.
Ниже – таблица M-кодов:
Код | Функциональное назначение |
M00 | Временная остановка оборудования до ручного запуска оператором |
M01 | Пауза в работе станка при активированном М00 |
M02 | Завершение текущей программы |
M03 | Активация вращения шпинделя (по часовой стрелке) |
M04 | Активация вращения шпинделя (против часовой стрелки) |
M05 | Полная остановка шпинделя |
M06 | Автоматическая смена режущего инструмента |
M07 | Активация дополнительной системы охлаждения |
M08 | Включение основной системы охлаждения |
M09 | Деактивация охлаждения |
M30 | Окончание программы – с возвратом к началу или выгрузкой данных |
M98 | Переход на выполнение подпрограммы |
M99 | Выход из подпрограммы с возвратом в основную программу |
Что-то еще?
Да. Также есть параметры, которые задаются буквами латинского алфавита. Вот их перечень:
Код | Функциональное назначение |
X |
Положение точки по горизонтальной оси (абсцисса) |
Y |
Положение точки по вертикальной оси (ордината) |
Z |
Положение точки по глубинной оси (аппликата) |
F |
Величина рабочей подачи и скорость перемещения инструмента по ней |
S |
Частота вращения шпинделя (оборотов в минуту) |
R |
Радиус дуги |
D |
Компенсация на диаметр и длину |
P |
Время выдержки, количество повторений подпрограммы |
I, J, K |
Параметры дуги |
L |
Количество повторений |
В статье мы рассказали о применении основных G- и M-кодов для станков и ЧПУ и дали их подробное описание. Современное программное управление оптимизирует работу, повышает эффективность производства и точность обработки материалов.
- Комментарии