これは以前のバージョン、Studio 1.0.2 のマニュアルです。 最新バージョンのマニュアル

ドキュメント 1.0.2 リファレンス

Twinwright 独自カーネルで使う送信ソフト

このページは、Studio ではなく、自分で用意した G コード送信ソフト(bCNC、gSender、Universal G-code Sender)から MC-1 を動かしたい方のためのものです。MC-1 のコントローラは Twinwright 独自カーネルで、Grbl 1.1 シリアルプロトコルおよび現在の送信ソフトが使う拡張と互換性があります。そのため、これらの送信ソフトはこのコントローラで動作します。ただし、以下に述べるわずかな設定と注意点があります。

ここに書かれていることはすべて、MC-1 のデジタルツインでテストしました。デジタルツインは、実機と同じコントローラのコードを実行します。実機での確認は、これからです。テストしたバージョン:bCNC 0.9.16、gSender 1.6.4、UGS Platform 2.1.27。

接続

接続先方法
Studio のウィンドウ内のツインStudio は localhost:2323 で、送信ソフトを一度に 1つだけ受け付けます(このコンピューターからのみ。ネットワークから接続するには、Studio を --bind any で起動します)。bCNC:ポート socket://localhost:2323。gSender:イーサネット、アドレス 127.0.0.1、ポート 2323。UGS:tcp://localhost:2323。
MC-1 本体ネイティブ USB:コントローラはシリアルポートとして認識されます(Windows では COM*n*)。そのポートを選んでください。ネイティブ USB ではボーレートは関係ありませんが、指定を求める送信ソフトがあります。115200 で動作します。

コントローラ自身が伝えること:

  • 起動メッセージは Grbl 1.1f ['$' or '$HELP' for help] で、従来の Grbl コントローラと同じです。送信ソフトは、「Grbl」で始まる起動メッセージを探して、コントローラが再起動したことを知ります(3節を参照)。
  • 名前は $I の応答に含まれます:[VER:Twinwright 1.1f.…] と [FIRMWARE:Twinwright]。ファームウェアを表示する送信ソフトには、「Twinwright」と表示されます。

送信ソフトでのファームウェアの選択

送信ソフト設定理由
bCNC 0.9.16Controller:GRBL1bCNC はファームウェアの名前を読み取りません。GRBL1 でテストしました。
gSender 1.6.4Default firmware:Grbl 以外の選択肢gSender は、$I の中の名前でファームウェアを認識します。このコントローラは独自の名前を返すため、gSender は既定値として設定したファームウェアを使います。その選択肢でテストしました。
UGS 2.1.27Firmware:GRBLテストした内容:設定、プログラム、アラーム、リセット後の原点復帰が動作し、追加の Soft Reset は不要です(3節)。UGS のもう一方のファームウェア選択肢も動作しますが、リセットの後にもう一度 Soft Reset が必要です。ジョグはその選択肢でのみテストしました。

アラームまたはリセットの後

  • 非常停止。 MC-1 の非常停止は、電源コンタクタを開きます。非常停止を解除し、機械の Start ボタンを押してから、送信ソフトでリセットし、原点復帰してください。Start を押すまで、アラーム(ALARM:10)は解除されません。
  • ALARM:11(原点復帰が必要)。 原点復帰($H)してください。$X によるロック解除は拒否されます(error:46)。
  • ALARM:2(ソフトリミット)。 プログラムが、移動範囲の外への移動を指示しました。原点復帰を終えると Z は移動範囲の上端(機械座標 Z 0)にあるため、それより上への移動(G53 G0 Z5 など)は ALARM:2 を発生させます。リセットしてから、原点復帰またはロック解除を行ってください。
  • bCNC は、どのリセットの後でも復帰します。「Grbl」で始まる起動メッセージを見て、送信途中だった行を忘れるため、$H が送信されます。
  • bCNC の Stop 後。 bCNC の Stop は、フィードホールドを行い、続けてリセットします。その後、bCNC は、それまでのモード(座標系、単位、工具長補正)を 1行か 2行でコントローラに送り返しますが、いくつかの場合には、ほかの Grbl コントローラと同じように、コントローラがそれを拒否します:工具長補正(G43.1)が有効なときは、その行に error:24 が返ります(bCNC は最初の Stop の後に自分で G43.1Z... を送るため、2回目の Stop 以降は必ずこうなります)。G80 が有効なときは、G43.1Z... に error:31 が返ります。スケーリング(G51)が有効なときは、G51:X に error:1 が返ります。エラーの後は、空行、$ コマンド、またはリセットが来るまで、続くすべての G コードの行に同じエラーが返ります。そのため、Stop の後は、ジョグしたり作業を続けたりする前に、$G と $# で座標系、単位、工具長補正を確認してください。誤っていた場合は、ワーク原点を設定し直し、工具長を測り直してください(ツインでテスト、2026-10-06)。
  • UGS のもう一方のファームウェア選択肢の場合。 UGS 自身が送ったものではないリセットの後(たとえば、Studio のウィンドウからのリセットや、コントローラが自分で再起動した場合)は、Home の前に、UGS で Soft Reset をもう一度押してください。それまでは、Home は何もしません。その選択肢に設定した UGS は、別の起動メッセージだけを再起動として扱います。UGS 自身の Soft Reset ボタンによるリセットは問題ありません。MC-1 本体では、このようなリセットはまれです:リセット入力がなく、USB ホストも 1つだけだからです。ファームウェアを「GRBL」に設定していれば、これは起こりません。そのようなリセットの後、UGS は CONNECTING と表示し、Home はすぐに動作します(ツインでテスト、2026-10-06)。

