Duet3でもXYZプローブは使えるのでしょうか?
使える場合、設定方法を教えていただけますでしょうか?
DuetではZプローブはわりとすぐ使えるんですが、XYZプローブはサポートしていないのでマクロを作って対応する必要があります。(これはCNCxPRO+CNCjsでも同じです)
幸いプローブ関係のGコードは同じものが使えるので、CNCxPROで使っていたものがある程度流用できると思いますが、Duet用に多少書き換えが必要そうです。
Duetのフォーラムも覗いてみましたが、やはりマクロで対応しているようでした。使えるかわかりませんがマクロも載っています。
こちらでもCNCxPROで使っていたマクロを改変して使えないか考えてみたいと思います。
ご回答ありがとうございます。
それでは、とりあえずXYZプローブをZプローブとして
使用したいと思います。
で設定方法を確認したところ、CBeamControlでの説明となっています。
僕がこちらのページ(Duetのconfig設定 | AvalonTech Documentation)
からダウンロードしたCNC設定ファイルではDuet Web Controlに
なっていて、それだとWebUIの
機械固有>タッチプローブ設定
のタッチプローブ設定がありません。
Duet Web Controlでタッチプローブを使うにはどうすれば良いでしょうか?
DuetWebControlではプローブのボタンとかはなかった気がします。
CBeamControlのようにプローブ用のボタンとかあると便利だと思うので、なにか追加できないかなと考えてみたいと思います。
ZプローブはG30というZプローブをするコマンドがあるので、それを実行するだけになります。
https://docs.duet3d.com/en/User_manual/Reference/Gcodes/G30
前準備としてconfigのG31と書かれている行のZの値をプロープのプレートの厚み(=タッチしたときのZの高さ)に設定しておきます。
G31 P500 X0 Y0 Z5.6
上記の設定をした上で、タッチプローブの近くに刃物をもっていきG30
を入力して実行します。
これでおそらくタッチしたところが上で設定したZの高さになるように座標系がセットされると思います。
念の為、一度手動でタッチさせてみて失敗したらすぐ停止できるようにした上でテストしてみてください。
G30を実行したらちゃんと機能しました。ありがとうございました。
補足と訂正です。
G30
だけでもプローブの実施には問題ないのですが、挙動としては機械座標Zを0にしてしまうのでNCプログラムの最後とかに機械原点に戻る指令とかが入っていると工作物にぶつかるかもしれません。すみません、少し間違えてました・・・。
G30 S-2
だと機械座標はそのままでワーク座標を書き換えてくれます。
もしG30 S-2でno toolみたいなエラーが出る場合はconfigに以下のような定義を追記してやると動くようになります。
M563 P0 S"MyProbe" ; ツール0を定義
T0 ; ツール0を指定
あるいはCNCjsで使っていたプローブボタンを押した時に確認画面として出てくる一連の指令をコピペしてDuetのマクロとして登録してしまい、ホーム画面のマクロのボタンを押すことでZプローブを実行するということも可能です。
こちらのほうがボタンになるので操作しやすく、動作も馴染みがあって良いかもしれません。
参考(CNCjsで出力されるZプローブのマクロ)
; Z-Probe
G91
G38.2 Z-10 F20
G90
; Set the active WCS Z0
G10 L20 P1 Z〇〇(プレート厚さ)
; Retract from the touch plate
G91
G0 Z5
G90
追記:G30 S-2は若干動作が怪しいのでマクロ推奨