Производство по чертежам Подбор аналогов Цены производителя Оригинальная продукция в короткие сроки
INNERпроизводство и поставка промышленных комплектующих и оборудования
Отзыв ★★★★★ Будем благодарны за отзыв в Яндексе — это помогает нам развиваться Оставить отзыв →
Правовая информация Условия использования технических материалов и калькуляторов Правовая информация →
INNER
Контакты

M-коды ЧПУ таблица

  • 24.02.2026
  • Инженерные термины и определения

M-коды ЧПУ — вспомогательные команды управляющей программы, которые определяют состояние станка: вращение шпинделя, подачу СОЖ, смену инструмента и завершение программы. В отличие от G-кодов, задающих траекторию движения, M-коды управляют машинными функциями. Их правильное применение — обязательное условие для работоспособной управляющей программы на любом фрезерном или токарном обрабатывающем центре.

Что такое M-коды станков ЧПУ

M-коды (от англ. Miscellaneous functions — вспомогательные функции) входят в состав языка программирования ЧПУ, регламентированного стандартом ISO 6983-1:2009. Его российский аналог — ГОСТ 20999-83 «Устройства числового программного управления для металлообрабатывающего оборудования. Кодирование информации управляющих программ» (статус: действующий). Язык также известен как G-код и RS-274.

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

Правило одного M-кода на кадр. FANUC (серии 0i, 30i, 31i), Siemens SINUMERIK 828D, SINUMERIK ONE и Heidenhain TNC допускают не более одного M-кода в одной строке программы. Два M-кода в одном кадре могут вызвать ошибку выполнения.

Классификация M-кодов: модальные и немодальные команды

Модальные M-коды

Модальные команды остаются активными до тех пор, пока не будут отменены кодом из той же функциональной группы. M03 продолжает вращать шпиндель, пока система не получит M05. M08 держит СОЖ включённой до прихода M09. Пропуск отменяющего кода — распространённая причина производственных инцидентов.

Немодальные M-коды

Немодальные команды выполняются однократно — только в том кадре, где записаны. Пример — M06: команда исполняется один раз и не сохраняет никакого состояния. К немодальным относятся M00, M01, M06, M19, M30, M98, M99.

Таблица M-кодов ЧПУ: расшифровка M00–M99

Таблица охватывает стандартные M-коды согласно ISO 6983-1:2009 с указанием типа и особенностей применения на системах FANUC (серии 0i, 30i, 31i) и Siemens SINUMERIK (828D, SINUMERIK ONE). Коды вне базового диапазона стандарта определяются документацией конкретного станка.

M-код Функция Тип Практическое применение
M00 Программная остановка Немодальный Безусловная остановка: станок ждёт нажатия кнопки «Пуск» на пульте оператора
M01 Условная остановка Немодальный Срабатывает только при активной кнопке «Optional Stop» на пульте; без неё кадр игнорируется
M02 Конец программы Немодальный Завершает программу без сброса курсора в начало; на современных системах заменён M30
M03 Вращение шпинделя по часовой стрелке (CW) Модальный Записывается с адресом S (частота вращения): S2000 M03
M04 Вращение шпинделя против часовой стрелки (CCW) Модальный Применяется для левых резьбовых фрез и инструментов с обратным резанием
M05 Останов шпинделя Модальный Отменяет M03 и M04. Обязателен перед M06: смена инструмента при вращающемся шпинделе недопустима
M06 Смена инструмента Немодальный Активирует инструментальный магазин. T-код выбора записывается перед M06: T02 M06
M07 Туманообразующая СОЖ (Mist Coolant) Модальный Доступен только при наличии соответствующей системы на конкретном станке
M08 Проточная СОЖ (Flood Coolant) Модальный Основная команда включения охлаждающей жидкости; применяется в большинстве операций обработки
M09 Отключение всех систем СОЖ Модальный Одновременно отменяет M07 и M08. Обязателен перед сменой инструмента и завершением программы
M19 Ориентация шпинделя Немодальный Фиксирует шпиндель в заданном угловом положении; применяется при смене инструментов с контролем ориентации
M30 Конец программы с перемоткой Немодальный Завершает программу и сбрасывает курсор в начало — предпочтительный способ завершения на всех современных системах
M98 Вызов подпрограммы Немодальный FANUC: M98 P<номер>. Допускается вложение до 4 уровней подпрограмм
M99 Возврат из подпрограммы Немодальный Возвращает управление в вызвавшую программу (FANUC). На Siemens SINUMERIK вместо M99 используется M17

Различия M-кодов FANUC и Siemens SINUMERIK

Базовые M-коды (M00–M09, M19, M30) реализованы одинаково на всех ведущих системах управления. Различия проявляются в работе с подпрограммами и в специфических машинных командах.

Подпрограммы: ключевое отличие

