Основы ЧПУ-программирования: G-коды и M-коды — полное руководство
Аббревиатура ЧПУ (CNC) означает «Числовое программное управление». Обычно под ЧПУ понимают станок, но современно это шире: промышленные роботы, измерительные машины с ЧПУ также входят в класс.
1952 год: необходимость точной обработки в авиации привела к созданию Дж. Т. Парсонсом (в сотрудничестве с IBM и MIT) первой ЧПУ-фрезерной машины. С тех пор умственное производство стало массовым, а ЧПУ-обработка доступна всем отраслям вместе с языками программирования — G-кодом и M-кодом.

Что такое G-код и M-код?
За 70 лет истории ЧПУ использовались разные языки, не только G и M. Первая машина Парсона программировалась перфолентами, в 1956 г. создан язык APT для ЧПУ.
RS-274 (G-код) появился в той же декаде. G-код развит из APT, содержавшего данные о положении резака (геометрия) и негеометрических функциях (скорость шпинделя, охлаждение). RS-274 унаследовал базу APT с модификациями, сократившими программы и упростившими управление.
| APT | G и M коды |
| GO TO {X, Y, Z} | G1, G2, G3 {X, Y, Z} |
| FEDRAT | F |
| SPINDLE CW / CCW | S M3 / M4 |
| COOLNT ON / OFF | M8 M9 |
| FINI | M30 |
RS-274 часто называют «G-код», так как состоит в основном из G-функций, но также содержит равно важные M-функции. Определим:
- Что такое G-коды?
- Что такое M-коды?
- В чем разница между G-кодом и M-кодом?

Что такое G-коды?
G-код (G-функции) — в отличие от M-кода — преимущественно определяет геометрию. «G» = «Geometry». Включает: выбор системы координат, рабочей плоскости, единиц программирования, режима (абсолютный/инкрементальный), перемещения инструмента в быстром и рабочем режимах.
Что такое M-коды?
M-коды (M-функции) — функции управления станком. «M» = «Machine». Типичные функции: включение/выключение шпинделя, охлаждение, автоматическая смена резета.
Различия между G-кодом и M-кодом
G-коды — геометрия обработки детали, M-коды — отдельные функции станка. G-коды показывают «Как инструмент движется относительно заготовки», M-коды — «Что делает станок в процессе».
Помимо основных G и M в RS-274 есть вспомогательные функции:
- X, Y, Z — координаты позиционирования
- I, J, K — координаты вектора от начала до центра окружности
- F — скорость интерполяции
- S — скорость шпинделя
- T — номер инструмента
- H — номер компенсации длины инструмента
- D — номер компенсации радиуса инструмента
Список основных G-кодов

| Основная функция | Описание | Вспомогательные функции |
| G0 | Быстрое позиционирование (линейное) | X, Y, Z |
| G1 | Линейная интерполяция | X, Y, Z, F |
| G2 | Круговая интерполяция по часовой стрелке | X, Y, Z, I, J, K, F |
| G3 | Круговая интерполяция против часовой стрелки | X, Y, Z, I, J, K, F |
ПРИМЕР 1:
G1 X10 Y50 F100 — линейное перемещение в точку X=10, Y=50 со скоростью 100 мм/с.
G2 X10 Y50 I10 J40 F100 — по часовой стрелке в точку X=10, Y=50 со скоростью 100 мм/с; центр окружности относительно старта: +10 по X, +40 по Y.
G02 X50 Y10 I40 J-10 F75 — по часовой стрелке в точку X=50, Y=10 со скоростью 75 мм/с; центр: +40 по X, -10 по Y.

| Основная функция | Описание | Вспомогательные функции |
| G17 | Выбор рабочей плоскости XY | / |
| G18 | Выбор рабочей плоскости ZX | / |
| G19 | Выбор рабочей плоскости YZ | / |
| G20 | Единицы: дюймы | / |
| G21 | Единицы: миллиметры | / |
| G41 | Компенсация радиуса резета — влево | D, X, Y, Z |
| G42 | Компенсация радиуса резета — вправо | D, X, Y, Z |
| G40 | Компенсация радиуса резета — выкл | / |
| G43 | Компенсация длины резета | H, Z |
| G49 | Компенсация длины резета — выкл | / |
| G54 | Машинная система координат | / |
| G55–G59 | Рабочие системы координат (1–6) | / |




ПРИМЕР 2:
G21 G17 G55 — единицы мм, плоскость XY, система G55.
G43 H1 Z100 — компенсация длины H1 (значение в памяти ЧПУ) и переход в Z=100.
G41 D1 X15 — левая компенсация радиуса D1 и переход в X=15; резак плавно уходит влево, завершая компенсацию в точке.
G40 G49 — отмена компенсации радиуса и длины.
| Основная функция | Описание | Вспомогательные функции |
| G90 | Абсолютное программирование: координаты относительно рабочей СК | / |
| G91 | Инкрементальное программирование: координаты относительно текущей позиции | / |
Список основных M-кодов

