【grbl】Gコード参考資料

G10

ワーク座標系(作業原点設定)

フォーマット

機械座標上にて作業原点位置を指定(L2)
G10 L2 P◯◯ X◯◯ Y◯◯ Z◯◯
現在座標をワーク座標系上の座標値にて指定(L20)
G10 L20 P◯◯ X◯◯ Y◯◯ Z◯◯
パラメータ 説明
X X座標(省略可)
Y Y座標(省略可)
Z Z座標(省略可)
P 座標系番号
P番号 座標系
0 現在使っている座標系
1 座標系1(G54)
2 座標系2(G55)
3 座標系3(G56)
4 座標系4(G57)
5 座標系5(G58)
6 座標系6(G59)

説明

ワーク座標系(作業原点)を設定します.

GrblではデフォルトでG54の座標系が使われます.
GrblではG10はL2とL20のみ有効です.

ワーク座標系は$#にて以下のように確認できます.

[G54:X座標,Y座標,Z座標]
[G55:X座標,Y座標,Z座標]
...
[G59:X座標,Y座標,Z座標]

デフォルトではどの座標系も(0,0,0)ですが,一度ワーク座標系をセットするとEEPROMに保存されるため,電源を切っても保存されます.
リセットする場合は機械原点をワーク座標系とするよう指定する必要があります.

G10 L2 P0 X0 Y0 Z0; 今使っているワーク座標系の原点を機械原点とする

G17

XY平面指定

フォーマット

G17

説明

XY平面を指定します.

モーダルな指令なので一度指令を送信した後は変更するまで有効です.

Grblでは電源投入時のデフォルトです.


G18

YZ平面指定

フォーマット

G18

説明

YZ平面を指定します.

モーダルな指令なので一度指令を送信した後は変更するまで有効です.


G19

YZ平面指定

フォーマット

G19

説明

YZ平面を指定します.

モーダルな指令なので一度指令を送信した後は変更するまで有効です.

G20

単位指定(inch;インチ)

フォーマット

G20

説明

Gコードの座標指定をインチで指定したい場合に使用します.
モーダルな指令なので一度指令を送信した後は変更するまで有効です.


G21

単位指定(mm;ミリメートル)

フォーマット

G21

説明

Gコードの座標指定をミリメートルで指定したい場合に使用します.

Grblではデフォルトで有効です.
モーダルな指令なので一度指令を送信した後は変更するまで有効です.

G28

リファレンス点復帰

フォーマット

G28 X◯◯ Y◯◯ Z◯◯
パラメータ 説明
X 経由するX座標(省略可)
Y 経由するY座標(省略可)
Z 経由するZ座標(省略可)

説明

G28.1にて設定された座標に移動します.
その際にG28で示したXYZの座標を通ってからG28.1で指定された点へ移動します.

設定されていない場合は原点に機械原点に復帰します.

Grblでは設定されたリファレンス点は$#のコマンドにて確認可能です


G30

リファレンス点復帰

フォーマット

G30 X◯◯ Y◯◯ Z◯◯
パラメータ 説明
X 経由するX座標(省略可)
Y 経由するY座標(省略可)
Z 経由するZ座標(省略可)

説明

G30.1にて設定された座標に移動します.
G28と同じです.

G28.1

リファレンス点設定

フォーマット

G28.1 X◯◯ Y◯◯ Z◯◯
パラメータ 説明
X X座標(省略可)
Y Y座標(省略可)
Z Z座標(省略可)

説明

G28にて移動する座標を設定します.
指定する座標値はワーク座標系の座標値です.
指令送信後は指定した位置へ移動します.

座標値を省略した場合,現在座標がG28.1にセットされます.

Grblでは設定されたリファレンス点は$#のコマンドにて確認可能です


G30.1

リファレンス点設定

フォーマット

G30.1 X◯◯ Y◯◯ Z◯◯
パラメータ 説明
X X座標(省略可)
Y Y座標(省略可)
Z Z座標(省略可)