На FANUC подпрограмма вызывается командой M98 P<номер> и завершается командой M99. На Siemens SINUMERIK завершение подпрограммы — команда M17, зафиксированная в официальных руководствах по программированию SINUMERIK 828D и SINUMERIK ONE. В языке SINUMERIK M30 принимается как допустимый эквивалент M17 внутри подпрограммы, однако стандартной является M17. Применение M99 на Siemens вызовет ошибку; использование M30 внутри подпрограммы на FANUC — аварийное завершение всей программы.

Актуальные платформы Siemens: SINUMERIK 828D (компактный и средний класс, обновлённые процессорные блоки PPU271.5/270.5/290.5 выпущены в 2024 году) и SINUMERIK ONE (флагманский класс, преемник 840D sl). SINUMERIK 840D sl снят с производства 01.10.2024. Язык программирования и M-коды совместимы между 828D, 840D sl и SINUMERIK ONE.

Специфические расширения платформ

Производители резервируют часть диапазона M-кодов для машинно-специфических функций вне ISO 6983-1:2009. На Haas: M88/M89 — подача СОЖ через шпиндель, M34/M35 — программируемое охлаждение. На FANUC и Siemens SINUMERIK такие функции реализуются через параметрически настраиваемые M-коды согласно документации конкретного станка.

Функция FANUC (серии 0i / 30i / 31i) Siemens SINUMERIK (828D / SINUMERIK ONE)
Конец основной программы M30 M30
Конец подпрограммы / возврат M99 M17 (M30 — допустимый эквивалент)
Вызов подпрограммы M98 P<номер> Вызов по имени файла программы (или L<номер>)
Вращение шпинделя CW M03 M03
Останов шпинделя M05 M05
Включение основной СОЖ M08 M08
Смена инструмента T<N> M06 T<N> M06
Безусловная остановка M00 M00

Практика применения M-кодов в управляющей программе

Типовая последовательность при смене инструмента

Шпиндель и СОЖ должны быть остановлены до выдачи M06. Нарушение последовательности может повредить инструментальный магазин.

  1. G00 Z100.0 — отвод инструмента в безопасную позицию по оси Z
  2. M05 — останов шпинделя
  3. M09 — отключение СОЖ
  4. T02 M06 — выбор инструмента №2 и выполнение смены
  5. S2000 M03 — задание 2000 об/мин и запуск шпинделя по часовой
  6. M08 — включение СОЖ
  7. G00 X... Y... Z... — подход к началу следующего перехода

Завершение управляющей программы

Программа всегда завершается командой M30, которая сбрасывает курсор в начало и обеспечивает корректный повторный запуск при серийном производстве. M02 также завершает программу, но не выполняет перемотку и применяется редко.

Критическая ошибка: завершение подпрограммы командой M30 вместо M99 (FANUC) или M17 (Siemens). M30 внутри подпрограммы вызывает аварийное завершение всей программы. Проверяйте соответствие команды завершения уровню вложения перед первым запуском.

Часто задаваемые вопросы о M-кодах ЧПУ

Чем M-код отличается от G-кода?
G-коды задают геометрию движения инструмента: тип интерполяции, подачу, систему координат. M-коды управляют состоянием станка: шпиндель, СОЖ, смена инструмента, поток программы. Оба типа определены ISO 6983-1:2009 и применяются совместно в одной программе.
Чем M00 отличается от M01?
M00 — безусловная остановка: станок останавливается всегда. M01 — условная: срабатывает только при активной кнопке «Optional Stop» на пульте. Без неё кадр с M01 пропускается и программа продолжается.
Можно ли поставить два M-кода в одном кадре?
Большинство систем допускают только один M-код в кадре. Два M-кода в одной строке могут вызвать ошибку. Нестандартные комбинированные коды (например, M13 — шпиндель CW + СОЖ) не входят в ISO 6983-1:2009 и требуют проверки по документации станка.
Почему M-коды различаются на разных станках?
Коды M00–M09, M19, M30 стандартизированы ISO 6983-1:2009. Остальные номера производители (FANUC, Siemens, Heidenhain, Haas) резервируют под машинные функции: СОЖ через шпиндель, управление патроном, поворот стола. Их номера определяются документацией конкретного станка.
Что такое модальный M-код?
Модальный M-код остаётся активным до отмены кодом из той же группы. Например, M03 вращает шпиндель до прихода M05. Немодальный (M06, M00, M30) срабатывает однократно и не сохраняет остаточного состояния.

Заключение

M-коды станков ЧПУ — неотъемлемая часть любой управляющей программы. Правильная расшифровка кодов M00–M99 и чёткое разграничение модальных и немодальных команд позволяют писать безопасные технологически грамотные программы. Коды M03/M04/M05, M06, M08/M09 и M30 универсальны для большинства современных обрабатывающих центров. Для работы с подпрограммами и нестандартными функциями необходимо руководствоваться документацией конкретной системы управления.

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

Вы можете задать любой вопрос на тему нашей продукции или работы нашего сайта.