• 締切済み
※ ChatGPTを利用し、要約された質問です(原文:fanucの簡単なマクロ教えてください!)

Fanucの簡単なマクロ教えます!

このQ&Aのポイント
  • Fanucのマクロで簡単な慣らし運転を作りたい場合、以下のコードを使用できます。
  • マクロコードの詳細は、質問文章の内容に沿って設定されています。
  • これを使用することで、指定した動作を繰り返すマクロを作成できます。

みんなの回答

noname#230359
noname#230359
回答No.3

下記で10往復します。 ---------- O1 G91G28Z0 G28X0Y0 M03S500 #1=0 WHILE[#1LT10]DO1 G01X819.Y-509.F4000 X-819.Y509. #1=#1+1 END1 M05 M30 ---------- 回答(1)さんと同じになりますが、 Xの±について確認して下さい。 回答(2)さんへ、 >追記 >2008-10-24 13:01:47 ご教示ありがとうございます。 勉強になりました。

noname#230358
質問者

お礼

大変わかりやすかったです。ちなみに原点はマイナスです。ありがとうございました!

noname#230359
noname#230359
回答No.2

マクロを使わなくてもループできます O1 G40G0 G91G28Z0 G28X0Y0 M3S500 N1G1X819.Y-509.F4000.(X,Yは小数点を入れないと最小設定単位での指令になる. Fには小数点はとくに必要ないが...) X-819.Y509.(G28は常に早送り) /M99P1(オプショナルブロックスキップスイッチがOFFでN1に戻る) M30 どうしてもマクロが使いたければ、 “M99P1”を“GOTO1”に変えます. M99よりもGOTOの方がサーチは早いのですが. 繰り返し回数を決め打ちするなら、WHILEループを使います. #1=__(回数を指定) WHILE[#1GT0]DO1 (中略) #1=#1-1 END1 変数を0で初期化し、回数をインクリメントでカウントするよりは、 予め回数の値で変数を初期化しデクリメントした方が 回数変更時にプログラム修正が楽だと思います. そうすればまた、何かしらの条件でループを強制終了させるにも、 ループの最後で変数に0を入れるだけで済みますし. 例えば、オプショナルブロックスキップスイッチOFFでも ループを終了させたい場合、END1の直前で /#1=0 とする事ができます. この他、回数だけでなく時刻も終了条件に加える様な応用もできます.

noname#230358
質問者

お礼

大変わかりやすかったです。ちなみに原点はマイナスです。ありがとうございました!

noname#230359
noname#230359
回答No.1

マクロなど必要ないのでは? O1 G40G80(一応、キャンセルを入れておく) G91G28Z0(G00不要) G49(一応、キャンセルを入れておく) G28X0Y0 M03S500 G01X-819.0Y-509.0F4000(小数点が必要) M99(O1に戻って繰り返す) でいかがでしょうか。 O1 を実行すれば、ご希望通りに動きます。 Xがプラスかマイナスか、機械によります。 普通は、原点がプラス側ではないかと思います。

noname#230358
質問者

お礼

大変わかりやすかったです。ちなみに原点はマイナスです。ありがとうございました!

関連するQ&A

専門家に質問してみよう