このQ&Aは役に立ちましたか?
G52の使用・不使用の判断方法とは?
2023/10/17 23:30
- エンドミルで円弧加工させる際に、G52を使用して座標移動させて行っています。プログラム作成でG52を入れ忘れてしまった場合、座標移動されずに加工原点(X0.0Y0.0)で加工してしまいます。
- サブプロ(O1000)内でG52が使われていなかったらアラームで止まるようにしたいですが、G52を使用しているかしていないかの判断はカスタムマクロで可能でしょうか?
- NCはファナック(21i)です。
G52使用・不使用の判断
2010/12/03 23:01
エンドミルで円弧加工させる際に、G52を使用して座標移動させて行っています。下のようなプログラムです。プログラム作成でG52を入れ忘れてしまった場合、座標移動されずに加工原点(X0.0Y0.0)で加工してしまいます。
それを防ぐために、サブプロ(O1000)内でG52が使われていなかったらアラームで止まるようにしたいのですが、G52を使用しているかしていないかの判断はカスタムマクロで可能でしょうか?
M98P1000はG52とセットで使用しています。O1000を呼び出すときにG52を使わないときはありません。
知恵を貸していただきたいです。よろしくお願いします。
O10(MAIN)
G52X10.0Y10.0
M98P1000
G52X-10.0Y10.0
M98P1000
G52X0.0Y0.0
M30
O1000(SUB)
X0.0Y0.0
G01Z-2.0F10.
G41G01Y-3.0F5.
G03J3.0
G03J3.0F10.
G40G01Y0F50
G00Z10.0
M99
すいません。書き忘れたのですが、NCはファナック(21i)です。
質問者が選んだベストアンサー
命令時点で使っているワーク座標系でそのようなシフトがされ、そして他のワーク座標系全てにも効果が及ぶ命令形式。そのシフト量は記憶していて、軸移動指令の直前にシフトシフト量を差っ引く。解除はゼロ書込み。なのでワンショット命令でシステム変数でフラッグを立てる必要も無い。
黄色本から、このように読めます。
なので使ってみてパラメータをあたり、シフト量が書かれている番地を探すことは難しくなさそうです。番地が判れば(XXXX、YYYY、ZZZZとする)
>G52が使われていなかったらアラーム
IF[[ABS[#XXXX]+ABS[#YYYY]+ABS[#ZZZZ]] EQ 0] #3000=1(** G52 NOT USE **)
でエラーストップさせられるハズ
補足
2010/12/06 22:14
回答ありがとうございます。
参考になりました。調べてみます。
とりあえず、G66呼び出しで円弧加工マクロを作ってみました。
G66P1111Z-2.0R0.2W3.0F20.D32
M98P2000
G67
Z:加工深さ
R:R点
W:狙い径
F:送り速度
D:工具径補正番号
P1111:円弧加工マクロ
O2000:加工座標
このQ&Aは役に立ちましたか?
この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。
その他の回答 (2件中 1~2件目)
軽く調べてみましたが、G52をひろうシステム変数って無いんですかね?
見つかりませんでした。
O1000で必ず使うのであれば、O1000にG52を入れてしまって、M98呼び出しでなく、G65呼び出しにしたらどうですか?入れ忘れることはなくなるのでは?
プログラムもすっきりするし。
※当方、G52って使ったこと無いので、この方法使えるかわかりませんが。
O10(MAIN)
G65P1000X10.0Y10.0
G65P1000X-10.0Y10.0
M30
O1000(SUB)
G52X#24Y#25
X0.0Y0.0
G01Z-2.0F10.
G41G01Y-3.0F5.
G03J3.0
G03J3.0F10.
G40G01Y0F50
G00Z10.0
G52X0.0Y0.0
M99
お礼
2010/12/06 22:15
回答ありがとうございます。
参考になりました。
とりあえず、G66呼び出しで円弧加工マクロを作ってみました。
G66P1111Z-2.0R0.2W3.0F20.D32
M98P2000
G67
Z:加工深さ
R:R点
W:狙い径
F:送り速度
D:工具径補正番号
P1111:円弧加工マクロ
O2000:加工座標
お礼
2010/12/06 22:15
回答ありがとうございました。