- 締切済み
NCデータでの座標定義について
- NCプログラムの初心者です。NCプログラムに詳しい方どうか教えてください。
- NCデータ内でパートAとパートBの加工原点を定義し、パートBをパートAで定義した加工原点からずらして加工したい場合、どのように定義すればよいか教えてください。
- 座標定義は、水平方向が右→左をプラスX方向、垂直方向が下→上をプラスY方向です。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
G92でもG52でも何とでもなります。 G92は説明されているので割愛して G52ならば Aを例えばG54からみてX200.Y150.ならば G90G54 G52X200.Y150. で済みます。 更にBはAから見てX-100.Y-50.ならば Aを加工後 G52X-100.Y-50. とすればそこを基準として以降は動きます。 やりたい印象はこっちのイメージを受けますが如何でしょう。 最後に G52X0Y0 M30 と終わる前に戻しておく事も忘れずに。
どうしてもG92を使いたければ回答(3)さんの方法に賛同します。 ワーク座標系の使用に制約が無ければ回答(2)さんの方法に賛同します。 (G92は使用しない) あらかじめ、G54:X-100.Y-100./G55:X(-100.+?X),Y(-100.+?Y) に設定しておいて、オーソドックスに <パートA> G91G28Z0. G91G28X0.Y0. G90G54XO.YO. <パートB> G91G28ZO.※ G90G55X0.Y0. (※とりあえずZを原点に逃がしました) なお、カスタムマクロでワーク座標系を直接書き換えることも一案 ですが、途中でリセットしたときの対策に工夫が必要なので、先ずは ベーシックな方法がよろしいかと。 NCプログラムを使う職場から離れて10年ぐらい経過した古い知識 であり、今はもっと便利な妙手があるかもしれませんので、ご容赦 下さい。 各パートプログラムに、座標系の数値を設定する行を入れて、加工途中 でリセット~最初から再スタートしてもG54が確実に設定されるように することです。 NCの取り扱い説明書が手元に無いのですが... 例えばワーク座標系G54の各座値のシステム変数が X座標:#5**1 Y座標:#5**2 Z座標:#5**3 であると仮定すると、 <パートA> #101=-100.#102=-100.#103=***; #5**1=#101 #5**2=#102 #5**3=#103; G91G28Z0.; G91G28X0.Y0.; G90G00G54X0.Y0.; <パートB> #101=-100.+ΔX #102.=-100+ΔY #103=***; #5**1=#101 #5**2=#102 #5**3=#103; G91G28Z0.; G91G28X0.Y0.; G90G00G54X0.Y0.; とすることにより、例えばパートBの途中で加工を止めて、 パートAやパートBの先頭から再スタートさせても、正しい 座標系が維持できます。 また、このようにカスタムマクロとシステム変数を使用すれば、 ひとつの座標系で複数のプログラムを使用することも可能です。 カビの生えた古い知識ですが、何かのご参考となれば幸いです。 (今のNC装置も同じようなシステムか否かも分かりません><)
お礼
ご回答ありがとうございます。 今回はワーク座標系を使わず(他で使っているためアドレスに余裕がありません)、G92での再定義の方針で行こうと思います。今後のために、非常に参考になります。感謝いたします。 >途中でリセットしたときの対策に工夫が必要 というのは、NC装置のメモリをリセットした際のオフセットデータのバックアップが必要?という意味ですよね?
ワーク座標系(G54~G59)を使用するならG92は避けるべきです。 どうしてもG92で座標設定をするのであればG53(機械座標値への移動)を使う方法は? G91G28X0Y0Z0 G90G53X-100Y-100(第一加工原点) G92X0Y0 ・ ・ ・ G90G53X-200Y-200(第二加工原点) G92X0Y0 ・ ・ ・ ファナック系のMCの場合ですが・・・
補足
ご回答ありがとうございます。 理解できてきました。昨日考えてたのですが、G92で再定義する方法が一番よいかなぁと検討しておりました。 記入いただいた G90G53X-200Y-200(第二加工原点) G92X0Y0 を、 G91G00X-200Y-200(第二加工原点) G92X0Y0 としても同じ意味になりますでしょうか? G53は使ったことがなく、実加工では少々不安です。(当方ファナックMCです。)
例えば、パートAをG54、パートBをG55とかの、座標位置にしては 如何ですか。 回答4 さんの、やり方と同じです。
お礼
ご回答ありがとうございます。 具体的には、パートAの冒頭のG92→G54でまず定義しておいて、パートBの冒頭にて、G90G55と書くのですか?記述方法がよくわかりません。よろしければ体裁を教えていただきたいです。
マシニング系のNCにはあまり詳しくないのですが、 NCは座標系シフトや、子座標系の確立はできない仕様なんでしょうか? 例えば、G92で任意の位置に座標系を設定してしまうと、 G54では戻せなかったりします? ファナックの旋盤系ならG50のインクリメンタル指定が使えるんだけどなあ...
お礼
ご回答ありがとうございます。 >G92で任意の位置に座標系を設定してしまうと、 >G54では戻せなかったりします? G92定義後では、G54等のワーク座標系では戻せないように思います。。 定義座標の再宣言ができればよりのですが、その方法がわかりません。。
お礼
お返事送れて失礼致しました。 G92以外の方法で、G52のローカル座標系設定を用いるのですね。 試してみようと思います。大変参考になりました。 どうもありがとうございました。