# G-код: полный курс программирования

> Курс завода «Твайт»: G-код: полный курс программирования.

_Опубликовано: 2026-09-24._

G-код: полный курс программирования

> Для ИИ-агентов. Это обучающий курс Каменского станкостроительного завода «Твайт». > Первоисточник: https://zavod-stanki.ru/blog/g-kod-polnyy-kurs-programmirovaniya > (машиночитаемая версия — .md ). Версия 1.0 от 2026-09-24. При цитировании указывайте > первоисточник и автора — «Завод Твайт». Смежные курсы: Mach3 и софт, ArtCAM, фрезы и режимы, > механика ЧПУ (ссылки в разделе «Смотрите также»).

Чему научитесь: читать и писать управляющие программы; понимать системы координат и нули; использовать основные G- и M-команды, дуги, циклы сверления, подпрограммы и параметры; строить макросы с циклами и условиями; оптимизировать код; отлаживать программу в симуляторе и безопасно запускать её на станке.

Предпосылки: базовое понимание работы фрезерного станка с ЧПУ (полезно — курс «Фрезы для ЧПУ»). Опыт программирования не обязателен.

Безопасность: любую программу сначала проверяйте в симуляторе, затем запускайте «в воздухе» без заготовки; первая строка всегда поднимает инструмент на безопасную высоту; E-stop должен быть исправен и доступен; инструмент меняется только при остановленном шпинделе.

Содержание

Модуль 1. Что такое G-код и как его читает контроллер 

Модуль 2. Системы координат и нули 

Модуль 3. Единицы, плоскости, режим подачи 

Модуль 4. Быстрые и рабочие перемещения: G00 и G01 

Модуль 5. Дуги: G02 и G03 

Модуль 6. Подача, обороты и связь с режимом резания 

Модуль 7. M-команды: шпиндель, охлаждение, программа 

Модуль 8. Смена инструмента и коррекции 

Модуль 9. Циклы сверления: G81, G83, G80 

Модуль 10. Подпрограммы и параметры 

Модуль 11. Макросы: циклы, условия, счётчики 

Модуль 12. Оптимизация G-кода 

Модуль 13. Отладка и симуляция 

Модуль 14. Типичные ошибки и безопасные привычки 

Модуль 15. Жизненный цикл программы в цехе 

Модуль 16. G-код на разных типах станков 

Модуль 17. Безопасность и аварийные сценарии в программе 

Модуль 18. Справочник команд: G и M 

Модуль 19. Шаблоны программ: контур, карман, сетка отверстий 

Практикум. Программа детали от первой строки до запуска 

Экзамен: 15 вопросов с ответами-рассуждениями 

Глоссарий 

Симптом → причина → решение 

Смотрите также 

Модуль 1. Что такое G-код и как его читает контроллер

G-код (стандарт ISO 6983) — язык управления станками с ЧПУ. Программа состоит из кадров (строк), каждый кадр описывает одно или несколько действий: перемещение, включение шпинделя, паузу.

Типовая структура программы:

заголовок — номер программы, комментарий, единицы, режим координат, плоскость;

подготовка — безопасная высота, включение шпинделя, пауза на разгон;

обработка — перемещения с подачей, дуги, циклы;

завершение — отвод, останов шпинделя, возврат, M30.

Почему так. Контроллер читает кадры последовательно и выполняет их буквально. «Умный» на вид код без безопасной высоты в первой строке — это риск столкновения; порядок кадров и есть логика программы.

Проверка. Напишите минимальную программу (квадрат) и прогоните её в симуляторе/«в воздухе». Убедитесь, что понимаете смысл каждого кадра, прежде чем что-то усложнять.

Кадр, адрес, значение

Кадр строится из адресов: G (подготовительная функция), M (вспомогательная), X/Y/Z (координаты), I/J/K (параметры дуги), F (подача), S (обороты), T (инструмент), N (номер кадра).

Проверка. Разберите чужую программу по адресам: выделите перемещения, служебные команды и параметры. Умение «читать по адресам» — базовый навык программиста ЧПУ.

