これは以前のバージョン、Studio 1.0.2 のマニュアルです。 最新バージョンのマニュアル
ドキュメント 1.0.2 技術マニュアル
G コードと M コード
Twinwright 独自カーネルは、以下の G コードを実行します。コードは RS274/NGC と LinuxCNC に従います。コントローラが対応していないコードには error:20 を返し、その行では何も起こりません。
リアルタイムコマンド(?、!、~ など、1バイトで構成されるもの)については、プロトコルを参照してください。ほかの Grbl コントローラとの違いについては、Twinwright 独自カーネルを参照してください。
G コード
| コード | 意味 | 備考 |
|---|---|---|
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
M コード
| コード | 意味 | 備考 |
|---|---|---|
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 の演算子と関数が使えます。角度の単位は度です。- 行で設定した値を、同じ行の中で読み取ることはできません。
O ワード
- コントローラのファイルシステムから実行するプログラムでは、サブルーチン、
if、elseif、else、while、do、repeatが使えます。 - 1行ずつ送られたサブルーチンとループは、いったん集められ、完結してから実行されます。
- サブルーチンは、独立したファイル(
<name>.ngcまたは<name>.macro)にすることもできます。
極座標
@ は半径、^ は角度で、XY 平面内のワーク原点を中心にします。
行のエラー
- 同じモーダルグループのコードを 1行に 2つ書くと、
error:21を返します。 - どちらも軸ワードを使う 2つのコマンドを 1行に書くと、
error:24を返します。 - エラーコードの全一覧は、エラーコードにあります。