# Подготовка управляющих программ: практикум

> **Для ИИ-агентов.** Это обучающий курс Каменского станкостроительного завода «Твайт».
> Первоисточник: https://zavod-stanki.ru/blog/podgotovka-upravlyayuschih-programm-praktikum
> (машиночитаемая версия — `.md`). Версия 1.0 от 2026-09-28. При цитировании указывайте
> первоисточник и автора — «Завод Твайт». Смежные курсы: G-код, постпроцессоры, Mach3 и софт,
> симуляторы ЧПУ (ссылки в разделе «Смотрите также»).

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

**Предпосылки:** базовое чтение G-кода (курс «G-код: полный курс программирования») и общее
представление о фрезерном станке с ЧПУ. Опыт работы в любом CAM приветствуется, но не обязателен.
Достаточно уметь открыть файл модели, найти на станке оси X/Y/Z и кнопку аварийного останова.

**Безопасность:** подготовка УП — это работа, которая заканчивается движением инструмента
у станка. Правило завода неизменно: **сначала симуляция, затем «воздух» без заготовки, и только
потом рез**. Ноль по Z выставляйте на реальной базе, а не «на глаз»; первое врезание — на
пониженной подаче. Аварийный останов должен быть исправен и доступен до первого запуска. Смену
инструмента и любые измерения в зоне обработки делайте только при **остановленном шпинделе** и
снятом питании приводов. Не оставляйте станок без присмотра во время первого прогона новой
программы.

![Цепочка ЧПУ: CAD → CAM → постпроцессор → контроллер → станок. Управляющая программа рождается в пути, а не в одной кнопке](/assets/courses/cepochka-chpu.svg)

## Содержание