工具交換(M6)

3つの送信ソフトはどれも、デフォルトの設定のままでは、MC-1 で工具を交換して新しい工具を測定することができません。

送信ソフトデフォルト対処
bCNCすべての M6 の行を飛ばします:次の工具による切削が、まだ主軸に付いている工具で行われます。工具交換を Manual tool change (TLO) に設定し、MC-1 のツールセッターで測定します(5節)。
gSender工具交換が「Ignore」:M6 はコメントとして送られ、プログラムは止まりません。工具交換を、MC-1 のツールセッターでの Fixed Tool Sensor に設定します(5節)。
UGSM6 を自分で処理します:退避し、主軸を止めて、工具の交換を求めますが、測定は一切行いません。そのため、長い工具では削り過ぎになり、実機では部品に衝突することがあります。プログラム 1つにつき工具 1本で実行し、それぞれの前に工具長またはワーク原点を設定するか、工具交換を含むプログラムには Studio を使います。

UGS と M6 についての補足:

  • コメントの中の「M6」でも止まります。FreeCAD の ( M6 T1 ) がその例です。
  • 工具交換の直後に 2つ目の M6 が来ると、UGS の処理をすり抜けてコントローラに届くことがあります。すると、コントローラは Tool 状態のまま、UGS が決して送らない確認を待ち続け、UGS のウィンドウのボタンはどれも効かなくなります。MC-1 では、非常停止だけがこの状態を解除できます:非常停止を押し、解除し、Start を押してから、UGS で Soft Reset と Home を行います。
  • UGS でプログラムを実行している間に、UGS が M6 に達する前にコントローラがリセットされると、UGS がその実行を完了と報告することがありますが、それでも工具交換のダイアログは表示されます。これを閉じると、プログラム全体が最初からもう一度始まることがあります。実行の途中でリセットした後は、先に進む前に、UGS でファイルを閉じてください。

MC-1 のツールセッターでの工具長の測定

ツールセッターはテーブルの左奥にあります。その真上の位置が G59.3 に保存されています。

  • bCNC、Manual tool change (TLO)。 工具交換位置はツールセッターの上。プローブ位置は G59.3。プロービング距離は 50 mm、シークは 200 mm/min、スローは 25 mm/min(MC-1 の $342–$344)、コマンドは G38.2。プログラムを実行する前に、「Calibrate」で最初の工具を測定してください。その後、bCNC は新しい工具ごとに G43.1 を設定します。
  • gSender、Fixed Tool Sensor。 センサの位置は G59.3。ウィザードで最初の工具を測定してください。その後、gSender は工具長補正を使う代わりに、新しい工具ごとにワーク Z をずらします(G10 L20)。gSender は、コントローラが報告するトリガー点ではなく、接触の後に軸が止まった位置から長さを求めるため、交換のたびに少しずれることがあります。ツインでは、工具交換を 1× の速度で実行してください:gSender は決まった短い待ち時間の後でその位置を読み取るため、より速く動いているツインでは、停止前の位置を返してしまうことがあります。
  • 工具交換を始めるときは、Z の上端より 0.1 mm 以上下から始めてください(機械座標 Z が −0.1 以下)。どちらの送信ソフトも、測定の後でその高さに戻ります。上端ちょうどから始めると、測定のわずかなばらつきによって、その戻り位置がソフトリミットを超えてしまい、切削を始める前に ALARM:2 で実行が止まります。

