M-коды

В приведённой ниже таблице показаны поддерживаемые M-коды

MCode
Функция
Пример
Пример ответа
Только для Community FW

необязательная остановка. Если включен M333, программа при достижении этой команды приостановится. Если вместо этого установлен M334, приостановки не будет

M2

завершить программу, остановить шпиндель и воздух

M3

Запускает шпиндель. Параметр S устанавливает скорость в оборотах в минуту

M3 S5000

включает шпиндель на 5000 об/мин

M5

Останавливает шпиндель

M5

M6

Автозамена инструмента, T0 указывает беспроводной зонд, T-1 указывает отсутствие

M6 T1

переключается на инструмент 1 и устанавливает TLO

M7

Включает поток воздуха

M7

M9

Останавливает поток воздуха

M9

M17

включает все пины разрешения

Только для отладки

M18

позволяет отключать отдельные моторы, без параметров отключит все

Только для отладки

M20

список файлов в корне SD-карты. не показывает подпапки

Только для отладки

M21

код для OctoPrint для 3D-принтеров, ничего не делает

Не использовать

M23

выбрать файл

M23 gcodes/test.cnc

M24

начать воспроизведение текущего файла

не использовать

M25

приостановить воспроизводимый файл (используйте M600 для пауз)

не использовать

M26

сброс текущего файла, готов к повторному запуску

не использовать

M27

сообщить текущий прогресс (полезно синхронизировать отображение контроллера с текущей строкой)

M30

Конец программы, на Carvera без действия. См. M26

M30

M32

выбрать файл и начать воспроизведение. Для макросов смотрите M98

M32 gcodes/test.cnc

M82

e_absolute_mode включен

Только для отладки

M83

e_absolute_mode отключен

Только для отладки

M84

выключить все пины разрешения

Только для отладки

M92

установить шаги на мм

M98 X12

устанавливает xsteps на мм равным 12

перейти к определённой строке в gcode

M97 P14

перейти к строке 14 в текущем файле

открыть подпрограмму внутри текущего выполняемого gcode, часто называемую макросом. После завершения вернуться в основную программу. Параметр P — номер, ссылающийся на файл в папке gcodes/macros с именем ####.cnc. Необязательный параметр L повторяет подпрограмму заданное число раз

M98 P1001 L4

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

M98 L2 {gcodes/test.cnc}

вернуться из подпрограммы в основную программу

M99

M105

Прочитать текущую температуру шпинделя

M105

M112

аварийная остановка

Только для отладки

M114

вывести текущую систему отсчёта (WCS) для каждой оси в консоль

M115

сообщить версию прошивки и возможности

M115

FIRMWARE_NAME:Smoothieware, FIRMWARE_URL:http%3A//smoothieware.org, X-SOURCE_CODE_URL:https://github.com/Smoothieware/Smoothieware, FIRMWARE_VERSION:master-811c4f62, X-FIRMWARE_BUILD_DATE:Oct 30 2024 15:14:06, X-SYSTEM_CLOCK:100MHz, X-AXES:5, X-GRBL_MODE:1, X-CNC:1, X-MSD:1, X-WARNING:deprecated_MCU

M117

специальный несоответствующий стандартам G-code, так как позволяет произвольный текст в оставшейся части строки после команды. Выводит на доступную панель дисплея

Используйте 118 вместо этого

вывести остаток строки в консоль

Записывает вычисленную строку в последовательный порт.

M118.1 P[2+2]

выводит 4 в консоль

M119

сообщить текущую информацию о зонде

X_max:0 Y_max:0 Z_max:0 pins- (XL)P0.24:0 (XL)P0.25:0 (YL)P1.1:0 (YL)P1.4:0 (ZL)P1.8:0 Probe: 0

M120

сохранить состояние (push)

Только для отладки

M121

восстановить состояние (pop)

Только для отладки

M143

код, специфичный для 3D-принтера

Не использовать

M203

установить максимальную подачу в мм/с

M203 X100

M203.1

установить максимальные скорости исполнительных механизмов

M204

M204 Snnn - установить ускорение по умолчанию в nnn, Xnnn Ynnn Znnn устанавливают ускорение для конкретных осей

M205

M205 Xnnn - установить отклонение на стыках, Z - установить отклонение на стыках для Z, Snnn - установить минимальную планировщиком скорость

M206

установить смещение при хоминге

M206 X15 Y15 Z15

устанавливает смещение при хоминге на 15,15,15

M220

S<коэффициент в процентах> - установить процент переопределения скорости подачи

M220 S50

M221

Включить/выключить мягкие концевики

M221 S0

выключает мягкие концевики. M221 S1 включает их

M223

