ケズリバ(kezuriba.net)/nc/g31/ より印刷
G31
マシニング・旋盤ワンショット・グループ 00スキップ(信号が入るまで直線で動く)
書き方と注意点
G31 X_ Y_ Z_ F_(旋盤は G31 X(U)_ Z(W)_ F_)
- タッチプローブなどの信号が入るまで G01 と同じように直線で動き、信号が入ったらその場で止まって残りの移動を捨て、次の行へ進む。ワークの高さ・位置の測定や、当たるまで送る作業に使う
- ワンショット(グループ 00)。使う行ごとに書く
- 止まった位置は変数に入るので、マクロで測った値を計算に使える。変数の番号は機種で違う(Haas は #5061〜#5066)
- 工具径補正・刃先 R 補正(G41・G42)を取り消してから指令する(Siemens の ISO 方言はアラーム、三菱電機もプログラムエラー、Haas も併用しないと明記)
- 次の行が増分指令なら「止まった位置」から動く。絶対指令なら指令した位置へ動く。1 軸だけ絶対指令なら、書いていない軸は止まった位置のまま(Siemens の ISO 方言・三菱電機)
- 信号が来なかったとき、アラームで止まる機種と、終点まで動いて何事もなく続ける機種がある。続ける機種では、マクロで止まった位置と終点を比べて「当たらなかった」を判定する
- F は必ず書く。プローブを守るため送りを上げすぎない(Haas は 2500 mm/min 未満を勧めている)
例
G00 G90 G54 X0 Y0 ; G43 H01 Z10. ; (プローブの工具長) G31 Z-5. F200 ; (触れたら止まる。F は必ず書く) #100 = #5063 ; (止まった Z。#5063 は Haas の番号) G00 Z10. ;
タッチプローブでワーク上面の高さを測る骨組みをケズリバで書いた例です。止まった位置が入る変数の番号は機種で違います。
図解:G31:信号で止まったあと、次の行がどう動くか
詳しい書き方と例:カスタムマクロ入門:変数(止まった位置の #5061 などを計算に使う)
メーカー・機械による違い
同じコードでも、NC 装置や機械メーカーで書き方や割り当てが違うことがあります。必ずお使いの機械の取扱説明書で確かめてください。
| 資料 | 機械 | 項目 | 内容 |
|---|---|---|---|
| 三菱電機 | 旋盤 | 補足 | 信号が入らなければ指令位置まで動いて終わる(アラームなし)。F が無ければパラメータ #1174 の速度。送りオーバライドは 100% 固定で、ドライランは効かない |
| Haas | マシニング | 補足 | 信号が入らなければ終点の位置を記録して続ける(アラームなし)。止まった位置は #5061〜#5066(軸ごと)。F が無いとアラーム。送りは 2500 mm/min(100 inch/min)未満を推奨 |
| Siemens(ISO 方言) | 旋盤 | 補足 | 信号が入らずに終点まで行くとアラーム。止まった位置はシステム変数 $AA_IM[軸] |
| Siemens(ネイティブ) | — | 書き方 | MEAS(信号で残りの移動を消す)・MEAW(消さずに終点まで動く) |
| LinuxCNC | — | 番号 | G31 は無い。G38.2(触れなければエラー)・G38.3(エラーなし)・G38.4/G38.5(離れる向き)。止まった位置は #5061〜#5069、成否は #5070 |
出典
このコードの意味は、別々の発行元の資料 2 つ以上で一致したものです。説明はケズリバの言葉で書いています。
- Siemens AG「SINUMERIK 802D sl/840D/840D sl/840Di/840Di sl/810D Programming Manual ISO Turning, 04.2007 Edition」 cache.industry.siemens.com
- Siemens AG「SINUMERIK 802D sl/840D/840D sl/840Di/840Di sl/810D Programming Manual ISO Milling, 04.2007 Edition(6FC5398-7BP10-0BA0)」 cache.industry.siemens.com
- 三菱電機(Mitsubishi Electric)「MITSUBISHI CNC 700/70 Series Programming Manual (Lathe System)(IB-1500057)」 mitsubishielectric.com
- Haas Automation, Inc.「G31 Feed Until Skip (Group 00)(マシニング、コード別解説ページ)」 haascnc.com
- Haas Automation, Inc.「Lathe Operator's Manual – 16 Lathe G-Codes(オンライン版)」 haascnc.com
- LinuxCNC project「G-Codes(LinuxCNC Documentation)」 linuxcnc.org
- Siemens AG「SINUMERIK 840D sl/840D/840Di sl/810D Fundamentals, Programming Manual, Edition 08/2005(6FC5398-1BP10-0BA0)」 cache.industry.siemens.com