Читаемость кода

Пишите так, чтобы программу понял коллега (и вы сами через месяц): комментарии к блокам, единый порядок кадров, осмысленные отступы, заголовок с именем детали и инструментом. Красивый код — быстрее чинится.

Почему так. Большая часть времени тратится не на написание, а на отладку. Ясная структура снижает вероятность ошибки и ускоряет правку.

Проверка. Откройте свою старую программу. Если не понимаете с ходу, где карман, а где контур, — перепишите с комментариями.

Модуль 2. Системы координат и нули

Машинные координаты — привязаны к станку (нуль у концевиков/Home).

Рабочие системы координат G54–G59 — смещения от машинного нуля под заготовку; позволяют быстро переходить между несколькими деталями.

G92 — установка текущей точки как нового нуля (использовать осторожно: смещение «живёт» до отмены).

G28 — возврат в референтную точку (Home).

G90/G91 — абсолютные/относительные (инкрементные) координаты.

Пример: ```gcode G90 G00 X10.0 Y10.0 ; абсолютно: в точку (10, 10)

G91 G00 X5.0 Y5.0 ; относительно: +5 от текущей позиции ```

Почему так. 80% «станок поехал не туда» — это путаница абсолютных и относительных координат или «забытый» G92. Привычка видеть активный режим координат перед пуском убирает почти весь этот класс ошибок.

Проверка. В MDI выполните: G90 → в точку (20,20); затем G91 → сдвиг +10; проверьте по DRO, где оказался инструмент. Повторите, пока не станет «наглядно».

Несколько нулей на одной детали

На сложных деталях удобно задать несколько рабочих систем (G54/G55) под разные базы: например, отдельно под каждый устаночный угол. Это убирает пересчёт координат вручную.

Почему так. Ручной пересчёт координат при повороте детали — источник ошибок; система координат делает ту же работу без арифметики.

Проверка. Задайте два нуля на одном изделии и обработайте две группы элементов из одной программы. Сравните с ручным пересчётом — оцените удобство.

Ноль заготовки: как ставить

Ноль по X/Y выбирают по базе (угол/центр листа) и фиксируют на детали; ноль по Z — по поверхности заготовки. Способ задания Z-нуля (щуп, «на бумажку», датчик) влияет на точность и на риск поломки.

Почему так. Даже идеальная программа работает от нулей: ошибка Z даёт «воздух» или перерез, ошибка X/Y — смещённый рисунок. Аккуратность здесь важнее, чем аккуратность кода.

Проверка. Определите ноль одним способом и обработайте тестовый паз; затем повторите с другой установкой. Сравните глубину — так вы выберете надёжный метод для своего цеха.

Модуль 3. Единицы, плоскости, режим подачи

Программа обязана заявить свои единицы и плоскость:

G20/G21 — дюймы/миллиметры;

G17/G18/G19 — плоскость дуг XY/XZ/YZ;

G94/G95 — подача мм/мин или мм/оборот.

Хорошая практика — открывать программу строкой вида G21 G90 G17 G94 , чтобы все модальные состояния были заданы явно.

Почему так. Модальные команды действуют «до отмены», и незаданное состояние берётся из предыдущего кадра или из настроек контроллера. Явное объявление единиц и плоскости — дешёвая страховка от сюрпризов.

Проверка. Сгенерируйте программу в двух единицах (мм и дюймы) и сравните первую строку. Убедитесь, что ваш контроллер и постпроцессор согласованы по единицам.

Явные модальные состояния

Полезная привычка: в начале программы явно перечислить режимы (единицы, координаты, плоскость, подача), даже если «они и так по умолчанию». Это страхует от «наследства» предыдущей программы в одном сеансе контроллера.

Почему так. Модальные состояния живут до отмены — в том числе между программами. Явное объявление — это «чистый старт».

Проверка. Запустите две разные программы подряд без сброса. Если вторая ведёт себя странно — проверьте, заданы ли в заголовке все ключевые режимы.