S<коэффициент в процентах> - установить процент переопределения скорости шпинделя

M223 S80

M301

специфично для 3D-принтера

Не использовать

M303-305

Используется автоподстройщиком PID для управления температурой хотенда 3D-принтера. На Carvera не выполняет функций

Не использовать

M306

установить смещение хоминга на основании текущей позиции

M321

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

M321

M322

Выйти из лазерного режима

M322

M323

Войти в режим тестирования лазера, модуль лазера будет питаться очень малой мощностью, обычно используется для повторной фокусировки лазера

M323

M324

Выйти из режима тестирования лазера

M324

M325

S<коэффициент в процентах> - установить процент переопределения мощности лазера

M325 S50

M331

Включить режим автопылеотсоса; если включен, пылесос автоматически включается при работе шпинделя и выключается, когда шпиндель не работает

M331

M332

Выключить режим автопылеотсоса

M332

Выключить режим необязательной остановки. См. M01

Включить режим необязательной остановки. См. M01

Выключить режим построчного выполнения.

Включить режим построчного выполнения. Приостанавливается после каждой строки. Не приостанавливается на пустых строках или строках, начинающихся с ; или (

M370

Очищает данные автовыравнивания стола и отключает компенсацию до следующего запуска G32

M370

M374

сохранить сетку автовыравнивания на SD-карту

M374.1

удалить сетку автовыравнивания с SD

M375

загрузить сетку с SD-карты

M375.1

Показать текущие данные сетки выравнивания стола в окне MDI

M375.1

Деактивировать компенсацию прогиба

Показать компенсацию прогиба

Сохранить данные компенсации прогиба на SD

Загрузить данные компенсации с SD

M400

ожидать завершения всех перемещений до этой точки

калибровать наконечник зонда с использованием круглого отверстия известного размера

M460 X25 L3

начать в центре отверстия. Будет калиброваться по отверстию 25 мм, усредняя значение по 3 тестам. Это сохранит значение в переменной #150. Используйте config-set sd zprobe.probe_tip_diameter # чтобы сохранить это значение для сбросов. Все параметры из M461, кроме T,S, реализованы

калибровать наконечник зонда с использованием выступа известного размера

M460.2 X15 L3

начать, центрируясь над выступом. Требуется X или Y, но не оба. Значение X или Y — измеренное значение выступа. L — количество измерений для усреднения. Все параметры из M462, кроме T,S, реализованы

калибровать наконечник зонда с использованием анкера 2

M460.3

переместится в правильную позицию по Z-клиренсу, переместит XY, опустит зонд в Z. Позиция основана на конфигурации для анкера 2 и сохранённой ширине анкера. Сначала измерьте и задайте ширину анкера.

зондирование отверстия

M461 X25 Y30 D2.5 H10 C2 Q15 L2 R1.8 S1 F100 K200

Начать примерно в центре отверстия, макрос стартует с z-зондирования, опускаясь на (H)10 мм. Если инструмент коснётся поверхности, он отойдет назад на (C)2. Если нет, продолжит с новой нижней позиции. Если H не задано или равно 0, макрос будет зондировать с начальной высоты. Затем будет перемещаться на (X)25 мм в направлении X с поворотом на (Q)15 градусов до соприкосновения инструмента с поверхностью. Отойти от поверхности на (R)1.8 мм обратно к центру, затем повторно зондировать с намного меньшей скоростью. Вернуться в центр и повторить в противоположном направлении (-x). Повторить шаги X для направления Y, зондируя (Y)30. Повторить X и Y зондирования (L)2 раза. Все обычные движения зондирования выполняются на (F)100 мм/с, перемещения между началом зондирования происходят на быстрой скорости (K)200. По завершении программа сохранит расстояние вдоль оси X в #151, вдоль оси Y в #152, центральную точку в MCS в #154,#155. Поскольку S установлено в 1, программа установит текущую WCS (обычно G54, если не переопределено) как центр отверстия. Если S не установлено, макрос зондирования не изменит WCS. (D) используется для расчёта расстояния между точками и представляет диаметр наконечника инструмента. Все параметры необязательны, но должен быть задан хотя бы один из X или Y; если указан только один, будет зондироваться только в этом направлении.

зондирование выступа (boss)

M461 X25 Y25 E12

Работают все параметры из M461. Начиная примерно в центре прямоугольного блока/выступа, зонд переместится на (X) 25 мм в положительном направлении X, затем зонд опустится на -(C+E), чтобы достигнуть боковой поверхности блока. Затем выполнит двойное касание к центру блока, чтобы найти точку 1. Вернётся в позицию клиренса, затем в центральную позицию, затем повторит X-зондирование в отрицательном направлении и оба направления Y. Выходные переменные те же, что и в M461. Если S1 задано, центр выступа станет новой XY-начальной точкой. Если S2 задано и была указана высота зондирования (H), Z-начало устанавливается на зондированную поверхность

зондирование внутреннего угла

M462 X-15 Y-15

Реализует D, H, C, Q, F, K, L, R, S из M461. Зондирует нижний левый внутренний угол (направления X и Y определяют направление движения зонда, в данном случае влево и к передней части машины). Сохраняет центральную позицию в #151 и #152

зондирование внешнего угла

M463 X15Y15

Реализует D, H, C, Q, F, K, L, R, S из M461. Реализует E из M462 и следует аналогичной последовательности для 2 точек вместо 4. Зондирует нижний левый внешний угол (направления X и Y определяют направление движения зонда, в данном случае влево и к передней части машины). Сохраняет центральную позицию в #151 и #152. S работает так же, как в M462

зондирование оси и угла

M464 X10 E10 V10

Реализует H,C,X,Y,Q,F,K,L,R из M461. Примет только одно значение оси (X или Y). От начальной позиции: двойное касание зондом на расстоянии (E)10 перпендикулярно заданной оси до соприкосновения с поверхностью. Знак E определяет направление зондирования. Вернуться в начальную позицию. Переместиться вдоль заданной оси на (X)10 и повторить зондирование. Вернуться в начальную позицию. Так как V установлен, зонд переместится вдоль того же угла, что и поверхность зонда, на (V)10. Сохраняет угол в градусах в #153

Зондирование заготовки 4-й оси (ось A)

M465.1 Y15 E30 F200 K600 L2

Зондирование заготовки 4-й оси (ось A) с учётом смещения машины

M465.2 X10 Y15 R1 F200 K600

прямое зондирование с двойным касанием

M466 X{dist} Y{dist} Z{dist} D{диаметр наконечника} Q{угол} L{повторы} R{отход} S{сохранить как xy, если задана только 1 ось без q, то сохранится только эта ось как ноль} F{скорость подачи} I{инвертировать для NC}

Прямоугольное зондирование

M466.1 X{dist] Y{dist} H{depth}

M469 / M469.0

В будущем: хоминг машины с настоящим 3-осевым зондом на пользовательском пине

не реализовано

M469.0 I{invert}

калибровать анкер 1 с настоящим 3-осевым зондом

M469.1

M469.1 I{invert}

калибровать анкер 2 с настоящим 3-осевым зондом

M469.2

M469.2 I{invert}

M469.3

В будущем: калибровать позицию инструмента ATC с настоящим 3-осевым зондом

не реализовано

калибровать головку 4-й оси (headstock) с настоящим 3-осевым зондом

M469.4

M469.4 I{invert} Y{ширина головки} H{насколько опускать для зондирования}

калибровать смещение по высоте для 4-й оси с помощью зонда

M469.5

M469.5 R{диаметр штыря} X{расстояние от 1-й позиции зонда до зондирования} H{максимальная глубина зондирования}

M469.6

сообщать и устанавливать смещения машины (код только для машины)

Только для отладки

X - исходная позиция X Y - исходная позиция Y, Z - исходная позиция Z, P - тип установки зонда. 1 для анкера 1, 2 для анкера 2, 3 для позиции инструмента ATC и т.д.

M470

установить адрес беспроводного зонда

M470 S2020

M471

перевести беспроводной зонд в режим сопряжения

M471

M472

включить лазер беспроводного зонда

M472

M481-489

G-коды, специфичные для WiFi, которые лучше выполнять через консольные команды

Не использовать

M490

Выполнить процесс хоминга ATC; хоминг будет автоматически выполнен при вызове M490.1 или M490.2 при необходимости

M490

M490.1

Затягивает цангу шпинделя, чтобы зафиксировать новый инструмент в шпинделе

M490.1

M490.2

Ослабляет цангу шпинделя и выпускает текущую фрезу

M490.2

M491

Выполнить калибровку, и TLO (смещение длины инструмента) для текущего инструмента будет сброшено

M491

выполняет проверку поломки инструмента, калибруя текущий инструмент и сравнивая его длину с ранее сохранённым смещением длины инструмента (TLO).

M491.1 H0.05

Если разница больше 0.05 — остановить машину

M492

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

Только для отладки

сохранить смещение инструмента, когда сработал TLO-зонд. Используйте M493.3, чтобы установить TLO в конкретное значение

Только для отладки

новый инструмент в параметре T. T-1 означает пусто. T0 — зонд

M493.2 T5

сохранить смещение длины инструмента в значение. используйте Z для полностью нового значения.

M493.3 Z-15

устанавливает TLO в -15

Устанавливает TLO от текущей позиции WCS с приращением H.

M493.3 H10

начните с инструмента на 10 мм выше WCS Z, используя штифт калибровки или трюк с бумагой. Это рассчитает правильный TLO для соответствия текущей WCS

сообщить текущее смещение длины инструмента

M493.5

В будущем: пауза ATC

M494 / M494.1

включить лазер зонда

M494.1

M494.2

выключить лазер зонда

M494.2

M495

Выполнить Margin, ZProbe, автовыравнивание по параметрам, сменить зонд-инструмент при необходимости. X и Y — начало поля Margin. C и D — протяжённости Margin. O и F — смещения z-зонда. A, B — протяжённости автовыравнивания, I и J — количество точек по каждой оси для зондирования, H — высота зондирования. P1 вернётся в начало

M495.3

выполняет 3-осевое Z-зондирование вдоль -z, -x и -y. См. G38 для других функций зондирования. D задаёт диаметр наконечника зонда, H — толщину металла для 3-осевого зонда

M495.3 D3.175 H9

M496.2

перейти к рабочему началу. Параметры X и Y задают позицию относительно анкера 1

M496.2 X30Y0

M496.3

перейти к анкеру 1

M496.4

перейти к позиции анкера 2

M496.5

перейти к позиции. Параметры X и Y задают позицию относительно анкера 1

M496.5 X30Y0

M497

подождать очистки очереди. Обычно внутренняя команда

Только для отладки

M498 / M498.1

сообщить данные EEPROM. Выведет текущий номер инструмента, TLO, toolmz, refmz и смещения WCS в консоль

M498.2

стереть данные EEPROM. Не запускать

Не использовать

M499/M499.1

выводит текущую информацию об инструменте в консоль

M499.2

выводит все данные о позициях инструментов ATC в консоль

M500

сохранить изменения в файл конфигурации на SD-карту

M501

// загрузить переопределение конфигурации

Только для отладки

не реализовано

M502

M502 удаляет config-override, так что всё возвращается к значениям из config

Только для отладки

M503

вывести значения конфигурационного файла в консоль

M504

сохранить в конкретный файл переопределения конфигурации

M504 "/sd/config-override"

M561

Очищает данные автовыравнивания стола и отключает компенсацию до следующего запуска G32. То же, что M370

M565

устанавливает смещения z-зонда. Исследовать позже

M600

приостановить текущий файл (используйте это для добавления пауз)\

M601

возобновить текущий файл - обычно выполняется из MDI-консоли

M665

M665 устанавливает переменные решения опциональной руки на основе arm solution.

неуверенно в функции

M670

установить информацию по умолчанию для зонда до следующего сброса. S - медленная скорость подачи, K - быстрая скорость подачи, R - скорость возврата, Z - макс. глубина z для зондирования, H - расстояние для зондирования, I - статус инверсии зонда, D - задержка перед зондированием

M801

Включить внутренний вакуум (Carvera). Параметр S устанавливает мощность вакуума (S100 = 100%) Включает вентилятор БП на Carvera Air

M801 S100

M802

Выключить вакуум на Carvera и выключить вентилятор БП на Carvera Air

M802

M811

Включить вентилятор охлаждения шпинделя. Параметр S устанавливает мощность вентилятора

M811 S100

M812

Выключить вентилятор охлаждения шпинделя

M812

M821

Включить свет

M821

M822

Выключить свет

M822

M831

Включить лазер датчика детектора инструмента

M831

M832

Выключить лазер датчика детектора инструмента

M832

M841

Включить питание зарядки беспроводного зонда

M841

M842

Выключить питание зарядки беспроводного зонда

M842

M851

Включить питание расширенного порта. Параметр S устанавливает ШИМ-выход порта

M851

M852

Выключить питание расширенного порта

M852

M881

Установить 2.4G канал: параметр S и начать передачу

M881 SwifiNetworkName

M882

выключить WiFi-сеть

M882

M885

отключить жесткие концевики (возвращаются в положение включено при перезагрузке питания, игнорируется при хоминге)

M886

включить жесткие концевики

M887

отключить проверку хома

M888

включить проверку хома

]

сообщить скорость шпинделя

M957

текущая скорость шпинделя и статус

Состояние: включено, Текущие об/мин: 15086 Целевые об/мин: 15000 Значение PWM: 0.699

M958

установить параметры PID шпинделя, параметры P, I, D

M1000

M1000 — специальная команда, которая пропустит необработанную команду в нижнем регистре в simpleshell (для хостов, которые не позволяют такие вещи)

Последнее обновление