G66/G66.1モーダルコマンドでカスタムマクロを効率的に呼び出す
カスタムマクロでプログラミングしたことがあれば、カスタムマクロプログラムを呼び出す方法の一つにG65コマンドがあることはご存知でしょう。通常、メインプログラムでこのコマンドを入力し、カスタムマクロのプログラム番号(Pワード)と一連のアドレス引数(変数)を指定してカスタムマクロに渡します。
丸ポケット加工カスタムマクロ呼び出しの例:
- N050 G65 P1000 X5.0 Y5.0 Z0 D0.5 R0.75 F5.0
X、Yはポケット中心位置。Zはポケットを作る面。Dは深さ、Rはポケット半径。Fは加工送り速度。
G65はモーダルではありません。別の位置にもう一つ丸ポケットを加工するには、関連引数を変更したもう一つの完全なG65コマンドが必要です。しかしFANUC CNCには、カスタムマクロをモーダルに呼び出す2つのGコード、G66とG66.1があります。いずれかを確立した後、G67でキャンセルするまで有効です。
G66
G66単体ではカスタムマクロを呼び出しません。指定されたアドレス引数に対応するローカル変数を割り当てるだけです。以下のコマンドを考えます:
N050 G66 P1000 Z0 D0.5 R0.75 T0.5 F5.0 N055 G00 X5.0 Y5.0 N060 X10.0 N065 Y10.0 N070 X5.0 N075 G67
N050行でローカル変数#26にZ、#7にD、#18にR、#20にT、#9にFの値が設定されます。しかし、この行ではカスタムマクロO1000は呼び出されません。
「次の」コマンド(N055)が動作コマンド(通常G00またはG01)である場合、CNCは指定位置へ移動してそれからカスタムマクロO1000を呼び出します。G66コマンドで割り当てられたローカル変数はカスタムマクロで使用可能ですが、G66実行後は更新できません。G67(N075)に達するまで、以降の動作コマンドで位置決めしカスタムマクロを呼び出し続けます。
G66使用時の丸ポケットカスタムマクロ例:
O1001 (G66で呼び出されるカスタムマクロ) #32=#5001 (現在のX絶対位置を取得) Z[#26+0.1] (アプローチ位置へ移動) G01 Z[#26-#7] F[#9/2] (ポケットへ突込み) G02 X[#32+#18-#20/2] R[[#18-#20/2]/2] F#9 I-[#18-#20/2] X#32 R[[#18-#20/2]/2] G00 Z[#26+0.1] M99
G66.1
G66.1もG66と同様にカスタムマクロ番号を指定し、ローカル変数をアドレス引数の値に設定します。またG67でモーダル呼び出しをキャンセルする必要があります。しかしG66とは異なり、G66.1はカスタムマクロを呼び出します。以下のコマンドを考えます:
N050 G66.1 P1001 X5.0 Y5.0 Z0 D0.5 R0.75 T0.5 F5.0 N055 X10.0 N060 Y10.0 N065 X5.0 N070 G67
今度はN050行で最初のポケットを加工します。以降、動作コマンドでない各コマンドで、CNCはローカル変数をリセットし、カスタムマクロを再び呼び出します。N055行ではローカル変数#24(X)の値が10.0になります。プログラマーがカスタムマクロを正しく書いていれば、カスタムマクロ内の動作コマンドが工具をこの位置へ移動させてからポケット加工を開始します。
G66.1のG66に対する利点は、G66.1とG67の間のどのコマンドでもアドレス引数を変更できることです。例ではポケットのX/Y位置、半径、深さ、Z面位置、送り速度が変更可能。この意味で、G66.1で呼び出されるカスタムマクロは、G81のような穴加工固定サイクルとほぼ同じように振る舞います。
G66.1用カスタムマクロ作成はG66より複雑です。カスタムマクロを終了するM99コマンドで全ローカル変数値が空になるため、電源オフまで失われないコモン変数にこれらの値を保存する必要があります。
G66.1使用時のカスタムマクロプログラム例:
O1001 (G66.1で呼び出されるカスタムマクロ) (呼び出しコマンドに含まれる引数の値を変更) IF [#24 NE #0] THEN #100 = #24 IF [#25 NE #0] THEN #101 = #25 IF [#26 NE #0] THEN #102 = #26 IF [#7 NE #0] THEN #103 = #7 IF [#18 NE #0] THEN #104 = #18 IF [#20 NE #0] THEN #105 = #20 IF [#9 NE #0] THEN #106 = #9 G00 X#100 Y#101 (ポケット中心へ移動) Z[#102+0.1] (アプローチ位置へ移動) G01 Z[#102-#103] F[#106/2] (ポケットへ突込み) G02 X[#100+#104-#105/2] R[[#104-#105/2]/2] F#106 I-[#104-#105/2] X#100 R[[#104-#105/2]/2] G00 Z[#102+0.1] M99
どちらが良いか? G66かG66.1か?
より多くのプログラミング作業を要しますが、G66.1はG66より柔軟性が高いです。すなわち、プログラマーはG66.1とG67の間のどのコマンドでも任意の引数を変更できます。例ではポケットのX/Y位置、半径、深さ、Z面位置、送り速度。この意味で、G66.1で呼び出されるカスタムマクロはG81のような穴加工固定サイクルとほぼ同等に振る舞います。
一方、初期引数設定後に何も変更する必要がない確信があるなら、G66の方が適しているかもしれません。G66の方がはるかに使いやすいからです。
産業機器
- 「もっと話して」で信頼と洞察を築く〜傾聴によるリーダーシップ
- 精密CNC加工によるカスタム部品製造:迅速・高精度・最適なソリューション
- カスタムレーザー彫刻ホリデーギフトでブランドを強化
- Fanuc マクロと G66 モーダル呼出しでカスタム G81 ドリリングサイクルを作成
- ハリソンAlpha Xシリーズ旋盤:カスタムコントロール搭載で優れた性能を発揮
- カスタム金属加工のトップ5メリット
- カスタムマシニングで精度と利益を両立:オーダーメイド部品がもたらす 4 つのメリット
- カスタムマシニング完全ガイド:必要な時とその理由
- MarquipWardUnited、カスタム重切削Summit旋盤を導入
- MATLAB必須コマンドリファレンス:効率的な計算のための完全ガイド
- Pythonカスタム例外マスター:実践ガイド