NCデータでの座標定義について

このQ&Aのポイント
  • NCプログラムの初心者です。NCプログラムに詳しい方どうか教えてください。
  • NCデータ内でパートAとパートBの加工原点を定義し、パートBをパートAで定義した加工原点からずらして加工したい場合、どのように定義すればよいか教えてください。
  • 座標定義は、水平方向が右→左をプラスX方向、垂直方向が下→上をプラスY方向です。
回答を見る
  • 締切済み

NCデータでの座標定義について

NCプログラムの初心者です。NCプログラムに詳しい方どうか教えてください。 下の方にNCデータのソースの一例を記入しております。 その中で、パートAを行1~5、パートBを行6~25と定義します。 ●パートAは、加工原点からみて機械原点の距離は(+100,+100)。加工原点を(0,0)と定義したい。 ●パートBは、加工原点を(?X,?Y)と定義したい。 (パートAとは相対的に(+?X,+?Y)ずらした位置で加工したい。) 上記のようにしたいのですが、パートBの冒頭でG91G00?X?Yとしても、その後、G90の絶対座標系で動いているので、 だめかな、と思います。それともG92で定義し直すのでしょうか。。 パートB部分全体をパートA部分で定義した加工原点からある値をずらした加工原点で加工するには、 ひとつのNCデータ内でどのように定義すればよろしいのでしょうか? #ちなみに座標定義は下記です。 ・水平方向:右→左をプラスX方向 ・垂直方向:下→上をプラスY方向 1 O1000 :メインプログラムO1000 2 G92X100.Y100.Z0. 3 G90G00Z10. 4 M98P4003 :サブプロO4003呼び出し 5 G90G00Z0. 6 G54G90 :ワーク座標系G54(現在オフセット値は0,0) 7 G17G40G00X140.Y42.S18M13 8 M11 9 G01Z-40.F6000 10 G64G43H27Z-63.F2000 11 G41D25X130. 12 X50.F3000 13 G42X80. 14 Y70. 15 G41Y42. 16 X-993. 17 Y22. 18 X-1360.F3000 19 G40X-1325.Y-10.F6000 20 M98P5555 :サブプロO5555呼び出し 21 G91G01G49Z63.F5000M92 22 M95 23 G91G28X0Y0M07 24 M31 25 M30 お手数ですが宜しくお願い申し上げます。

noname#230358
noname#230358

みんなの回答

noname#230359
noname#230359
回答No.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 と終わる前に戻しておく事も忘れずに。

noname#230358
質問者

お礼

お返事送れて失礼致しました。 G92以外の方法で、G52のローカル座標系設定を用いるのですね。 試してみようと思います。大変参考になりました。 どうもありがとうございました。

noname#230359
noname#230359
回答No.4

どうしても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装置も同じようなシステムか否かも分かりません><)

noname#230358
質問者

お礼

ご回答ありがとうございます。 今回はワーク座標系を使わず(他で使っているためアドレスに余裕がありません)、G92での再定義の方針で行こうと思います。今後のために、非常に参考になります。感謝いたします。 >途中でリセットしたときの対策に工夫が必要 というのは、NC装置のメモリをリセットした際のオフセットデータのバックアップが必要?という意味ですよね?

noname#230359
noname#230359
回答No.3

ワーク座標系(G54~G59)を使用するならG92は避けるべきです。 どうしてもG92で座標設定をするのであればG53(機械座標値への移動)を使う方法は? G91G28X0Y0Z0 G90G53X-100Y-100(第一加工原点) G92X0Y0 ・ ・ ・ G90G53X-200Y-200(第二加工原点) G92X0Y0 ・ ・ ・ ファナック系のMCの場合ですが・・・

noname#230358
質問者

補足

ご回答ありがとうございます。 理解できてきました。昨日考えてたのですが、G92で再定義する方法が一番よいかなぁと検討しておりました。 記入いただいた G90G53X-200Y-200(第二加工原点) G92X0Y0 を、 G91G00X-200Y-200(第二加工原点) G92X0Y0 としても同じ意味になりますでしょうか? G53は使ったことがなく、実加工では少々不安です。(当方ファナックMCです。)

noname#230359
noname#230359
回答No.2

例えば、パートAをG54、パートBをG55とかの、座標位置にしては 如何ですか。 回答4 さんの、やり方と同じです。

noname#230358
質問者

お礼

ご回答ありがとうございます。 具体的には、パートAの冒頭のG92→G54でまず定義しておいて、パートBの冒頭にて、G90G55と書くのですか?記述方法がよくわかりません。よろしければ体裁を教えていただきたいです。

noname#230359
noname#230359
回答No.1

