このQ&Aは役に立ちましたか?
Fanucの簡単なマクロ教えます!
2023/10/16 00:21
- Fanucのマクロで簡単な慣らし運転を作りたい場合、以下のコードを使用できます。
- マクロコードの詳細は、質問文章の内容に沿って設定されています。
- これを使用することで、指定した動作を繰り返すマクロを作成できます。
回答 (3件中 1~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
ご教示ありがとうございます。
勉強になりました。
このQ&Aは役に立ちましたか?
この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。
マクロを使わなくてもループできます
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
とする事ができます.
この他、回数だけでなく時刻も終了条件に加える様な応用もできます.
お礼
2008/10/24 07:53
大変わかりやすかったです。ちなみに原点はマイナスです。ありがとうございました!
マクロなど必要ないのでは?
O1
G40G80(一応、キャンセルを入れておく)
G91G28Z0(G00不要)
G49(一応、キャンセルを入れておく)
G28X0Y0
M03S500
G01X-819.0Y-509.0F4000(小数点が必要)
M99(O1に戻って繰り返す)
でいかがでしょうか。
O1 を実行すれば、ご希望通りに動きます。
Xがプラスかマイナスか、機械によります。
普通は、原点がプラス側ではないかと思います。
お礼
2008/10/24 07:54
大変わかりやすかったです。ちなみに原点はマイナスです。ありがとうございました!
お礼
2008/10/24 07:53
大変わかりやすかったです。ちなみに原点はマイナスです。ありがとうございました!