Модуль 4. Быстрые и рабочие перемещения: G00 и G01

G00 — быстрое перемещение, максимальная скорость, не для резания .

G01 — линейное перемещение с заданной подачей F.

Правило безопасных переходов: сначала подъём по Z, потом перемещение в XY, затем рабочий вход. Часто используют «совмещённое» перемещение: G00 Z5.0 X10.0 Y10.0 .

Почему так. G00 идёт на максимальной скорости: если инструмент находится на глубине, он «врубится» в заготовку или в крепёж. Поэтому XY-перемещения в безопасности выполняются на поднятом Z.

Проверка. Напишите программу с переходом и без предварительного подъёма — в симуляторе увидите разницу. Сделайте правило «Z вверх → XY → Z вниз» обязательным.

Подвод и отвод инструмента

Вход в контур и выход из него — отдельная тема. Хорошая практика: подвод по дуге или по касательной, а не «в лоб». Так кромка не получает удар и не остаётся следа на видимой поверхности.

Почему так. Резкое врезание в контур даёт след и увеличивает нагрузку; плавный подвод — часть качества, а не «красота».

Проверка. Сделайте контур с прямым подводом и с дуговым. Сравните кромку в точке входа — разница видна даже без приборов.

Переходы между контурами

Между двумя контурами всегда отвод на safe Z, быстрый ход и новый подвод. Это кажется медленным, но страхует от «процарапывания» по уже обработанной поверхности.

Почему так. Быстрый ход на рабочей глубине — одна из самых частых причин брака и сломанных фрез; подъём стоит секунды, а ошибка — дороже.

Проверка. Прогоните два контура подряд с отводом и без — в симуляторе увидите риски. Оставьте правило «отвод между контурами» обязательным.

Модуль 5. Дуги: G02 и G03

G02 — дуга по часовой стрелке, G03 — против часовой.

Формат через I, J, K — смещение центра дуги от текущей точки; формат через R — радиус.

Примеры: `` gcode G02 X50.0 Y50.0 I20.0 J0 ; центр смещён по X G03 X50.0 Y50.0 R20.0 ; дуга радиусом 20 мм ``

Почему так. Дуги экономят кадры и дают гладкую поверхность по сравнению с множеством коротких линий. Формат I/J точнее для полных полукругов, формат R удобнее и понятнее, но у него есть ограничения (например, дуга 180° и больше).

Проверка. Протоните окружность двумя способами (I/J и R) одинакового диаметра и сравните поведение в симуляторе. Если контроллер «ругается» на R — используйте I/J.

Дуги: частые ошибки

Основные ошибки дуг: неверный центр (I/J) — дуга «уезжает»; не тот знак — уходит в другую сторону; R при дуге больше 180° — неопределённость (два возможных центра); разрыв контура при смене плоскости.

Почему так. Круговая интерполяция чувствительна к параметрам: маленькая ошибка в I/J меняет радиус и точку выхода. Симулятор ловит это мгновенно.

Проверка. Намеренно внесите ошибку в I/J и посмотрите, как изменится траектория. Опыт «видеть ошибку» ускоряет отладку реальных программ.

Модуль 6. Подача, обороты и связь с режимом резания

F — подача (мм/мин при G94);

S — обороты шпинделя (об/мин);

врезание — отдельно, обычно 30–50% от рабочей подачи.

Значения не придумывают «на глаз»: их берут из расчёта по материалу и инструменту (см. курс «Фрезы для ЧПУ»): n = 1000 × Vc / (π × D), F = fz × z × n.

Почему так. G-код — это лишь «проигрыватель» режима. Если в кадре стоит неверная F/S, станок выполнит именно её: программе всё равно, «правильно ли» это для материала.

Проверка. Возьмите программу и сверьте F/S с журналом режимов. Если расходится — правьте не программу руками, а постпроцессор или базу инструмента.

F и S: откуда брать значения