マシニング系のNCにはあまり詳しくないのですが、 NCは座標系シフトや、子座標系の確立はできない仕様なんでしょうか? 例えば、G92で任意の位置に座標系を設定してしまうと、 G54では戻せなかったりします? ファナックの旋盤系ならG50のインクリメンタル指定が使えるんだけどなあ...

noname#230358
質問者

お礼

ご回答ありがとうございます。 >G92で任意の位置に座標系を設定してしまうと、 >G54では戻せなかったりします? G92定義後では、G54等のワーク座標系では戻せないように思います。。 定義座標の再宣言ができればよりのですが、その方法がわかりません。。

関連するQ&A

  • G52使用・不使用の判断

    エンドミルで円弧加工させる際に、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)です。

  • G92座標系について

    はじめまして、NC装置開発しているNCプログラム初心者です。 FANUC18iMB5を使用しています。 NCプログラム作成時のG92の使い方について教えてください。 マシンロック実行すると座標系が更新されると聞きました。 怖いのでプログラム先頭で機械座標をプログラム原点としたいのですが、下記プログラムでうまくいくのでしょうか? 皆さんはどうされているのでしょうか?教えてください。 O0001(sample); G49; G92X#5021Y#5022Z#5023A#5024B#5025;(マクロ変数で機械座標をGET) G90G0X0.Y0.Z0. ::: M02;

  • FANUC Series 0-M 大隈豊和2NC

    FANUC Series 0-M 大隈豊和2NC のNCフライスを転職して担当することになりました。 従来は大隈やFANUCの1990年以降の機械に携わってきましたが、 その例で、プログラミングすると、 変な動きをします。 1:ブロックゲージでZ原点を出し、G92でZ原点を割り出す。 MDI でG0Z100.と打ち込むと、2.66の誤差が生まれる。 2:穴あけプログラムで、 G54 H1 G90 G0 X0 Y0 Z100. Z50. G98 G73 R3. Z-1. F100. K0 M98 P11 G80 Z50. M30 % O11 G90 X-15. Y-15. X-30. M99 % 動きとしてはX-15.Y-15.まで移動して、 R3. のはずが、絶対値Z4. となり、Z3. まで加工して、延々と繰り返されます。 X-30.には移動しません。 動きにご存知の方、ご教示お願い致します。

  • NCマクロ 固定サイクル中の工具交換

    NCはファナック16iです。 例えば、1本のドリルの工具寿命を100穴と設定して、200穴の加工を2本のドリルで行うとします。 下のような固定サイクルで加工して、1本目のドリルで100穴加工(X100.0Y0.0)したら 2本目のドリルに工具交換して、続きの座標(X101.0Y0.0)から加工させるようなことは できるでしょうか? P○○○はドリルステップ加工のマクロです。 この中で、加工穴数をカウントして工具交換できないかなと考えています。 G66 P○○○ Z-10.0 R0.2 F30. K0 M98 P1000 G67 O1000(200穴分の座標) X1.0 Y0.0 ・ ・ X100.0Y0.0 X101.0Y0.0 ・ ・ X150.0YO.O M99 現在はサブプロをドリルの工具寿命穴数分に分けて作成して、加工を行っています。ドリルの工具寿命穴数いっぱいまで無駄なく使いたい為、みなさんのご意見をお聞かせ下さい。よろしくお願いします。

  • カスタムマクロの次座標の読み込み

    カスタムマクロを使用して加工をしたいのですが、G66で呼び出し中のマクロで次座標の読み込みは出来るのでしょうか? 具体的な加工としてはエンドミルで横引き加工をしますが、 加工箇所が座標データしかなく、また座標数も膨大なためマクロで処理出来る方法を思案中です。 Y座標が同一点では連続加工し、Y座標変化点でZを逃がしたいです。 加工順  G00X0Y0 G01Z-1.F50 X6. G00Z2. X0.Y0. G01Z-1.F50 X6. ・ ・ ・ G66P100OABCL0 X0Y0 X2Y0 X4Y0 X6Y0 X0Y-2 X2Y-2 X4Y-2 X6Y-2 G67 とあり、次座標との比較で加工経路を決定させたいのですが可能でしょうか? また、他にスムーズな方法はあるのでしょうか?

  • NCデータの切削条件書き換え方法

    下記のような加工データを工具がT1の場合に回転数S1803をS2000に、送りF59をF300に変換したいのですが、良い方法はないでしょうか ようするにCAMで作ったNCデータを秀丸エディターまたは安価なシュアウエアーで工具別に切削条件を書き換えたいのですが、宜しくお願いします。 T1                工具がT1の場合 M06 (CENT DIA=3 T=1 H=1) N1 G15H1 G90G00X15.Y15.S1803       回転数S1803をS2000に変換 G56Z100.H1M03 M08 G71Z50. NCYL G81Z-3.R2.F59M53      F59をF300に変換 CALL O1 G80 G00Z100. X210.Y15. NCYL G81Z-3.R2.M53 CALL O2 G80 M09 G00Z100.M05 以下同じような内容のデータが続くと考えます

  • 複数ワーク取り付け加工のワーク座標の使用について

    複数のワーク座標の使用について聞きたいのですが例えば G54 G90X0Y0 G43H1Z50 M03S2800 G99G81R2Z-34F500 X-100 G80Z50 G55 X0Y0 X-100 G80Z50M05 とすれば2つのワーク座標で2つのワークを加工できるのですが 例えばこれを G54 G90X0Y0 G43H1Z50 M03S2800 G99G81R2Z-34F500 X-100 G55X0Y0 X-100 G80Z50M05 という指令のしかたはできるのでしょうか?

  • サブプログラムについて

    メインプログラムにG54等の座標系を指定すれば、他の座標系が指定されない限りモーダルで動くのでしょうか。 だとすれば、メインプログラムで座標系を変えて、サブプロはG90で座標系指定のないプログラムとして、一つだけにしてよいのでしょか。 例) O0001 G54G9OGOXOYOZ100. M98P0002 G55G9OGOXOYOZ100. M98P0002 M30 O0002 G80G40G49  G91G28G0Z0 T1 M6 G90G0X0Y0 ←座標系を設定しない ・ ・ ・ M99 それとも、サブプロにも座標系を入れて、別々にしないといけないのでしょうか。 そうすると、同じプログラムなのに加工する個数ぶん必要になってしまいますが・・・ もしG54、G55・・・がモーダルなら、つぎに使用するときにG54を指定して戻しておかないとないとG55のままになっているということでしょか。 普段は、サブプロをメインプロとして単品加工をし、夜間に無人加工するために部品を2~3個セットして、メインプロを別に設定してO0002をサブプロとして呼び出して使用したいというのがねらいです。 そのために、サブプロにG54等の座標系を入力しておかないほうが、都合が良いからです。 プロ編集なしでO0002をG54でもG55としてでも使用したからです。 通常は一個だけなので芯だしはG54で行います。 O0002に座標系を入力しなければG54中心で動きますが、G55を使用したことがないため、以上のような2個以上の加工をしようとすると、どのような動きになるのか分かりません。 わかるかたいましたら、教えてください。

  • NCデータ

    NCデータの英語と数字の羅列の意味がわかりません。 (1)G1Z-3.F300. (2)G3X59.Y16.I0.J0. (3)G0X0.Y0. 上記3つの意味がわかりません。後、最後の「.」を つけないとどうなるのか教えてください! お願いします!

  • オークマ5面加工機 アンギュラー加工のNCプログ…

    オークマ5面加工機 アンギュラー加工のNCプログラムについて お世話になっております。 先日、中古でオークマさんのMCR-B OSP5020Mの5面加工機を中古で購入しました。元は個人で事業されていた方の設備ですが、死去され会社の整理に伴い、譲り受けました。この様な理由から、説明書以外でご教授頂ける伝手がなく質問させて頂いております。 アンギュラー加工で丸物のワーク中心を加工原点とし、3時、12時、9時、6時方向からの穴明け加工は出来るのですが、応用で、それぞれ45度振った方向からの穴明け加工はどのようになるのでしょうか?今現在使用している12時方向からのNCプログラムは下記の様になっています。また、ワークは旋盤形状ドーナッツ型のもので、外形φ300 内径φ200 厚さ150mmです NCプログラムです(アンギュラー、ツールを呼び出した状態でです) N010 (T20-17.5 DRILL)   CALL OG0184 HH1=20   S360 G15H1X0Y0 G00X0Y200 Z-50 G71Y160M53 M08 NCYL G18G73R155Y92Q2F70 CALL OS10 M09 G80Z1000 M02 OS10 X0Z-50 となっています。 再度、質問の内容ですが ?上の加工データを利用し(コピー、編集等)、加工原点を中心に45度回転させた穴明け加工は加工でしょうか? ?9時方向、6時方向、3時方向の穴明けは現在G18とG19、G181~G184を使用、 その他R点、加工深さ等を変更してデータを4つ用意していますが?が可能ならば同様に90度、180度、270度、回転させることで対応出来るのでしょうか? ?アンギュラーは15度刻みで回転出来る仕様です。恐れ入りますが30度振った場合の加工データもお教え頂きたいです 宜しくお願い致します