説明

G30にて指定した座標に移動します.
G28.1と同じです.

G38.2

プロービング.(接触すると停止,失敗するとアラーム版)

フォーマット

G38.2 X◯◯ Y◯◯ Z◯◯ F◯◯
パラメータ 説明
X X座標(省略可)
Y Y座標(省略可)
Z Z座標(省略可)
F 送り速度

説明

プローブを当てにいくときの指令です.失敗(接触しなかった or 最初から接触している)場合はアラーム(Alarm:4 or Alarm:5 Probe fail)が発生します.(ロックされアンロックするまで操作できなくなります)

指定する座標値はワーク座標系の座標値です.プローブの向かう方向を指定します.
工具を相対座標にて設定する場合は以下のようにG90G91を用います.

G91
G38.2 Z-1 F10;現在位置からzに-1mm移動する
G90

プロービングに成功すると以下のフォーマットでメッセージが返されます.

[PRB:停止位置のX座標,停止位置のY座標,停止位置のZ座標:成功(1)or失敗(0)]

また$#コマンドにて最後のプロービングの結果を確認できます.


G38.3

プロービング.(接触すると停止,失敗してもアラーム発生しない版)

フォーマット

G38.3 X◯◯ Y◯◯ Z◯◯ F◯◯
パラメータ 説明
X X座標(省略可)
Y Y座標(省略可)
Z Z座標(省略可)
F 送り速度

説明

G38.2と同じですが,失敗してもアラームは発生しません.

G38.4

プロービング.(接触した状態から接触が失われると停止,失敗するとアラーム版)

フォーマット

G38.4 X◯◯ Y◯◯ Z◯◯ F◯◯
パラメータ 説明
X X座標(省略可)
Y Y座標(省略可)
Z Z座標(省略可)
F 送り速度

説明

プローブを離す際に検知したい場合の指令です.
失敗した場合はアラームが発生します.(ロックされアンロックするまで操作できなくなります)

指定する座標値はワーク座標系の座標値です.プローブの離れる方向の座標を指定します.
工具を相対座標にて設定する場合は以下のようにG90G91を用います.

G91
G38.2 Z1 F10;現在位置からzに+1mm移動する
G90

プロービングに成功すると以下のフォーマットでメッセージが返されます.

[PRB:停止位置のX座標,停止位置のY座標,停止位置のZ座標:成功(1)or失敗(0)]

また$#コマンドにて最後のプロービングの結果を確認できます.


G38.5

プロービング.(接触が失われると停止,失敗してもアラーム発生しない版)

フォーマット

G38.5 X◯◯ Y◯◯ Z◯◯ F◯◯
パラメータ 説明
X X座標(省略可)
Y Y座標(省略可)
Z Z座標(省略可)
F 送り速度

説明

G38.4と同じですが,失敗してもアラームは発生しません.

G40

工具径補正キャンセル

フォーマット

G40

説明

Grblでは常に工具径補正がオフになっているため必要ありません.
(生成されるNCプログラムの最初にG40が書かれていることが多いためサポートしているようです)

G43.1

動的工具長補正

フォーマット

G43.1 Z◯◯
パラメータ 説明
Z Z座標オフセット量

説明

この指令以後は指定量分,座標をオフセットして動作します.
工具が摩耗するなど工具の長さが変更される場合に,NCプログラムを変更せず座標を変更する際に用います.

Grblでは$#のコマンドを入力すると以下のように補正量を確認できます.

[TLO:◯◯]

またXやYの値を指定するとerror:37(Invalid gcode)が発生します.

G0 Z2; Z2へ移動
G43.1 Z0.5; 0.5mmオフセット
G0 Z3; このとき機械座標系ではZ3.5となっています.

G49

工具長補正キャンセル

フォーマット

G49

説明

G43.1の工具長補正をキャンセルします.

G53

機械座標系指定

フォーマット

