Twinwright 独自カーネルは、以下の G コードを実行します。コードは RS274/NGC と LinuxCNC に従います。コントローラが対応していないコードには error:20 を返し、その行では何も起こりません。
リアルタイムコマンド(?、!、~ など、1バイトで構成されるもの)については、プロトコルを参照してください。ほかの Grbl コントローラとの違いについては、Twinwright 独自カーネルを参照してください。
| コード | 意味 | 備考 |
|---|---|---|
G0、G1 | 早送り、直線補間 | |
G2、G3 | 円弧(時計回り、反時計回り。I J K または R 指定)、ヘリカル | 工具は真円に沿って動きます。その平面内に弦がない R 指定の円弧には error:33 を返します。 |
G4 P | ドウェル、P 秒 | ドウェルはプログラムした時間のとおりに続きます。 |
G5、G5.1 | 3次スプライン、2次スプライン | I と J のない G5 は、直前の移動が終わった方向に続きます。 |
G7、G8 | 旋盤の直径モード、半径モード | 旋盤モードのみ($32=2)。 |
G10 L2、G10 L20 | ワーク座標オフセットの設定 | |
G10 L1、G10 L10、G10 L11 | 工具テーブルの設定 | 工具 32本。コントローラの電源を切っても、テーブルは保持されます。 |
G17、G18、G19 | 平面の選択 | |
G20、G21 | インチ単位、ミリメートル単位 | |
G28、G30 | 中間点を経由して、記憶した位置へ移動 | |
G28.1、G30.1 | 現在位置の記憶 | |
G33、G33.1、G76 | 主軸同期移動、リジッドタッピング、ねじ切りサイクル | 主軸エンコーダが必要です。MC-1 にはないため、error:20 を返します。 |
G38.2–G38.5 | プローブ | 結果は、プローブが作動した点で、[PRB:] として報告されます。ゼロの設定には、軸が止まった位置ではなく、この点を使ってください。 |
G40 | 工具径補正の解除 | |
G41、G42、G41.1、G42.1 | 工具径補正:D は工具テーブルから、.1 では直径を指定 | G17 平面のみ。補正の開始と終了の移動は LinuxCNC と同じです。削り過ぎになる移動は拒否されます。 |
G43 Hn、G43.2 Hn | 工具テーブルからの工具長補正、追加の補正 | |
G43.1 | 動的工具長補正 | |
G49 | 工具長補正の解除 | |
G50、G51 | スケーリングのオフ、オン | |
G52 | ローカル座標系 | オフセットを G92 と共有します(LinuxCNC と同じ)。 |
G53 | この行では機械座標を使う | |
G54–G59、G59.1–G59.3 | ワーク座標系 | $486 で G59.1–G59.3 をロックできます。 |
G61 | 正確パス | |
G61.1 | 正確停止 | プログラムした移動の終わりごとに、軸が停止します。 |
G64 P Q | パスのブレンド | 時間を短縮できる場合は、2つの直線移動の間の角が、角から P 以内の円弧になります。Q は受け付けますが、使われません。 |
G65 P1–P6 | 組み込みマクロ | 設定、工具オフセット、パラメータ、機械の状態、プローブの選択、主軸の待機。P7(Modbus メッセージ)には対応していません。 |
G65 P100 以降、G66、G66.1、G67 | ファイルマクロ、モーダルマクロ呼び出し | P は整数でなければなりません。同じ行に他のコマンドを置くことはできません(error:21)。 |
G73、G81、G82、G83 | 穴あけサイクル、ステップ送り穴あけ | 各穴で、必要な回数のステップ送りを行います。 |
G84、G85、G86、G89 | タッピングサイクルとボーリングサイクル | |
G80 | サイクルの解除 | |
G90、G91 | 絶対指令、増分指令 | |
G91.1 | 円弧中心の増分指令 | |
G92、G92.1、G92.2、G92.3 | 座標オフセット:設定、クリア、保留、復元 | |
G93、G94、G95 | 逆時間送り、毎分送り、毎回転送り | 逆時間送りの円弧は、プログラムした時間をかけて動きます。 |
G96、G97 | 周速一定、主軸回転数一定 | 旋盤モードのみ。 |
G98、G99 | サイクルのリトラクト先:開始高さ、R 平面 |
次の G コードには対応していません(error:20)。
G5.2、G5.3(NURBS)G17.1–G19.1(UVW 平面)G70–G72(旋盤サイクル)G90.1| コード | 意味 | 備考 |
|---|---|---|
M0、M1 | プログラムの一時停止、オプショナルストップ | リアルタイムコマンド 0x88 は、M1 による一時停止のオンとオフを切り替えます。 |
M2、M30 | プログラム終了 | |
M3、M4、M5 | 主軸:時計回り、反時計回り、停止 | |
M6 | 工具交換 | $341 で M6 の動作を設定します。M6 と移動を同じ行に書くと error:40 を返します。 |
M7、M8、M9 | クーラント:ミスト、フラッド、オフ | MC-1 では、M8 が主軸の水冷を動かします。 |
M25 | Z を原点復帰した高さまで上げる | Centroid のコードで、一部の CAM ポストプロセッサが出力します。 |
M48、M49 | オーバーライドのオン、オフ | |
M50–M53 | 送りオーバーライド、主軸オーバーライド、アダプティブ送り、フィードホールド:オンまたはオフ | |
M56 | パーキングのオンまたはオフ | |
M60 | パレット交換による一時停止 | |
M61 | 工具交換をせずに現在の工具を設定 | |
M62–M65 | デジタル出力のオンまたはオフ(次の移動に合わせる、または即時) | 補助出力のあるボードで使えます。 |
M66 | 入力の待機 | 待機は、それより前の移動が終わった時点から始まります。 |
M70–M73 | モーダル状態の保存と復元 | |
M98 P L、M99 | サブルーチンの呼び出し、復帰 | コントローラのファイルシステムから実行するプログラムで使えます。1行ずつ送った M98 には error:39 を返します。メインプログラム内の M99 は、そのプログラムを終了させます。 |
次の M コードには対応していません(error:20)。
M19(主軸のオリエンテーション)M67、M68(アナログ出力。MC-1 にはありません)M100–M199(ユーザー M コード)( … ) と ; が使えます。(MSG,…) は、そのテキストをメッセージとして送信ソフトに送ります。(PRINT,…) は、指定したパラメータの値を含むメッセージを送ります。(DEBUG,…) は、#5599 がオンの間、同じことを行います。/、行番号 N、% の行(名前の有無を問わず)が使えます。#1–#5000 は、プログラム自身のものです。プログラムが値を設定するまで、読み取った値は 0 です。#5001 以降のパラメータと、名前付きのシステムパラメータは、読み取りだけができます。#<name>:一度も設定されていない名前を読み取ると、error:39 を返します。設定済みかどうかは EXISTS[#<name>] で調べられます。[ ] 内の式では、LinuxCNC の演算子と関数が使えます。角度の単位は度です。if、elseif、else、while、do、repeat が使えます。<name>.ngc または <name>.macro)にすることもできます。@ は半径、^ は角度で、XY 平面内のワーク原点を中心にします。
error:21 を返します。error:24 を返します。