タッチプローブでのワーク原点の設定

  • UGS(そのプローブモジュール)は、コントローラが報告するトリガー点([PRB:])から原点を求めます。これが正しい方法です。
  • gSender(3D プローブ)と bCNC(プローブのページと、その Z=0 / X / Y ボタン)は、接触の後に軸が止まった位置に原点を設定します。機械は、トリガーの後、止まるまでに必ず少し行き過ぎます。最後の接触が速いほど、行き過ぎは大きくなります。最後の接触を遅くするか、トリガー点を使う Studio のプローブサイクルで原点を設定してください。
  • UGS の穴中心(プローブモジュールの Hole Center):プローブを置いた位置から、-X、+X、-Y、+Y の順に、それぞれ入力した穴径の半分の距離だけプロービングし、低速での接触のトリガー点の中間に中心を設定します。どこまで届くかはその径に依存します:開始位置は、中心から最大で(入力した径 - 実際の穴径)/ 2 + ボールの半径までです。穴の実際の径を入力した場合、それはボールの半径だけです(2 mm のボールなら 1 mm)。プローブを目分量で置くことを見込んで、数 mm 大きく入力してください(20 mm の穴なら 24 から 26)。
  • UGS の穴中心が壁に届かないとき(所見 192、UGS 自身の動作):そのプロービングは ALARM:5 で終わり、UGS は停止します。ただし、UGS はプロービングの前に、開始点に G54 の X0 Y0 を設定しており、サイクルが完了しないため、G54 はそこに残ります。ロック解除の後、切削の前に、ワーク原点を設定し直してください。プローブのサイクルも途中のまま残るため、もう一度プロービングする前に、切断してから再接続してください。また、コントローラが接触していないと報告した点([PRB:...:0])も、接触として扱います。
  • 先にプローブを校正してください(Studio のプローブサイクル:リングゲージ)。校正していないプローブは、すべての穴を大きく、すべてのボスを小さく、プリトラベルの 2倍だけ読み取ります。

そのほかの注意点

  • ネットワーク経由の bCNC。 Windows では、bCNC は TCP 接続を約 2秒ごとにしか読み取らないため、表示が 2秒遅れていることがあります。bCNC の「Idle」は、機械が止まったことを意味しません。USB 接続には、この遅れはありません。
  • gSender、M0。 プログラムの最初の 10行以内にある M0 は、一時停止しません(gSender がコメントに変えてしまいます)。M1 は必ず一時停止します。
  • gSender、連続ジョグ。 ジョグボタンを押し続けると、MC-1 では拒否されます(error:15):gSender は、移動範囲を超える長いジョグを要求するためです。ステップ単位でジョグしてください。一部の Grbl コントローラでは、$40=1(ジョグコマンドの制限)にすると、長いジョグは拒否されずにソフトリミットで終了します。MC-1 のコントローラは、この設定にまだ対応しておらず、引き続き拒否します(ツインで gSender を使って試しました、2026-10-06)。
  • UGS、長い行。 UGS は 127文字より長い行を送らず、実行はメッセージなしで止まります。行を短くしてください(UGS は先にコメントを取り除きます)。
  • UGS、M30。 UGS は M30 を取り除きます。M30 で主軸とクーラントを止めることに頼っているプログラムでは、それらが動いたままになります:プログラムは、M30 の前に M5 と M9 で終えてください。
  • UGS、コメント。 1行に 2つのコメントがあると、UGS は、その間にあるコードも取り除きます。
  • プログラムの実行中の切断。 コントローラは、すでに受け取っている行を実行し続けます。gSender と UGS は、切断するときに停止を送らないため、機械は主軸を回したまま動き続けます。切断する前に、実行を止めてください。bCNC は、接続を閉じる前に、ホールドとリセットを行います。
  • ASCII 以外の文字を含むコメント(中国語、「Ø」、「–」など):3つの送信ソフトはすべて、送信前にコメントを取り除くため、これらの文字がコントローラに届くことはありません。コントローラ自体は、コメントや (MSG,...) の中の UTF-8 テキストを、テキストとして読み取り、リアルタイムコマンドとして扱うことはありません。