• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:G66モーダル呼び出しについて(ファナック))

G66モーダル呼び出しについて(ファナック)

このQ&Aのポイント
  • G66モーダル呼び出しについて(ファナック)について説明します。
  • G65とは異なるG66モーダル呼び出しの使い方や特徴について解説します。
  • G66モーダル呼び出しでの変数の取り扱いについて注意点を説明します。

質問者が選んだベストアンサー

  • ベストアンサー
noname#230359
noname#230359
回答No.1

>最初に指令されたX0Y0が#24,#25に代入 ではなく、G66の引数にX,Yが無いため、 マクロプログラムO1000の呼び出しに際しては #24(アドレスXに対応),#25(アドレスYに対応)が空のままなハズです. モーダル呼び出しは、ブロック実行後にマクロが呼び出されます. G66~G67にある、 X0Y0、X100Y100は、それぞれ移動指令となります. 呼び出されたマクロは、都度呼び出し元に復帰しますので、 マクロプログラム内でのローカル変数の変更は 次回の呼び出しに影響がありません.

noname#230358
質問者

お礼

回答ありがとうございます!そうですよね!しかし原因がわかりました。 G66P1000I25D1F500 X0Y0 X100Y100 G67 と入力してマクロの中で#4=#4/2と指令したらX100Y100の位置決めではどうやら#4は6.25になってしまいました。つまり#4の値がさらに半減(#4/2/2)してしまうようです。

その他の回答 (1)

noname#230359
noname#230359
回答No.2

G66指令はドリルサイクルコード(G81とか)と同じように考えていいと思います。 G66P○○X□Y△ X0Y0 X100.Y100. G67 上記のような指令では プログラム№○○の#24と#25にそれぞれ□、△を代入したプログラムが 座標X0Y0とZ100.Y100.上で行われるということ。 ただしドリルサイクルと違うところは、 途中で深さや送りなどを変えるようにできないこと。 G81X0Y0Z-30.F150R2.Q3.L0 X100.Y100. X200.Y200.Z-60.F100 ←こんなようには使えないはずです。 参考になれば幸いです。

noname#230358
質問者

お礼

回答ありがとうございます。そうですね!今日動作確認したところ正常に動きました。これからもいろいろマクロを作成していきたいと思うのでその時はまたご指導お願いします。

関連するQ&A