プログラミング

コントローラが見守る中で、Gコードを書く。

Studio のプログラムエディタはツインと直結しています。各行にはかかった時間が、各ミスにはルールと行番号が示され、どの変更も金属を削る前に最後まで実行できます。

Studio 1.2に搭載 · 「プログラム」ワークスペース(Alt+3)

17行目のブレークポイントで停止したエディタ。マージンに各行の秒数、横にプログラムチェックを表示しています。
17行目のブレークポイントで停止したエディタ。マージンに各行の秒数、横にプログラムチェックを表示しています。
エディタ

コントローラが知っていることを、すべてその行の横に。

Notepad++や SciTE の編集コンポーネントである Scintilla をベースに、Gコードの色分け表示と、ツインが書き込む行番号横のマージンを備えています。

マージンに所要時間

実行後、各行にその行の所要時間が秒単位で表示されます。各行の時間の合計は実行時間と正確に一致し、各行の除去体積の合計も総除去量と一致します。

入力しながら検査

入力が止まってから0.4秒後に、コントローラのチェックモードと15の静的ルールがプログラムを検査します。検出事項はマージンに表示され、それぞれに修正の提案が付きます。

カーソル位置の状態

ステータスバーには、カーソル行を実行した後のコントローラのモーダル状態(単位、平面、絶対・増分指令、ワーク座標系、送り、主軸、クーラント、工具)が表示されます。

ブレークポイントと条件付き一時停止

指定した行で停止できるほか、切削抵抗・主軸負荷・追従誤差・びびり指標が上限を超えたとき、工具が材料を削り始めたとき、ニアミス、材料への早送り、衝突、アラームの発生時にも停止できます。止まるのは仮想時間で、動作そのものは変わりません。

途中の行から再開

Studio は任意の行に対して開始ブロック(工具、オフセット、主軸、クーラント、安全なアプローチ)を作成します。サンプル02を460行目から再開しても、中断せずに実行した場合と同じワークに仕上がります。

バージョンと比較

読み込んだプログラムや変更したプログラムは、誰がなぜ行ったかを添えて、すべてバージョンとして保存されます。ご自身のファイルが上書きされることはありません。Ctrl+D で2つのバージョンを並べ、それぞれの実行時間とともに比較できます。

静的ルール

コントローラは受け付けるが、受け付けるべきでないものを見つける15のルール。

チェックモードは、コントローラが拒否するものを見つけます。これらのルールが見つけるのは、それでもコントローラが実行してしまうもの、そしてこの機械にはそもそもできないことです。

