Что означает M400

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

M400 отличается от G4. Задержка (dwell) ожидает указанную продолжительность, обычно после предыдущего движения; M400 ждет только столько, сколько требует оставшаяся очередь движений. Если ничего не движется, выполнение может завершиться сразу, за исключением обычной накладной обработки.

Синтаксис и параметры

M400
No parameters

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

Практические примеры

Сигнал после движения

G1 X100 F6000
M400
M300 S440 P100

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

Отчет после движения

M400
M114

Запрашивает положение только после завершения ранее запланированных перемещений.

Контекст прошивки

СистемаСтатусЧто меняется
MarlinОбычноОжидает в цикле до тех пор, пока планировщик не завершит все находящиеся в очереди перемещения.
KlipperОбычноПоддерживается как стандартная команда ожидания текущих перемещений.
RepRapFirmwareОбычноОбеспечивает синхронизацию движения с деталями планирования, специфичными для прошивки.
CNC controllersПроверить диалектСинхронизация очереди существует в формах, специфичных для контроллера; M400 не является универсальным синтаксисом ЧПУ.

Что может показать этот просмотрщик

Точка синхронизации распознана

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

Частые ошибки

  • M400 не является аварийной остановкой и не отменяет очередные движения.
  • Он не добавляет гарантированную паузу после движения; комбинируйте с G4 только когда требуется фиксированная задержка.
  • Ожидание командного движения не проверяет, достигла ли машина позиции без пропущенных шагов.

Первичные источники

Эта страница — перевод исходного английского объяснения, сверенного с документацией прошивок ниже. Всегда проверяйте команды по прошивке и конфигурации той машины, которая будет их выполнять.