G53 G0 or G1 X◯◯ Y◯◯ Z◯◯

説明

ワンショットのGコードです.(使うたびに指令する必要があります。)
直後のG0G1を機械座標系(機械原点を加工原点としたワーク座標系)で動かします.

G53 G0 X10 Y20; ワーク座標系に関係なく機械座標系のX10 Y20へ移動
G0 X20 Y20; ワーク座標系のX20 Y20へ移動
G53 
G0 X10 Y20; 別の行(ブロック)となるとG53の影響範囲から抜けるためワーク座標系のX10 Y20へ移動してしまう

G54

座標系1指定

フォーマット

G54

説明

使っている座標系を座標系1へ切り替えます.
モーダルな指令なので一度指令を送信した後は変更するまで有効です.

Grblでは電源投入時のデフォルトです.


G55

座標系2指定

フォーマット

G55

説明

使っている座標系を座標系2へ切り替えます.


G56

座標系3指定

フォーマット

G56

説明

使っている座標系を座標系3へ切り替えます.


G57

座標系4指定

フォーマット

G57

説明

使っている座標系を座標系4へ切り替えます.


G58

座標系5指定

フォーマット

G58

説明

使っている座標系を座標系5へ切り替えます.


G59

座標系6指定

フォーマット

G59

説明

使っている座標系を座標系6へ切り替えます.

G61

イグザクトパスモード

フォーマット

G61

説明

Grblでは常にイグザクトパスモードとなっているため,呼び出す必要はありません.

G80

固定サイクル停止

フォーマット

G80

説明

grblでは固定サイクル(G81-G89)をサポートしていないため,G80を呼び出す意味は特にありません.

G90

アブソリュート指令(絶対値指令)

フォーマット

G90

説明

G0等で使う座標値にワーク座標系の原点からの座標を用いる指令です.
モーダルな指令なので一度指令を送信した後は変更するまで有効です.


G91

インクリメンタル指令(増分値指令)

フォーマット

G91

説明

G0等で使う座標値に現在位置からの座標を用いる指令です.
モーダルな指令なので一度指令を送信した後は変更するまで有効です.

G91.1

円弧中心指定モード変更(増分値指定)

フォーマット

G91.1

説明

G2,G3の円弧中心を指定する際にIJKを使いますが,IJKが現在座標からの増分値であることを指定します.
ただしgrblでは増分値指定がデフォルトであり,絶対値指定のコマンド(G90.1)がサポートされていないため,呼び出しても特になにもありません.

G92

座標系オフセット

フォーマット

G92 X◯◯ Y◯◯ Z◯◯
パラメータ 説明
X X座標(省略可)
Y Y座標(省略可)
Z Z座標(省略可)

説明

指定した座標になるように原点位置が移動します.この際実際の移動は発生しません.
これにより見かけ上のワーク座標値が変更されます.

この原点の移動はワーク座標系を変更しても維持されます.
リセットする場合はG92.1を呼び出します.

G92.1

座標系オフセットリセット

フォーマット

G92.1

説明

G92で設定したオフセットをリセットします.

G93

インバースタイム送り(1/F min)

フォーマット

G93

説明

G1G2G3で移動する際の送り速度(Fワード)をインバースタイム送りとします.
インバースタイム送りでは指令の移動を(1/F)分以内に終わらせるように移動します.

G93
G1 X10 Y10 F2; 1/2分(0.5分)で移動が完了するように動く

G94

送り速度モード(mm/min or inch/min)

フォーマット

G94

説明

G1G2G3で移動する際の送り速度(Fワード)をmm/min or inch/minとします.
毎分あたりに動く量を指定する方法です.

M0

プログラムストップ

フォーマット

M0

説明

プログラムを一時停止します.
GrblではHold状態となり,再開・復帰ボタンを押す(~サイクルスタート・レジュームコマンド),リセットボタンを押す(0x18 (ctrl-x)ソフトリセットコマンド)ことでHoldから復帰できます.