G65, G66, G67(マクロ呼び出し)
G65, G66 は、マクロプログラムを呼び出して実行するのに使用します。
M98 などのサブプログラム呼び出しと異なる点は、引数を使って安全に数値を渡せることです。
G65 と G66 との違いは、G66 はキャンセルされるまで有効なモーダルなGコードであるのに対し、G65 は指令したブロックのみで有効なワンショットなGコードであることです。
G67 は G66 をキャンセルするのに使用します。G65 はワンショットなGコードなので、G67 を指令する必要はありません。
G65(マクロ呼び出し)の使い方
「G65 P_ L_ (引数);」の形で記述します。P は呼び出すマクロプログラム番号です。L はマクロプログラムを呼び出す回数で、省略すると1回だけ呼び出します。
引数はA 〜 Z で記述し、それぞれがローカル変数の#1 〜 #26 に対応していますが、使用できないアルファベットもあります。
引数の使用方法については「マクロ」のページに、マクロプログラムを使ったプログラム例は「変数口座5.マクロにして使い回す」などに掲載しています。
マクロプログラムを呼び出したあとに、マクロプログラムからメインプログラムに戻るときは、マクロプログラム内で M99 を指令します。
G65(マクロ呼び出し)の注意点
マクロプログラム内で M99 ではなく M02 や M30 を指令すると、そこでプログラムが終了します。
G66(マクロモーダル呼び出し)の使い方
「G66 P_ L_(引数);」の形で記述します。
基本的には G65 と同じですが、G66 では次のブロックにマクロプログラムを実行させる座標を指令します。その後、G67 でキャンセルされるまで、座標を指令するだけでマクロプログラムを実行します。
以下のプログラムは、プログラム番号 O1000 のマクロプログラムを使った G65 と G66 の使用例ですが、どちらも同じ動きをします。
(マクロプログラム) O1000 Z-5.0 G91 G01 X#1 F300 ; G02 I-#1 ; G01 X-#1 ; G90 G00 Z30.0 ; M99 ;
(G65の使用例) G90 G00 G54 X0 Y0 ; G43 Z30.0 H1 ; M3 S1000 ; G65 P1000 A5.0 ; (X0 Y0 でマクロプログラム呼び出し) X100.0 Y100.0 ; G65 P1000 A5.0 ; (X100.0 Y100.0 でマクロプログラム呼び出し) X200.0 Y200.0 ; G65 P1000 A5.0 ; (X200.0 Y200.0 でマクロプログラム呼び出し) ・ ・
(G66の使用例) G90 G00 G54 X0 Y0 ; G43 Z30.0 H1 ; M3 S1000 ; G66 P1000 A5.0 ; X0 Y0 ; (X0 Y0 でマクロプログラム呼び出し) X100.0 Y100.0 ; (X100.0 Y100.0 でマクロプログラム呼び出し) X200.0 Y200.0 ; (X200.0 Y200.0 でマクロプログラム呼び出し) G67 ; (マクロモーダル呼び出しをキャンセル) ・ ・
G66(マクロモーダル呼び出し)の注意点
マクロプログラム内に、G90 アブソリュート指令でのXY軸の移動がある場合は、マクロ呼び出し時のXY座標が意味をなさなくなることがあるので注意が必要です。
コード | 機能 | グループ |
---|---|---|
G00 | 位置決め(早送り) | 01 |
G01 | 直線補間 | |
G02, G03 | 円弧補間、ヘリカル補間 | |
G04 | ドウェル | 00 |
G08 | 高精度制御(先行制御) | |
G09 | イグザクトストップ | |
G10 | データ設定 | |
G17, G18, G19 | 平面指定 | 02 |
G27 | 原点復帰チェック | 00 |
G28 | 機械原点復帰 | |
G30 | 第2原点復帰 | |
G31 | スキップ機能 | |
G40, G41, G42 | 工具径補正 | 07 |
G43, G44, G49 | 工具長補正 | 08 |
G52 | ローカル座標系設定 | 00 |
G53 | 機械座標系設定 | |
G54 〜 G59 | ワーク座標系選択 | 12 |
G60 | 一方向位置決め | 00 |
G61 | イグザクトストップモード | 13 |
G62 | 自動コーナオーバライド | |
G63 | タッピングモード | |
G64 | 切削モード | |
G65, G66, G67 | マクロ呼び出し | G65 = 00 G66, G67 = 14 |
G68, G69 | 座標回転 | 16 |
G90, G91 | アブソリュート指令、インクレメンタル指令 | 03 |
- 当サイトのPDF版を作成しました。教育資料やリファレンスとして使用して頂ければと思います。
→ NCプログラムの教科書 - 上級編も作成しました。
→ NCプログラム上級編