マクロ解説:第3回「プログラム呼び出しと引数の関係」

マクロ解説:第3回(確認用)

G65 / G66 を使うと、サブプログラム(例:O9000)を呼び出せます。さらに、呼び出し側で指定した値(引数)を、呼び出された側のローカル変数へ自動で受け渡しできます。

1) G65・G66の違い

  • G65その実行ブロックで1回だけ 指定したプログラムを呼び出す
  • G66G67 で解除するまで、1ブロックごとに 指定したプログラムを呼び出す

どちらも P で呼び出し先のプログラム番号を指定し、X/Y/Z などのアドレスで引数を渡します(渡した値はローカル変数に自動入力)。

2) 例1:G65でO9000を呼び出す

呼び出し側(G65)
G65 P9000 X10. Y20. Z-5.

O9000
G01 X#24 Y#25 Z#26
…
M99

X20. Y40. Z-10.

3) 例2:G66でO9000を呼び出す(モーダル呼び出し)

呼び出し側(G66 → G67で解除)
G66 P9000 X10. Y20. Z-5.

O9000
G01 X#24 Y#25 Z#26
…
M99

X20. Y40. Z-10.
O9000
G01 X#24 Y#25 Z#26
…
M99

G67

4) 引数 → ローカル変数の対応(一覧表)

呼び出し側の文字 呼び出された側で自動入力されるローカル変数 よく使われる状況
A, B, C#1, #2, #3主軸やテーブルの旋回、回転
I, J, K#4, #5, #6座標変換
T#21工具交換
X, Y, Z#24, #25, #26工具移動、座標変換

5) よくあるミス(読みやすさ改善)

  • G66を解除し忘れる:最後に G67
  • 対応を勘違いX→#24 / Y→#25 / Z→#26
  • 受け取った変数を上書き:必要なら別変数へ退避してから処理

次回は「カスタムマクロを使った数式と条件分岐・繰り返し」について解説します。(第4回に続く)

マクロ解説:第4回へ

>訪問デモ・オンラインデモ受付中!

訪問デモ・オンラインデモ受付中!

弊社シンプルテックがご相談をお受けいたします。
ぜひお気軽にお問い合わせください!

CTR IMG