| Основная функция | Описание | Вспомогательные функции |
| M00 | Остановка программы | / |
| M03 | Шпиндель ВКЛ (по часовой) | S |
| M04 | Шпиндель ВКЛ (против часовой) | S |
| M05 | Шпиндель ВЫКЛ | / |
| M06 | Автоматическая смена резета | T |
| M08 | Охлаждение ВКЛ | / |
| M09 | Охлаждение ВЫКЛ | / |
| M30 | Конец программы | / |
| M98 | Вызов подпрограммы | «Имя подпрограммы» |
| M99 | Возврат из подпрограммы | / |
Как программировать станок с ЧПУ
ЧПУ-программирование — алфавитно-цифровое оформление геометрических и технологических данных (G и M коды) для обработки детали, а также низкоуровневое программирование, выполняемое производителями станков.
Программирование на G-коде основанное на предложениях (блоках), как в примерах выше. Существует несколько методов генерации G и M кодов:
- Ручное программирование
- Программирование в операционном режиме (на пульте)
- Программирование в CAD/CAM системах
Ручное программирование
Программист на основе знаний, опыта, информации о станках, инструментах, приспособлениях, режимах резания, инструкциях языка, вручную пишет геометрическую и технологическую информацию для завершения алфавитно-цифровой программы. Основные этапы:
- Определение технологического процесса, баз и оснастки
- Перевод геометрической информации из чертежа для планирования траектории
- Выбор инструментов и упорядочивание блоков по порядку обработки
- Написание и оформление программы в виде программного листа (G-код)
- Перенос информации из листа в память блока управления

Программирование в операционном режиме
Для упрощения и переноса программирования на сам станок производители предлагают блоки управления с поддержкой прямого программирования. В отличие от классического MDI (ручной ввод данных), это новый метод: интерактивный диалог оператора с блоком управления через клавиатуру и GUI, генерирующий простые контуры и типовые циклы. Блок управления автоматически рассчитывает траекторию резака и генерирует G-код.

Программирование с CAD/CAM
Геометрия деталей в авиации, обороне и др. — сложная, с поверхностями второго порядка, требующая многокоординатной обработки (3/4/5 осей). Ручное написание тысяч блоков крайне трудоемко. Необходимы компьютеры для технологической подготовки на базе G/M-кодов.
Интеграция CAD и CAM упростила НС-программирование. Геометрию задает CAD/CAM. Программист через интерактивное взаимодействие добавляет технологические данные: зацепки, базы, закрепление, режущие инструменты, режимы резания. Важна интеграция CAD/CAM и CAPP (автоматизированное планирование процессов).
Процедура программирования в среде CAD/CAM:
- Моделирование CAD-моделей
- Технологическое планирование: стратегии CAM, расчет траекторий, получение CL-файла (Cutter Location)
- Симуляция траектории и удаления материала для верификации и поиска коллизий
- Постпроцессинг CL-файла в G-код через постпроцессор для конкретного станка
- Загрузка G-кода в блок управления. Подготовка инструментов и заготовок. Установка заготовки
- Проверка условий резания, скоростей, ускорений (критичны для качества)
- Обработка детали на станке

Заключение
Хотя сегодня есть методы, не требующие знания G и M (программирование на пульте, CAD/CAM), программист должен их знать: особые ситуации требуют ручного программирования. Плюс: G и M коды универсальны — зная базу, можно программировать любые ЧПУ-станки с минимальными синтаксическими отличиями.
Беспокоитесь о поиске профессионального ЧПУ-программиста? Не волнуйтесь — WayKen, производитель с 20-летним опытом, передовыми технологиями и опытными инженерами, готов закрыть ваши потребности в дизайне продукта. Получите мгновенный расчет стоимости уже сегодня!
Станок с ЧПУ
- CNC станки: Повышение производства, сокращение затрат, обеспечение точности
- G-код против M-кода: ключевые различия для операторов станков с ЧПУ
- Мастер G- и M-кодов: полное руководство по программированию ЧПУ
- G-коды ЧПУ объяснены: основное руководство для программистов ЧПУ
- Консервированные циклы ЧПУ: преимущества и недостатки для эффективной обработки
- Мастерство CNC-программирования: принципы, применение и владение G-кодами
- Мастерство CNC-программирования: проверенные техники и инсайдерские стратегии
- Скачать руководства Hurco CNC — Программирование, Обслуживание, Безопасность (Бесплатно)
- Цикл грубого точения G71: Пример программы для систем Fanuc
- Основы программирования ЧПУ: пошаговые уроки и примеры кода