S01警告最初の移動の前に安全な開始ブロックがありません(単位、絶対・増分指令、平面、ワーク座標系):プログラムがコントローラの状態に依存しています。
S02警告末尾に M2/M30 がありません:コントローラのモーダル、主軸、クーラントがそのまま残ります。
S03注記工具が Z0 より下にある状態での工具交換(M6):先に退避してください。
S04エラーF指令より前の切削送り:コントローラが拒否する(error:22)か、以前の送り速度のまま実行されます。
S05警告S指令なしで主軸が起動したか、S が主軸の範囲外です。
S06注記F が移動方向の軸の最高速度を超えています:プランナが速度を制限します。
S08注記微小ブロックの連続:プランナのキューに F から減速できるだけの経路長がないため、送り速度が上がりません。
S09注記深い垂直突っ込み:ランプまたはヘリカルでの進入と、センターカット可能な工具を検討してください。
S10警告Z0 より下で、プログラムがそれまでに削った深さより深い早送り:材料への早送りは工具を折損させます。
S11エラーコントローラが拒否する円弧(error:33):半径と終点が一致しません。
S12警告水冷主軸が冷却水(M8)なしで切削送り中に回転しています。
S14警告ワーク原点(Z)を設定したときとは長さの異なる工具が主軸にあり、最初の切削の前に工具測定も新しい Z0 の設定もありません。
S15エラープログラムが Fanuc のシステム変数を読み出しています(例:G43 H#4120)。このコントローラにはこれらの変数がないため、0として読み出されます。
S16エラーG33 のねじ切りや G33.1 のリジッドタップには主軸エンコーダが必要ですが、MC-1 にはありません。
S17警告コントローラが即座に実行してしまう文字:コメント内の「! ~ ?」と、ASCII以外の文字のバイト。
ブロック別プロファイル

なぜプログラムの指令より遅いのか?

Studio はブロックごとに、指令の送り速度に達したかどうかを記録し、達しなかった場合は何がそれを妨げたかも記録します。推測ではなく、コントローラ自身のコーナー通過速度と減速の計算に基づいています。

軸速度
送り速度がその方向の軸の最高速度を超えている
コーナー
2つの移動の間にあるコーナーでの通過速度
円弧
小さい半径での向心加速度の制限
先読み
計画済みの経路が短すぎて、その送り速度から間に合うように減速できない
供給不足
送信ソフトがプランナのキューを満たし続けられなかった
解析
コントローラが次のブロックをまだ解析していた
オーバーライド
100%未満の送りオーバーライド
ホールド
フィードホールドまたはプログラムストップ
ポケット加工プログラムで最も遅い12ブロックを、制限要因ごとに色分けしたもの。ツインが描く画像で、ここでは AIクライアント向けに描いています。
ポケット加工プログラムで最も遅い12ブロックを、制限要因ごとに色分けしたもの。ツインが描く画像で、ここでは AIクライアント向けに描いています。
オプティマイザ

どの工具にも負担を増やさずに、より速く。

オプティマイザが変えるのは数値であり、経路ではありません。候補はどれも新しく用意したツインで最後まで実行され、何も悪化していない場合にのみ採用されます。

変更する内容

  • 軽い切削の送りを、同じ工具がすでに行っている最も重い切削の水準まで上げます
  • エアカットは軸の最高速度で行い、仕上げパスと突っ込みは元の送りのままにします
  • びびりが出る区間は、1刃当たりの送りを保ったまま、安定限界線図に基づく主軸回転数に変えます
  • 同一直線上の短いブロックは統合し、円弧への当てはめは送信ソフトが追いつかなかった箇所に限ります
  • 早送りの退避は、その下にある最も高いものの1 mm上まで下げます

結果が採用される条件

  • 新たな事象なしで最後まで実行できること:材料への早送り、主軸停止中の切削、衝突、ニアミスのいずれもない
  • 切削抵抗、切りくず厚さ、主軸負荷が、元のプログラムの最も重い切削の105%以内に収まること
  • びびり指標が元のプログラムの値(または1)を上回らないこと
  • 部品の仕上がりが悪化せず、実行時間が短くなること
Ctrl+Shift+O:最適化後のプログラムは元に戻せる編集としてエディタに入り、直前のバージョンと並べて、両方の実行時間とともに表示されます。
Ctrl+Shift+O:最適化後のプログラムは元に戻せる編集としてエディタに入り、直前のバージョンと並べて、両方の実行時間とともに表示されます。
フィーチャ

簡単なフィーチャなら、それぞれ1行で。

Gコードを1行ずつ書く代わりにフィーチャを記述すれば、CAM がテーブル上の素材に合わせてプログラムを書き、ツインで実行し、工具がびびる箇所では、安定する主軸回転数か、より浅い切込みで書き直します。

  • 正面削り、ポケット(角R のある矩形、または円形)、溝、輪郭(内側または外側)
  • 穴あけ(G81、深さが3 × D を超える場合は G83 のステップ送り穴あけ)、ヘリカルボーリング、シングルライン文字
  • 回転数と送りは材料(17種類)と工具から決定。ランプ進入、ダウンカット、寸法どおりの壁面仕上げ
ジェネレータが書いたポケット加工プログラム。切削条件はコメントに記載され、そのまま Ctrl+K(読み込んで検査)にかけられます。
ジェネレータが書いたポケット加工プログラム。切削条件はコメントに記載され、そのまま Ctrl+K(読み込んで検査)にかけられます。
CAM

部品全体には、Studio の CAM を。

部品がいくつかのフィーチャだけでは済まないときは、CAM の出番です。図面、文字、メッシュを入力すれば、ポケット、輪郭、アダプティブ加工、彫刻、3D荒加工・仕上げ加工が出力されます。切削条件はツインの物理モデルから推定し、ツインでの試運転も行います。

図面や AI から形状を

SVG・DXF の図面、シングルラインフォントまたはアウトラインフォントの文字、基本形状と数式、そして3D加工用のメッシュ(STL、OBJ、3MF、glTF)。

この機械のためのツールパス

アイランド付きポケット(周回、アダプティブ、ジグザグ)、タブ付き輪郭、トロコイド溝、穴とねじ、彫刻と V彫刻、そして3軸での3D荒加工・仕上げ加工。

物理モデルから切削条件を

ツインは材料と工具から、安定限界線図のローブ上の主軸回転数を選び、各層の切込み深さを、びびり、主軸出力、治具の保持力、工具のたわみで制限します。その理由はプログラムに記されます。

削る前に証明

標準では、すべてのプログラムをツインで最後まで実行します。びびりや過負荷のある加工工程は書き直され、その後ブロックごとに送りが調整されます。CAM はお使いのコンピューター上で動作します。

CAM の詳細は CAM のページをご覧ください。

キーボード操作

エディタはキーボードで操作できます。Fキーは常に機械を操作するキーで、F1 は非常停止です。

Alt+3「プログラム」ワークスペース:プログラム一覧、エディタ、検査
Ctrl+K機械に読み込んで検査
Ctrl+Shift+O最適化
Ctrl+Bこの行にブレークポイント。Ctrl+Shift+B:条件付き一時停止
Ctrl+D保存したバージョンと比較
Ctrl+.修正の提案を適用
F5サイクルスタート、または一時停止後の続行
F1非常停止(すべてのワークスペースで有効)

FAQ

オプティマイザは元のファイルを書き換えますか?

いいえ。結果は元に戻せる編集としてエディタに入り、変更前のバージョンと並べて示されます。両方ともバージョンとして保存され、ご自身のファイルが上書きされることはありません。

自分の CAM が出力したプログラムを、エディタで使えますか?

はい。どの Gコードファイルでも開けます。検査とルールによって、このコントローラが拒否する行や、意図とは違う動きで実行する行が分かります。

ジェネレータはどうなりましたか?

現在は CAM への最短の入り口になっています。簡単なフィーチャを記述すれば、CAM がプログラムを書き、検査し、証明します。部品全体には「CAM」ワークスペースを使うか、AIアシスタントに依頼してください。

短縮された時間は実際の値ですか?

ツインが公称の機械パラメータと切削パラメータで計算した値です。MC-1 の試作機とツインを照合して校正すれば、実測に基づく数値になります。

次のプログラムは、ツインで書く。

サンプルを読み込み、1行変えて、マージン、ルール、実行時間がどう応えるかをご覧ください。