このQ&Aは役に立ちましたか?
2008/10/23 21:11
okkのマシニングセンターを使い始めたんですが、簡単な慣らし運転のマクロを作りたいと思います(fanuc)
O1
G91G28G00Z0
G28X0Y0
M03S500
G01X819Y-509F4000(最大ストロークX820Y-510)
G28G01X0Y0
この作業(最後の2行)を繰り返したいのですがどういったマクロになるのでしょうか?
下記で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
ご教示ありがとうございます。
勉強になりました。
大変わかりやすかったです。ちなみに原点はマイナスです。ありがとうございました!
2008/10/24 07:53
この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
関連するQ&A
NC旋盤で4条ねじP152の切り方を教えてください
お世話になります。大日金属の汎用NC旋盤 DL-75(1.5m)を使っています。 砲金で外径がΦ240.ネジの谷の径がΦ200.8 500L 30°台形 4条...
FANUC システム18iーM アラーム417
NC旋盤にてアンプ交換後に417サーボアラームB AXIS DGTL PARAMが 発生しました。 診断画面283#4に1が立っています。 診断画面352のBに...
アラームメッセージとしてマクロ変数の値を表示したい
FANUC15MBで #3000または#3006を使用して 固定文ではなく、任意のマクロ変数に入っている値を メッセージとして表示したいと思っているのですが、 ...
ベストアンサーを選ぶと質問が締切られます。
なおベストアンサーを選びなおすことはできません。