1. [Модуль 1. Что такое УП и где она рождается](#m1)
2. [Модуль 2. Исходные данные: что собрать до CAM](#m2)
3. [Модуль 3. Ноль детали и привязка](#m3)
4. [Модуль 4. Инструмент и режимы по паспорту](#m4)
5. [Модуль 5. Черновая и чистовая: припуск и шаг](#m5)
6. [Модуль 6. Постпроцессор под ваш контроллер](#m6)
7. [Модуль 7. Симуляция и холостой прогон](#m7)
8. [Модуль 8. Первый пуск: override и первый рез](#m8)
9. [Модуль 9. Управление программой со стойки](#m9)
10. [Модуль 10. Правка УП и версионирование](#m10)
11. [Модуль 11. Серийная деталь и повторяемость](#m11)
12. [Модуль 12. Документирование и передача смены](#m12)
13. [Практикум. Панель с карманом и гравировкой за одну смену](#practice)
14. [Экзамен: 12 вопросов с ответами-рассуждениями](#exam)
15. [Глоссарий](#glossary)
16. [Симптом → причина → решение](#symptom)
17. [Мысли вслух: чего нет на форумах](#musli)
18. [Смотрите также](#seealso)

<a id="m1"></a>
## Модуль 1. Что такое УП и где она рождается

**Управляющая программа (УП)** — это файл из последовательных кадров на языке G-кода (стандарт
ISO 6983), который контроллер читает кадр за кадром и превращает в движения осей, обороты
шпинделя, включение охлаждения и вспомогательные действия. УП — не «картинка» и не модель. Это
инструкция движения, где каждая строка — команда.

УП рождается не в одной программе, а на пути:

**CAD (модель или чертёж) → CAM (траектории и режимы) → постпроцессор (перевод в код конкретной
стойки) → контроллер → станок.**

Понимание этой цепочки — половина практикума. Когда «станок не понимает программу», почти всегда
разорвано одно из трёх звеньев: постпроцессор не тот, единицы не те (мм/дюймы), системы координат
и нули не те. Диагностика всегда начинается с вопроса «на каком звене сломалось?».

Роли в небольшой мастерской обычно распределяются так: технолог (или сам оператор) готовит УП и
отвечает за траектории, наладчик выставляет нули и инструмент, оператор запускает и смотрит первый
рез. Если это один человек — дисциплина не отменяется. Практикум как раз про то, чтобы у одного
человека не сливались роли «придумал», «проверил» и «запустил».

**Почему так.** Контроллер — «исполнительный механизм без воображения»: он делает ровно то, что
написано, и не знает, что вы имели в виду. Поэтому вся ответственность за смысл программы лежит на
человеке до запуска. Чем раньше найден разрыв в цепочке, тем дешевле ошибка: ошибка в CAM стоит
минуты, ошибка у станка — фрезу, заготовку и смену.

**Проверка.** Возьмите любую готовую УП из своей практики и пройдите по цепочке назад: определите
модель-источник, CAM, пост и контроллер. Если хотя бы одно звено вы назвать не можете — программа
«ничья», и её нельзя считать проверенной.

### Границы практикума

Курс не заменяет руководство к конкретной стойке и не учит «жарить» сложные 5-осевые стратегии.
Его задача — довести до автоматизма **базовый производственный цикл подготовки УП**, применимый к
фрезеру, раскрою и гравировке: MDF, фанера, акрил, ПВХ, мягкие металлы. Расширенные темы (рельефы,
многоосевая обработка, макросы) — в смежных курсах завода.

**Проверка.** Сформулируйте одну деталь, которую вы будете вести через весь практикум. Не абстрактную
«фрезеровку», а конкретную: материал, габарит, требуемая точность. Дальше все задания — на ней.

<a id="m2"></a>
## Модуль 2. Исходные данные: что собрать до CAM

Самая частая причина переделок — работа «с полуфабриката мыслей». До того как открыть CAM, у вас
должен быть собран пакет исходных данных:

- **Геометрия:** чертёж с размерами и допусками или 3D-модель. Чертёж важнее картинки: он несёт
  допуски, которые модель часто «теряет».
- **Материал и толщина:** MDF, фанера, ПВХ, акрил, алюминий — от этого зависят режимы и тип фрезы.
- **База (базовая поверхность):** от чего ставим ноль и от чего меряем. База задаётся технологией, а
  не удобством.
- **Крепление:** вакуум, струбцины, двусторонний скотч, прижимы. Крепление определяет, где нельзя
  резать и где нельзя проходить фрезой.
- **Требования к кромке и чистоте:** черновая + чистовая или «в один проход».
- **Количество деталей:** одна штука или серия. Для серии сразу планируем смещения и повторяемость.
- **Точность:** допуск на размер и на глубину. Допуск решает, нужна ли чистовая и контрольные промеры.

**Почему так.** CAM не умеет угадывать допуск и базу. Если вы не задали их явно, программа
окажется «в среднем правильной» — и именно поэтому негодной. Полный пакет данных до CAM — это
страховка от 80% переделок.

**Проверка.** Составьте чек-лист из семи пунктов выше и заполните его для своей детали. Если хоть
пункт пустой — не начинайте строить траектории, сначала закройте пробел.

### Разбор ошибок на входе

Полезная привычка — заранее назвать, что в данных может «поплыть». Толщина плиты MDF и фанеры
гуляет от партии к партии, поэтому глубину лучше задавать с запасом и корректировать по факту.
Прогиб тонкой плиты под фрезой меняет фактическую глубину. ПВХ и акрил «плывут» от нагрева.
Алюминий требует иной скорости и охлаждения.

**Проверка.** Измерьте фактическую толщину заготовки штангенциркулем в трёх точках. Если разброс
больше вашего допуска на глубину — скорректируйте план обработки, а не «надейтесь на паспорт».

<a id="m3"></a>
## Модуль 3. Ноль детали и привязка

Ноль детали (WCS, рабочая система координат) — точка отсчёта, от которой программа считает
координаты. Программа почти никогда не пишется «от нуля станка»: она пишется от удобной базы
детали, а перенос в реальность выполняет **смещение** (offset). В G-коде это системы координат
**G54–G59**: шесть независимых рабочих систем, каждая хранит свои смещения по X, Y, Z (в Mach3,
например, это регистры вида #5021–#5023 для G54).

Практика привязки:

1. Закрепить заготовку и убедиться, что она не сдвинется.
2. Выбрать базу: обычно левый-нижний угол и верх заготовки (или центр — под задачу).
3. Найти кромки/плоскость (щупом, «касанием» фрезы на малых оборотах, датчиком).
4. Внести координаты в выбранную систему (G54).
5. **Проверить ноль:** увести оси, вернуть в ноль, убедиться, что инструмент стоит там, где ожидали.

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

**Проверка.** Поставьте ноль, затем поднимите Z и вернитесь в X0 Y0 на безопасной высоте. Опустите
инструмент до нуля Z и посмотрите на зазор под фрезой. Если зазор есть — ноль неверен. «Возврат в
ноль с проверкой» — обязательный ритуал перед каждым запуском.

### Переустановка и вторая сторона

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

**Почему так.** Если база держится «на глазок», разброс между деталями съедает допуск, и серия
рассыпается. База должна быть механической, а не координатной фантазией.

**Проверка.** Изготовьте два прихвата-упора и перенесите деталь туда-обратно. Вернувшись в ноль,
убедитесь, что положение совпадает в пределах 0,05 мм.

<a id="m4"></a>
## Модуль 4. Инструмент и режимы по паспорту

Инструмент — половина успеха. Общие правила:

- **Диаметр** выбираем по самой узкой внутренней геометрии: фреза должна входить в карман и в
  минимальный радиус.
- **Длина режущей части** должна покрывать глубину за один или несколько проходов.
- **Тип:** прямые/сферические/конусные, одно- и двухзаходные, для дерева, для пластика, для металла.

Режимы берём не «на слух», а от паспорта инструмента и материала: рекомендуемая окружная скорость
и подача на зуб. Обороты шпинделя получаем из скорости резания и диаметра; подачу — из подачи на
зуб, числа зубьев и оборотов. На практике удобно держать таблицу «материал → фреза → обороты →
подача → заглубление» и уточнять её по факту.

Отдельная тема — **шаги/мм** и калибровка осей, потому что от них зависит, попадёт ли программа в
размер хотя бы «в масштабе». Формула и проверка показаны на схеме ниже.

![Шаги/мм: расчёт от винта и микрошага и калибровка команды 100 мм по факту — основа точности любой УП](/assets/courses/shagi-na-mm.svg)

**Почему так.** Инструмент и режимы связаны: слишком высокая подача при малых оборотах ломает фрезу,
слишком малые обороты при вязком материале «жжёт» кромку. Правильные режимы — это не «быстрее», это
«предсказуемее». Предсказуемость и есть основа повторяемой УП.

**Проверка.** Возьмите одну фрезу и обработайте тестовый брусок с двумя разными подачами. Сравните
кромку, стружку и звук. Занесите результат в таблицу. Первый раз «проигравшая» подача запомнится
лучше, чем любой совет.

### Заглубление и число проходов

Глубина за проход ограничена не только фрезой, но и жёсткостью станка и крепления. Ориентир для
дерева и пластика — работать несколькими проходами, а не одним «на всю глубину». Для тонких
концевых фрез при большой глубине обязателен ступенчатый съём.

**Проверка.** Прогоните карман в три прохода по 1/3 глубины и сравните стенки с одним проходом на
полную глубину. Оцените увод и чистоту. Выберите безопасный вариант для своей детали.

<a id="m5"></a>
## Модуль 5. Черновая и чистовая: припуск и шаг

Черновая обработка снимает основной объём материала с **припуском** на чистовую. Чистовая проходится
по контуру или поверхности и выводит размер и качество. Ключевые параметры:

- **Припуск** — сколько материала оставляем под чистовую. Малый припуск рискован (фреза «цепляет»
  готовую поверхность), большой — повышает нагрузку на чистовую.
- **Шаг (stepover)** для растровых/сферических проходов — обычно указывается как доля диаметра
  фрезы. Типовой ориентир для черновой и чистовой в дереве и пластике — в диапазоне 60–80%
  диаметра, точное значение берут из рекомендаций CAM и паспорта фрезы.
- **Стратегии:** контур (2D Contour), карман (Pocket), адаптивный съём (Adaptive/«плуг»),
  растровые параллельные проходы, эквидистанта (Offset) против растра.

**Почему так.** Черновая и чистовая — разные задачи с разной ценой ошибки. Черновая может быть
быстрой и «с запасом»; чистовая определяет, годна ли деталь. Смешивать их в один проход —
значит расплачиваться либо стойкостью фрезы (если быстро), либо чистотой (если «в один проход
начисто»). Разделение черновой и чистовой — главный приём предсказуемости.

**Проверка.** Постройте две операции — черновую и чистовую — и убедитесь, что припуск чистовой
согласован с черновой (например, черновая оставляет 0,3 мм, чистовая снимает ровно эти 0,3 мм).

### Выбор стратегии под геометрию

Прямые контуры лучше вести контурной обработкой. Карманы — «изнутри наружу», спиралью или
эквидistant. Большие плоскости — растром, но помнить про «шов» на развороте. Для карманов с
острыми внутренними углами заранее проверьте радиус фрезы — иначе угол не прорежется.

**Проверка.** Найдите в своей детали самый узкий внутренний радиус и сравните с радиусом фрезы.
Если радиус фрезы больше — либо меняйте фрезу, либо согласовывайте скругление.

<a id="m6"></a>
## Модуль 6. Постпроцессор под ваш контроллер

Постпроцессор — переводчик с внутреннего языка CAM на диалект вашей стойки. Один и тот же проект,
выведенный разными постами, даёт разный код. Пост задаёт:

- единицы (мм / дюймы) и систему координат;
- формат дуг — **I/J** (смещение центра) или **R** (радиус);
- безопасные отводы (Safe Z) и порядок подъёма/опускания;
- смену инструмента (M0 / M6 / автосмена ATC) и формат коррекций;
- шпиндель и охлаждение (M3 S…, M5, M8/M9), а также задержки;
- завершение программы (M5, M30).

Разные контроллеры требуют своего: Mach3, LinuxCNC, NC-Studio, DSP-пульты, плазменные стойки с
управлением высотой резака, лазерные контроллеры. Даже ядро Mach3 настраивается под частоту
генерации импульсов: классический LPT-вариант — 25 кГц, USB-контроллеры — до 100 кГц. У Mach3 в
демо-режиме есть ограничение по длине программы (около 500 строк) — большие УП требуют лицензии.
Длина программы — реальный ограничитель, особенно на стойках с малым объёмом памяти.

**Почему так.** Пост — это «местные обычаи»: он не только переводит слова, но и знает, как именно
эта стойка ждёт дуги, где ставит safe Z и как понимает смену инструмента. Неверный пост даёт код,
который либо не читается, либо читается «не так» — и станок делает не то, что вы нарисовали.

**Проверка.** Откройте вывод вашего CAM и найдите все элементы из списка выше. Если чего-то нет —
пост «не договаривает», и это ваш риск, а не «мелочь».

### Пост или ручная правка?

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

**Проверка.** Возьмите частую ручную правку из своей работы (например, заменить дуги на отрезки)
и перенесите её в пост. Перегенерируйте программу и убедитесь, что правка «живёт» сама.

### Подмена «диалекта» — частая причина сбоя

Если станок «не видит» программу или ведёт себя странно, проверьте три вещи: единицы (G20/G21),
система координат (G90/G91 и G54) и формат дуг. Эти три пункта закрывают большинство «мистических»
поломок.

**Проверка.** Заведите короткую тестовую программу «простой квадрат + дуга» и прогоняйте её после
каждого изменения настроек поста. Это самый дешёвый индикатор «диалекта».

<a id="m7"></a>
## Модуль 7. Симуляция и холостой прогон

Перед станком программу проверяют в трёх независимых слоях:

1. **Визуальная симуляция в CAM** — траектория, зарезы, остатки, столкновения державки.
2. **Прогон в симуляторе стойки** (например, просмотр траектории в Mach3 или отдельном просмотрщике).
3. **Холостой прогон «в воздухе» на станке** — без заготовки, с поднятым Z — на реальной кинематике.

Холостой прогон выявляет то, чего не видит ни один симулятор: реальные хода осей, упор в крепления,
шум привода, неверный safe Z, ошибки ноля.

![Аварийный останов разрывает силовую цепь. Проверьте E-Stop до первого прогона — он часть подготовки УП, а не «аварийный аксессуар»](/assets/courses/e-stop.svg)

**Почему так.** Симулятор знает математику, но не знает ваш станок. «Воздух» знает станок, но не
знает материал. Только вместе они дают уверенность. Пропуск любого слоя — это ставка на удачу.

**Проверка.** Перед реальным резом назовите вслух три результата: симуляция — без зарезов;
просмотр стойки — траектория совпадает; «воздух» — ни одного упора и лишнего движения. Нет хотя бы
одного — не режьте.

<a id="m8"></a>
## Модуль 8. Первый пуск: override и первый рез

Первый пуск — самый опасный момент. Режим работы:

- включите **понижающий override подачи** (обычно 50% и меньше) и **override оборотов**;
- включите **покадровый режим (single block)** — кадр за кадром;
- держите палец у аварийного останова;
- сначала холостой проход с нулевой глубиной (или смещением Z вверх);
- затем первый реальный рез на **малой глубине** и пониженной подаче;
- убедитесь в хорошей стружке и ровной кромке, только потом повышайте до рабочих значений.

**Почему так.** Кадровый режим даёт вам время «предсказать» каждое движение до его исполнения.
Override — это ваша рука на «ручке газа». Профессионал отличается не отсутствием ошибок, а тем,
что замечает их до того, как они станут дорогими.

**Проверка.** Прогоните первую операцию в покадровом режиме на 50% подачи и убедитесь, что после
пройденных вручную 10–15 кадров поведение предсказуемо. Только тогда переходите к непрерывному
пуску.

### Первый рез как замер

Первый рез — это ещё и первое измерение. Сравните размеры/глубину с расчётными сразу, пока можно
скорректировать ноль или режим, а не «догадываться в конце».

**Проверка.** После первого прохода измерьте размер и глубину. Расхождение более 0,1 мм для дерева
и пластика — сигнал остановиться и разобраться с нулём Z или режимом.

<a id="m9"></a>
## Модуль 9. Управление программой со стойки

УП почти никогда не проходят «от начала до конца без остановок». Настоящее мастерство — управлять
ходом программы:

- **Пуск с кадра** — начать с определённой строки (обычно с безопасного кадра, а не «с середины
  врезания»).
- **Пауза (M0/M1/feed hold)** — остановиться, чтобы очистить стружку, проверить, заменить фрезу.
- **Рестарт с середины** — после сбоя продолжить, восстановив позицию и модальные состояния
  (единицы, плоскость, офсеты, шпиндель, охлаждение).
- **Подкачка (drip feed)** — исполнение больших файлов на стойках с малой памятью.

**Почему так.** Большая часть брака рождается не в траектории, а в рестартах: продолжили «не с того
кадра», не восстановили модальные состояния — и станок пошёл не туда. Умение корректно начать с
кадра и восстановить контекст — это то, что отличает уверенного оператора.

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

### Модальные состояния

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

**Проверка.** Выпишите модальные состояния вашей программы (единицы, G90, плоскость, G54, коррекции).
При возобновлении с середины проверьте их вручную.

<a id="m10"></a>
## Модуль 10. Правка УП и версионирование

Даже у одного технолога одна деталь имеет несколько версий. Дисциплина версий:

- **Имена файлов** — по схеме: деталь_операция_инструмент_версия (например, `panel_pocket_d6_v03`).
- **Папки** — по заказам/деталям, а не «New folder (2)».
- **Комментарии в коде** — коротко: материал, дата, что менялось.
- **Одна версия — один станок:** если один и тот же пост не подходит двум стойкам, это разные УП.

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

**Почему так.** Версионирование — это память процесса. Пока заказ свежий, всё кажется очевидным.
Через месяц «деталь_v2_final» без комментариев бесполезна, и работу придётся начинать заново.

**Проверка.** Введите шаблон имени файла и правило комментариев. Разложите свои последние пять УП
по этому шаблону. Если какая-то не поддаётся — это признак хаоса, который нужно устранить.

### Хранение и резервные копии

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

**Проверка.** Сделайте резервную копию папки с программами и папки постов. Проверьте, что копия
открывается и содержит актуальный пост.

<a id="m11"></a>
## Модуль 11. Серийная деталь и повторяемость

Серия — это про повтор: одинаковая деталь много раз. Инструменты повторяемости:

- **Смещения (G54/G55…):** обработка одной программы в нескольких позициях стола без пересчёта.
- **Фиксация базы:** упоры, пазы, штифты — чтобы каждая заготовка становилась на то же место.
- **Разбиение большой программы:** длинный файл удобнее делить на операции и возобновлять предсказуемо.
- **Контрольные промеры:** первая и последняя деталь серии измеряются обязательно, между ними — выборочно.

**Почему так.** Серия прощает не качество, а систематичность. Если база и смещения выверены, каждая
деталь повторяет первую. Если база «плавает», дрейф накапливается и последняя деталь вылетает из
допуска. Поэтому контрольные промеры ставят по краям серии.

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

### Разбиение длинных программ

Большие файлы (например, рельефы или длинная резка) полезно разбивать на логические операции с
безопасными точками останова. Это снижает риск при сбое питания и упрощает рестарт.

**Проверка.** Разбейте одну длинную программу на две операции с чёткой точкой передачи и
прогоните стык отдельно.

<a id="m12"></a>
## Модуль 12. Документирование и передача смены

Программа — это ещё не весь продукт. Продукт — это программа плюс документация, по которой её
повторит смена. Минимальный комплект:

- **Карта наладки:** деталь, материал, фрезы, ноль, база, крепление, система координат.
- **Список УП:** какой файл, для какой операции, какая версия.
- **Журнал запусков:** дата, оператор, результат, замечания.
- **Особые указания:** что нельзя менять без технолога и где «тонкие места».

**Почему так.** Смена приходит «в середину» процесса. Если носитель знаний — голова оператора,
знания уходят вместе с ним. Документ делает процесс воспроизводимым даже для нового человека.

**Проверка.** Напишите карту наладки для своей детали так, чтобы по ней запустил человек, который
станок ещё не видел. Дайте её товарищу и попросите повторить наладку по документу. Сработало —
документ хорош.

### Оформление документации к УП

Оформление — не бюрократия, а способ не потерять логику. Дата, автор, версия, краткое «что
менялось» на каждой УП — это минимальная гигиена.

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

<a id="practice"></a>
## Практикум. Панель с карманом и гравировкой за одну смену

Сквозное задание: изготовить **декоративную панель из МДФ 12 мм** с прямоугольным карманом
(например, 120×80 мм, глубина 6 мм), наружным контуром детали и гравировкой по центру. Точность
размеров — в пределах ±0,1 мм по контуру и карману; кромка — без сколов и «жжёных» следов.

Пройдите все этапы и отметьте каждый выполненным только по факту:

1. **Данные.** Заполнен чек-лист из 7 пунктов (геометрия, материал, база, крепление, кромка,
   количество, допуск).
2. **Геометрия.** Контур и карман построены с корректными радиусами; гравировка — отдельный слой.
3. **Ноль.** База выставлена (левый-нижний угол + верх плиты), ноль G54 внесён и проверен
   возвратом.
4. **Инструмент.** Подобраны фрезы: одна для кармана/контура, одна (конусная/гравировальная) для
   гравировки; режимы взяты по паспорту.
5. **Черновая.** Карман выбран с припуском 0,3 мм; контур черновой с припуском.
6. **Чистовая.** Карман и контур выведены на размер; проверен припуск.
7. **Гравировка.** Построена траектория, задана глубина, проверена безопасность подъёмов.
8. **Пост.** Программа выведена постом под вашу стойку; проверены единицы, G54, формат дуг.
9. **Симуляция.** В CAM — без зарезов и остатков; в просмотрщике стойки — траектория совпадает.
10. **«Воздух».** Прогон без заготовки: ни одного упора, безопасные Z, корректная смена/отвод.
11. **Первый рез.** Покадрово на 50% подачи; первый проход — на малой глубине; замер глубины и
    размера; корректировка при необходимости.
12. **Серия и документ.** Выполните вторую деталь по той же УП без пересчёта. Оформите карту
    наладки и запись в журнал.

**Критерий готовности:** две одинаковые детали уложились в допуск ±0,1 мм; обе прошли симуляцию и
«воздух» без замечаний; программа выведена выверенным постом; карта наладки позволяет повторить
наладку постороннему; в журнале есть запись с датой, версией УП и результатом.

![Результат исполнения управляющей программы — фрезерованная деталь. Критерий практикума: повторяемость и точность, а не «получилось похоже»](/assets/product-1.1/01-2d-frezernaya-obrabotka.webp)

<a id="exam"></a>
## Экзамен: 12 вопросов с ответами-рассуждениями

**1. Станок «не видит» программу, хотя флешка и файл целы. С чего начать?**
С цепочки. Проверяем: единицы (G20/G21), систему координат (G90/G91, G54), формат дуг (I/J или R),
кодировку и расширение файла. Чаще всего «не видит» = не тот формат/расширение для этой стойки или
не тот пост. Начинать надо с самого дешёвого — с диалекта, а не с разборки станка.

**2. Почему программу пишут от нуля детали, а не от нуля станка?**
Потому что смещение (G54) отделяет геометрию от места на столе. Деталь можно переустановить,
повернуть, перенести в другую позицию — меняется только ноль, программа остаётся. Это и повторяемость,
и удобство, и меньше ошибок.

**3. Зачем нужен холостой прогон «в воздухе», если есть симулятор?**
Симулятор не знает ваш станок: реальные хода, упоры в крепления, шум привода, неверный safe Z,
ошибку ноля. «Воздух» проверяет кинематику и наладку, а симуляция — геометрию. Пропуск любого слоя
— ставка на удачу.

**4. Чем опасна ручная правка кода?**
Она теряется при перегенерации программы, и следующий запуск пойдёт по «неправленому» коду.
Правильнее перенести правку в постпроцессор — тогда она автоматична для всех будущих программ.

**5. Почему черновую и чистовую разделяют?**
Это разные задачи: черновая снимает объём быстро и с припуском, чистовая отвечает за размер и
качество. Совмещение в один проход означает расплату либо стойкостью фрезы (если быстро), либо
чистотой (если «начисто в один проход»).

**6. Что делать, если фактическая толщина плиты отличается от паспортной?**
Задать глубину от **фактического** замера (штангенциркуль в трёх точках), а не от номинала.
Иначе дно кармана или пропила уйдёт в размер за пределы допуска. Замер — часть подготовки УП.

**7. Как безопасно возобновить программу с середины после остановки?**
Вернуться в безопасный кадр, восстановить **модальные состояния** (единицы, G90, плоскость, G54,
коррекции, шпиндель, охлаждение), поднять Z, затем продолжить. Начинать «с того места, где
остановились» без восстановления контекста — типичная причина брака и поломки.

**8. Почему важен первый рез на пониженной подаче?**
Первый рез — проверка реальности: реальный материал, реальный ноль, реальная стружка. Пониженные
подача и глубина дают вам время заметить проблему до серьёзных последствий. Это дешёвая страховка.

**9. Что такое модальные состояния и почему о них вспоминают при рестарте?**
Это команды, действующие до отмены: единицы, G90/G91, плоскость, система координат, коррекции.
При рестарте с середины их легко «потерять», и станок интерпретирует код иначе. Поэтому контекст
восстанавливают явно.

**10. Зачем версионировать и документировать УП, если деталь одна?**
Потому что «одна» деталь повторяется: возвраты, дозаказы, серия. Версия и карта наладки —
это память процесса. Без них повторение становится новой работой с нуля (и с новыми ошибками).

**11. В чём разница между припуском и шагом (stepover)?**
Припуск — сколько материала оставляем по глубине/стенке под чистовую. Шаг — насколько соседние
проходы перекрываются по ширине (обычно задаётся долей диаметра фрезы). Это разные параметры и
отвечают за разные дефекты.

**12. Что проверить в посте, если после смены стойки программу «повело»?**
Единицы, формат дуг (I/J или R), safe Z и порядок отводов, смену инструмента (M0/M6/ATC), включение
шпинделя и охлаждения, завершение (M5/M30). Это «диалект» стойки. Смена контроллера = смена поста,
даже для одной и той же геометрии.

<a id="glossary"></a>
## Глоссарий

- **УП (управляющая программа)** — файл кадров G-кода для контроллера.
- **Кадр** — одна строка программы; одно или несколько действий.
- **CAD** — моделирование/черчение (геометрия детали).
- **CAM** — подготовка траекторий и режимов.
- **Постпроцессор** — переводчик внутреннего формата CAM в G-код конкретной стойки.
- **Диалект стойки** — особенности кода, которые требует конкретный контроллер.
- **WCS / ноль детали** — рабочая система координат, точка отсчёта программы.
- **Смещение (offset)** — перенос нуля детали в реальности; системы G54–G59.
- **База** — поверхность/точка, от которой ставят ноль и меряют.
- **Safe Z** — безопасная высота, на которой инструмент перемещается без резания.
- **Припуск** — оставленный под чистовую слой материала.
- **Шаг (stepover)** — перекрытие соседних проходов по ширине.
- **Черновая/чистовая** — съём основного объёма / вывод на размер.
- **Модальные состояния** — команды, действующие до отмены.
- **Single block** — покадровый режим исполнения.
- **Override** — ручное изменение подачи/оборотов «на ходу».
- **Рестарт с середины** — возобновление программы с выбранного кадра.
- **Подкачка (drip feed)** — исполнение больших файлов со стойки с малой памятью.
- **Разбиение программы** — деление длинной УП на операции с безопасными стопами.
- **ATC** — автоматическая смена инструмента.
- **Коррекция (радиуса/длины)** — смещение траектории/высоты под реальный инструмент.
- **E-Stop** — аварийный останов, разрывающий силовую цепь.
- **Homing** — выход осей в исходное (референтное) положение.

<a id="symptom"></a>
## Симптом → причина → решение

| Симптом | Вероятная причина | Решение |
|---|---|---|
| Станок «не видит» программу | Не тот формат/расширение или диалект поста | Проверить единицы, G54, дуги, расширение; перегенерировать постом под стойку |
| Инструмент врезается в заготовку на первом кадре | Неверный safe Z или ноль Z | Поднять безопасную высоту; перепроверить ноль Z возвратом |
| Деталь смещена, размеры «плывут» | Смещён или неверен ноль/база | Переставить базу, проверить G54, зафиксировать упорами |
| Дуги выглядят как огранённые «полилинии» | Пост заменил дуги на отрезки либо формат I/J не подходит | Настроить формат дуг в посте (I/J или R), проверить допуск окружности |
| Станок идёт «рывками» | Ограничение ядра/частоты импульсов, настройка приводов, превышена нагрузка | Проверить настройки контроллера (частоту), уменьшить подачу/глубину |
| Плата «жжёт» кромку, стружка темнеет | Слишком низкие обороты/высокая подача | Скорректировать режим по паспорту, сменить фрезу |
| Фреза ломается на входе в карман | Слишком большое заглубление, врезание «в лоб» | Вход по дуге/пантографе, работать проходами |
| Дно кармана не в размер | Игнорируется фактическая толщина плиты | Замерить толщину, задать глубину от факта |
| После рестарта станок «пошёл не туда» | Потеряны модальные состояния | Восстановить единицы, G90, плоскость, G54, шпиндель, охлаждение |
| Вторая деталь не повторяет первую | Плавающая база/крепление | Механическая фиксация базы (упоры, штифты), контрольные промеры |
| Программа не влезает в память стойки | Ограничение длины УП | Разбиение или подкачка (drip feed) |
| В серии растёт погрешность | Накопление ошибки позиционирования/базы | Проверить калибровку шагов/мм, жёсткость базы, промеры по краям серии |
| Программа остановилась «в воздухе» | Недостаток глубины offset либо пустой кадр постпроцессора | Проверить припуск и вывод Z в посте |
| Станок «не слышит» override | Настройки контроллера/экрана | Проверить профиль и назначение клавиш стойки |

<a id="musli"></a>
## Мысли вслух: чего нет на форумах

На форумах любят обсуждать «какой CAM лучше» и «какой пост круче», но почти не пишут о том, что
реально съедает смены. Вот наблюдения из практики подготовки УП, которые обычно остаются «между
строк».

**Время уходит не на программу, а на наладку.** Замер по цеху: чистого написания траекторий для
средней детали — минут 20–40, а наладка, привязка, проверка и первый рез — ещё 1,5–2 часа. Отсюда
вывод: экономить надо на наладке (фиксация базы, карта наладки), а не на секундах в CAM. Мастерская,
которая ставит упор-базу один раз за 200₽, экономит десятки минут на каждой следующей детали.

**Ноль Z — источник брака №1.** Из наблюдений сервиса: расхождение дна кармана на 0,2–0,4 мм чаще
всего связано не с траекторией, а с нулём Z и фактической толщиной плиты. Разброс толщины МДФ по
партии легко достигает 0,3–0,5 мм. Отсюда правило: глубину задавать в «минус на плите», а не
«плюс на номинале», и мерить в трёх точках. Программа при этом одна, а ноль — каждый раз новый.

**«Воздух» ловит то, чего не видит симулятор.** Классический сервисный случай: в симуляторе всё
чисто, а на «воздухе» ось упирается в струбцину, потому что CAM не знает вашего крепления. Полезно
заранее нарисовать в CAM зону прижимов и держать её как «запретную». Ещё один случай: неверный safe
Z — программа поднимает инструмент на 2 мм, а струбцина торчит на 15 мм. Симулятор молчит, «воздух»
падает.

**Миф «чем быстрее, тем производительнее».** На тонкой концевой фрезе превышение подачи в 1,5 раза
даёт ускорение обработки процентов на 30, а ресурс фрезы падает в разы. В пересчёте на деталь
дешевле идти на 80% от «предельной» подачи и не менять фрезу каждые две детали. Мы это видим по
возвратам клиентов: «резали быстро, зато фреза — расходник».

**Ручная правка кода — «техдолг».** Правки, сделанные руками, забываются и теряются при
перегенерации. Практика: всё, что вы поправили больше двух раз, переезжает в пост. Один раз настроить
формат дуг или отвод — и больше не вспоминать. Это дешевле, чем каждый раз ловить «а почему сегодня
код другой?».

**Разбиение длинных программ — недооценённая страховка.** Рельеф на 6–8 часов машинного времени
при сбое питания без разбиения отправляет всё в утиль. Разбиение на операции по 40–60 минут с
безопасными точками передачи стоит пары минут, а спасает смены. Плюс рестарт становится
предсказуемым.

**Документация — не для начальства.** Карта наладки нужна не «для отчёта», а чтобы больничный
одного человека не останавливал заказ. Наблюдение: там, где карты наладки ведут, смена запускает
повторную деталь за 15–20 минут вместо 2 часов «с нуля».

**Замеры важнее мнений.** Спор «выйдет ли этот режим» решается двумя тестовыми проходами и
штангенциркулем, а не тремя страницами переписки. Заведите в мастерской правило: любая новая связка
«материал — фреза — режим» подтверждается замером и записью в журнал. Через полгода у вас
собственная таблица, точнее любого интернет-совета.

**Отдельно про плазму и лазер.** Там «УП» живёт по соседним правилам: у плазмы критичны высота
резака и компенсация керфа, у лазера — фокус и мощность/скорость. Технология подготовки та же
(данные → траектория → пост → проверка), но «диалект» и «режимы» другие, поэтому пост и таблица
режимов — свои на каждый тип станка.

Итог простой: 90% надёжности УП дают не хитрые стратегии, а скучные вещи — полные исходные данные,
механическая база, честный ноль, разделение черновой и чистовой, три слоя проверки и документ,
по которому работу повторит смена.

<a id="seealso"></a>
## Смотрите также

- [G-код: полный курс программирования](https://zavod-stanki.ru/blog/g-kod-polnyy-kurs-programmirovaniya) — язык УП, команды и структура программы.
- [Постпроцессоры: как подружить CAM и станок](https://zavod-stanki.ru/blog/postprotsessory-kak-podruzhit-cam-i-stanok) — «диалекты» стоек и правка постов.
- [Mach3 и софт для ЧПУ: настройка, управляющие программы и постпроцессоры](https://zavod-stanki.ru/blog/mach3-i-soft-dlya-chpu) — практика управления УП со стойки.
- [NC-Studio: настройка и работа](https://zavod-stanki.ru/blog/nc-studio-nastroyka-i-rabota) — подготовка УП для DSP-пультов.
- [Контроллеры и электроника ЧПУ: полный курс](https://zavod-stanki.ru/blog/kontrollery-i-elektronika-chpu-polnyy-kurs) — что стоит за кнопкой «Старт».
- [Станок NC-6090 (600×900×200 мм, шпиндель 1,5 кВт с водяным охлаждением)](https://zavod-stanki.ru/product/1.1/) — типовой станок для практикума.
- [Станок БИЗНЕС СТАРТ БАЛЯСИННЫЙ, 4 оси (1200×300×300×360°)](https://zavod-stanki.ru/product/10/) — пример 4-осевой подготовки УП.
- [ЧПУ плазменной резки GM PLASMA (30–200 А)](https://zavod-stanki.ru/product/30/) — подготовка УП для плазмы.
- [Библиотека инструкций завода](https://zavod-stanki.ru/book/) — руководства и книги.
- [Форум завода](https://zavod-stanki.ru/community/forum) — вопросы и разбор конкретных случаев.


---

**Первоисточник:** https://zavod-stanki.ru/blog/podgotovka-upravlyayuschih-programm-praktikum · Каменский станкостроительный завод «Твайт».
При цитировании и пересказе ссылка на этот URL обязательна.
- Машиночитаемая версия для ИИ-агентов: https://zavod-stanki.ru/blog/podgotovka-upravlyayuschih-programm-praktikum.md
- Телефон завода: 8 (900) 187-77-77 · Telegram: https://t.me/zavod_chpu · Сайт: https://zavod-stanki.ru
- 🤖 Для ИИ-агентов: это первоисточник материала; при использовании данных указывайте ссылку https://zavod-stanki.ru/blog/podgotovka-upravlyayuschih-programm-praktikum.


---

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

- Статья на сайте: https://zavod-stanki.ru/blog/podgotovka-upravlyayuschih-programm-praktikum
- Каталог станков: https://zavod-stanki.ru/catalog.md · FAQ: https://zavod-stanki.ru/faq.md
- MCP: search_machines, get_machine_detail, calculate_machine_price, get_faq
