- ベストアンサー
G52の使用・不使用の判断方法とは?
- エンドミルで円弧加工させる際に、G52を使用して座標移動させて行っています。プログラム作成でG52を入れ忘れてしまった場合、座標移動されずに加工原点(X0.0Y0.0)で加工してしまいます。
- サブプロ(O1000)内でG52が使われていなかったらアラームで止まるようにしたいですが、G52を使用しているかしていないかの判断はカスタムマクロで可能でしょうか?
- NCはファナック(21i)です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
命令時点で使っているワーク座標系でそのようなシフトがされ、そして他のワーク座標系全てにも効果が及ぶ命令形式。そのシフト量は記憶していて、軸移動指令の直前にシフトシフト量を差っ引く。解除はゼロ書込み。なのでワンショット命令でシステム変数でフラッグを立てる必要も無い。 黄色本から、このように読めます。 なので使ってみてパラメータをあたり、シフト量が書かれている番地を探すことは難しくなさそうです。番地が判れば(XXXX、YYYY、ZZZZとする) >G52が使われていなかったらアラーム IF[[ABS[#XXXX]+ABS[#YYYY]+ABS[#ZZZZ]] EQ 0] #3000=1(** G52 NOT USE **) でエラーストップさせられるハズ
その他の回答 (1)
軽く調べてみましたが、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
お礼
回答ありがとうございます。 参考になりました。 とりあえず、G66呼び出しで円弧加工マクロを作ってみました。 G66P1111Z-2.0R0.2W3.0F20.D32 M98P2000 G67 Z:加工深さ R:R点 W:狙い径 F:送り速度 D:工具径補正番号 P1111:円弧加工マクロ O2000:加工座標
お礼
回答ありがとうございました。
補足
回答ありがとうございます。 参考になりました。調べてみます。 とりあえず、G66呼び出しで円弧加工マクロを作ってみました。 G66P1111Z-2.0R0.2W3.0F20.D32 M98P2000 G67 Z:加工深さ R:R点 W:狙い径 F:送り速度 D:工具径補正番号 P1111:円弧加工マクロ O2000:加工座標