M400 の意味

ファームウェアは、機構が終点に到達する前に複数の移動コマンドを受け付けられます。M400 は同期点を作り、それ以前に計画された移動が完了するまで、それ以降のコマンド処理を進めません。ブザー、位置報告、モーター解放、撮影など、移動後に実行する必要がある処理の前で重要です。

M400 は G4 と異なります。ドウェルは通常、先行移動後に指定時間だけ待ちますが、M400 は残っているモーションキューが必要とする時間だけ待ちます。何も動いていなければ、通常の処理オーバーヘッドを除いて直ちに完了できます。

構文とパラメーター

M400
No parameters

現在のプランナーキューが空になるまで待ってから処理を続けます。

実用例

移動後にビープ音

G1 X100 F6000
M400
M300 S440 P100

移動がまだキューにある間にビープコマンドが処理されるのを防ぎます。

移動後に位置を報告

M400
M114

先行する計画移動が完了してから位置を要求します。

ファームウェアごとの扱い

システム対応状況相違点
Marlin一般的プランナー内のキュー済み移動がすべて完了するまでループして待機します。
Klipper一般的現在の移動完了を待つ標準コマンドとして対応します。
RepRapFirmware一般的ファームウェア固有のスケジューリング詳細で、移動同期を提供します。
CNC controllers方言を確認キュー同期にはコントローラ固有の形式があり、M400 は共通の CNC 構文ではありません。

このビューアーで確認できること

同期点として認識

ビューアは元からソース順に移動を処理するため、M400 は形状を変えません。コマンドは保持しますが、コントローラのバッファやホスト遅延は再現できません。

よくある誤り

  • M400 は緊急停止ではなく、キュー内の移動を取り消しません。
  • 移動後に一定時間の停止を保証しません。固定遅延が必要な場合のみ G4 と組み合わせます。
  • 指令済み移動の完了を待っても、脱調せず位置に到達したことの確認にはなりません。

一次資料

このページは、以下の資料に基づく英語版から翻訳した解説です。コマンドを実機へ送る前に、対象機械のファームウェアと設定を必ず確認してください。