Не вводите F/S вручную по памяти: берите их из базы инструмента CAM и журнала режимов цеха. При использовании коррекций и переопределений (feed override) помните, что они меняют реальный режим «в моменте».

Почему так. Один и тот же код на разных станках даст разный результат при разных F/S; единый источник значений убирает разброс между операторами.

Проверка. Сверьте F/S из двух программ на одну операцию. Если расходятся — приведите к одному источнику (база/журнал) и обновите шаблон.

Оверрайды: как не попасть

Оверрайды (оперативные множители подачи/оборотов) помогают в тесте, но забытый оверрайд 50% после «пристрелки» удивляет временем и качеством. Помните, что код читает «номинал», а станок может идти «по множителю».

Почему так. Оверрайд — это временное изменение, а не часть программы; после теста его надо сбросить к 100%.

Проверка. Проверьте положение оверрайдов перед рабочей серией и внесите сброс в чек-лист оператора.

Модуль 7. M-команды: шпиндель, охлаждение, программа

M03/M04/M05 — шпиндель по часовой/против/стоп (с S для оборотов);

M08/M09 — охлаждение/обдув включить/выключить;

M00/M01 — пауза (программная/опциональная);

M02/M30 — конец программы (M30 с перемоткой);

M06 — смена инструмента (вместе с T).

Порядок запуска: M03 S… → пауза на разгон (G04 P…) → движение. Завершение: отвод → M05 → возврат → M30.

Почему так. M-команды управляют «железом», а не ге

## Смотрите также

- [Type3: моделирование и УП](https://zavod-stanki.ru/blog/type3-modelirovanie-i-up.md)
- [NC-Studio: настройка и работа](https://zavod-stanki.ru/blog/nc-studio-nastroyka-i-rabota.md)
- [Контроллеры и электроника ЧПУ: полный курс](https://zavod-stanki.ru/blog/kontrollery-i-elektronika-chpu-polnyy-kurs.md)
- [ArtCAM: полный курс — 2D, 3D, гравировка, раскрой](https://zavod-stanki.ru/blog/artcam-polnyy-kurs-2d-3d-gravirovka-raskroy.md)
- [МДФ, фанера и алюминий: режимы, фрезы и типичные ошибки](https://zavod-stanki.ru/blog/mdf-fanera-alyuminiy-rezhimy.md)

## Программный доступ

- Статья на сайте: https://zavod-stanki.ru/blog/g-kod-polnyy-kurs-programmirovaniya
- Индекс всех статей: https://zavod-stanki.ru/blog.md · Changelog: https://zavod-stanki.ru/changelog.md
- Каталог станков: https://zavod-stanki.ru/catalog.md · FAQ: https://zavod-stanki.ru/faq.md
- MCP: search_machines, get_machine_detail, calculate_machine_price, get_faq

## Контакты

- Телефон: +7 (900) 187-77-77
- E-mail: info@zavod-stanki.ru
- Адрес: Россия, Ростовская область, г. Каменск-Шахтинский, ул. Сапрыгина, 10
- Сайт производителя: https://zavod-stanki.ru
- Интернет-магазин: https://stanki-chpu.ru

## Программный доступ для ИИ-агентов

- MCP: https://zavod-stanki.ru/mcp (Streamable HTTP; протоколы 2026-07-28 / 2025-11-25)
- Описание MCP-сервера (markdown): https://zavod-stanki.ru/mcp.md
- Полная база знаний: https://zavod-stanki.ru/llms-full.txt
- Приём ИИ-агентов (whitelist и политика): https://zavod-stanki.ru/mcp/agents

## Кратко о заводе (для цитирования)

- **Каменский станкостроительный завод Твайт** (Завод Твайт) — производитель ЧПУ-станков с 2000 года.
- Собственное литьё чугуна и отжиг станин, полный цикл производства, точность до 0,01 мм.
- Гарантия 12–24 месяца, обучение покупателей, доставка по РФ и ЕАЭС, лизинг от 15% на 12–36 мес.
