座標系変更の簡単な方法とプログラム

このQ&Aのポイント
  • H型部品の凹の深さを均等に変える際に、G54とG55のZを均等に変えていたが、面倒なのでG54、G55それぞれZ[-3.0-#500]として#500を変えると上下の凹の深さが均等に変わる。
  • FANUCのマクロ変数には+入力がないため、#500に-0.01と入れていた場合、さらに-0.02するためには-0.03と打ち込む必要がある。
  • より簡単な方法やプログラムがあるかどうか、教えていただけないでしょうか。
回答を見る
  • 締切済み

各座標系を均等に変えるのが面倒なのですが、

うまく言えませんが、H型の部品の上と下の凹の深さを均等に変えるために今まではG54とG55のZを均等に変えていたのですが、面倒なのでG54、G55それぞれZ[-3.0-#500]として#500を変えれば上と下の凹の深さが均等に変わるようにしたのですが、FANUCのマクロ変数には+入力がないので、#500に-0.01と入っていた場合、さらに-0.02したい時は-0.03と打って入力しているのですが、もっと簡単な方法、またはプログラムはないでしょうか。 Z[-3.0+#500]でした。 すいません

noname#230358
noname#230358

みんなの回答

noname#230359
noname#230359
回答No.4

余っている形状補正や磨耗補正等を座標系調整用と決めて、そのシステム変数を足し込むようにしてはどうでしょう。 そうすれば「+入力」が使えます。

noname#230358
質問者

お礼

その方法もありますね ありがとうございます

noname#230359
noname#230359
回答No.3

仕上がりを計測し「あと-0.02追込みたい」からその値の「-0.02」と入力したい。という事ならば、もう一つコモン変数#501を使用した演算式はどうでしょうか #500=#500+#501 Z[-3.0+#500] #501に追込み値を入力することで実現できますが、実際に活用するうえでは、目的を達した時点で、#500、#501とも「0」を入力し初期化しなくてはなりません。 できればリセットキーで初期化できればよいのですが・・・

noname#230358
質問者

お礼

#500=#500+#501 Z[-3.0+#500] #501=0 で#501で補正できそうです できなかったらもうすこし考えます 参考になりました ありがとうございます

noname#230359
noname#230359
回答No.2

現状通り-0.03と入力した方が安全だと思うのですが、いかがでしょうか? 例えば、すでに#500=-0.01が代入されており、そこへ-0.02と入力して -0.03にすることは他の変数も使えば可能ですが、現状いくら下げたのか 混乱してきませんか? ところで、単純にG54、G55のZを均等に下げるだけでしたら、たしか 原点設定の一番最初の座標系は全ての座標系に効いてきませんでしたっけ?

noname#230358
質問者

お礼

それはコモン座標系ではないですか?

noname#230359
noname#230359
回答No.1

>FANUCのマクロ変数には+入力がない 文法上そのような制約は無いので 操作盤に + キーが無いという意味? ↓のように新しい機種は L キーと一緒になっていて SHIFT キーを押せば入力出来るはずだが・・・古い機種では? [ ]キーが使えてるようなのでマクロに対応しないほど古い機種ではないはず。 [ ]キーとコメントを書く( )キーは同時使用出来ない機種はあったが、+ キーがそうなってる機種があるかは不知。 マクロプログラムを書くにはNC操作盤よりパソコン上でのほうが便利です。 演算には必要でも、数字入力だけなら+は不要。マイナスは必須。。。

参考URL:
http://www.cosmos.in/e-catalogues/CONTROLLERS/FANUC/FANUC%2021i-18i%20CATALOGUE.pdf
noname#230358
質問者

お礼

ファナックのロボドリルには最新型でもマクロ変数のページには+入力のボタンがないんですよ... なんでないんですかね...

関連するQ&A

  • G92座標系について

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

  • ファナック18-Mの変数使用について

    大隈のマシニングでFANUCの18-M を使用しています。 プログラムで変数を使おうとした所、変数に値を入力している所でアラームメッセージが発生して 「009 アドレス入力に誤りがあります」 と出てきて止まってしまいます。 プログラムは以下のように、 #1=1.6改行 G91Y[#1] 改行 X-3. 改行 Y-[#1] 改行 G0Z100.M9 としています。 構文がおかしいのか、変数を使用するのに何か設定が必要なのか、原因がわかりません。 よろしくお願いします。m(_ _)m

  • ワーク座標の入力画面

    ワーク座標の入力画面に00という場所があります。ここの各軸の数値を0以外にしない様にと機械メーカーの人に言われました。いったいこの00とは何の為に有るのでしょうか?又、この数値を一切変えられない様に出来ないのでしょうか?因みに制御装置はFANUCの0Mです。 回答有難う御座いました。早速試したところ、回答の通りになりました。が、Zの値が-の時は問題無く値分シフトしますが、Zの値を+の数値にしプログラム運転すると、自動原点復帰G28実行時に原点を越えてリミットスイッチに当たりアラームが出て止まってしまいます。この場合どう対処すれば良いのでしょうか? 一例として、00のZの値を+50にし、プログラム運転すると、 O1000; G90 G80 G54 G49 G17 G0 X0 Y0 ; G43 H1 Z10. M3 S1500 ; ←工具長補正の値を-にしたい為G43にした。 . . . G49 G28 Z0 M5 ; ←この行実行時にアラームが出る M6 ; . . . M30 ; 追記の追記です。リミットスイッチに当たりアラームが出る件ですが、自動原点復帰の行にG91を追加してもやはりオーバートラベルを起こしアラームが出てしまいます。つまり下記の通りです。 G91 G49 G28 Z0 M5 ; としても結果は同じアラームが出てしまいます。

  • FANUC 6M のワーク座標の操作を教えてくだ…

    FANUC 6M のワーク座標の操作を教えてください。 20年以上前のOKKの機械で金型部品、冶工具など単品加工をしています。ずっとG92で仕事しておりましたが、こちらのサイトで現在はG54~G59が主流と知りました。 こちらの書き込みや取り説を参考にバイスの左側にポイントしてワーク座標G54に機械座標をインプットしました。 適当にXYZ軸をうごかしてからMDIでG90G00G54X0Y0Z0といれてスタートボタン押すとまったく違う方向に動きます。 一度再起動してから全部の画面をゼロにしてからまた、G00G90G54X0Y0Z0と入れてスタートを押すと今度はまったく動きません。 6MでG54~G59を使っている方、設定やMDI、NCプログラムを教えていただきたい。手順など教えていただけるとありがたいです。 システム FANUC 6MB マシニングではありません。 テープにリンカーを付けて3Dなど垂れ流し加工もやってます。

  • プログラム

    今マクロでいくつかのプログラムを作成しているのですが、いざ現場に流すとメイン(G65P1000Z?Q?S?V?D?H?A?H?・・・・) 引数の入力が10個以上あるプログラムだと書き換えがめんどくさいとか、数字の入力間違い、とかの意見が出てきました、何か解決法はありませんか?ちなみに機械へのメインの入力はオペレーター個人に任せてあります。

  • マクロのIF

    FANUC CNCでNCのマクロを使用しようとしています. システム変数#100の値をを読んで1ならマクロを抜けて,それ以外なら原点復帰して停止するプログラムです. O1000; IF[#100EQ1.0]GOTO201; N200; M99; N201; G28G91Z0; G28G91Y0; M1; M5; M30; % 呼び出し側はG65P1000;と記述しています. 現在はテストですので,#100の値は自動運転中に手動で入力しています. 上記を実行したところ#100にどんな値を入れてもN201が実行されてしまいます. どうも#100が常に空の値になっているような気がします. 上記の現象が発生する理由がお分かりになられる方がいらっしゃおましたら,何卒ご教授お願い致します.

  • FANUC 21-Tにて補正値をプログラム上へ呼…

    FANUC 21-Tにて補正値をプログラム上へ呼び出したいです 摩耗補正にて入力した値をプログラム上へ呼び出し、半分の値にして他の補正番号へ代入を行いたいのですが、システム変数などで補正値を呼び出すことは可能なのでしょうか。 また可能なようでしたら摩耗補正のシステム変数値を教えていただきたいです。 例:W01へ0.5を入力した場合 プログラム上にW01の補正値0.5を呼び出して半分に計算 W0.2へ0.25を代入して加工 使用している製品はFANUC Series 21-Tです。

  • カスタムマクロの呼び出し

    はじめて質問させていただきます。 FANUC Series 21i-MAのマシニングを購入しました。 パラメータでカスタムマクロを呼び出すように設定しましたが、アラームが 発生してダメなようです。 どうか、私に知恵を貸してください。 プログラムは... M100 X*.* Y*.* ; G110 R***.* Z***.* ; PRM6050 ⇒ 110(O9010を呼び出すGコード) PRM6080 ⇒ 100(O9020を呼び出すMコード) アラーム 内容 【アラーム 003 入力データが許容値を超えました】 尚 G65 P9020 X*.* Y*.* ; G65 P9010 R***.* Z***.* ; 上記のプログラムでは、大丈夫でした。

  • G68 の三次元座標変換について

    YZ平面に2.8deg X軸を回転の中心軸にして座標を回転したくプログラムを作成したんですが、うまく回転しません。  作成したプログラムは G19G90G68X0Y-100.0Z0I1.J0K0R2.8 この後に位置決めで G19G90G0X0Y-100.0 を入れて確かめてみたんですが、前の座標からY-100.0しか動きません。(G68指令する前と同じ) たぶんG68指令した時に座標系が動いてないんだと思います。(何故なのかわかりません)   色々、本などで調べたんですが、うまくいきません。 アドバイスの程、宜しくおねがいします。 FANUC 16i 横型マシニングセンターを使用しています。

  • FANUCロボドリルのプログラムについて

    初めて質問させて頂きますが長文お許しください。 私の会社でロボドリルを使用していますが、 CAMが無いのでプログラムをクイックエディタから手入力しているのですが、 先日間違えてザグリ穴や精度穴を加工するマクロプログラムを削除してしまい 困っています。 FANUCに問い合わせたのですが以前は丁寧に教えてもらえてたのですが何年ぶりかに電話したら、今は提案?的な感じで正確な事は言えないと断られてしまいました。 私はロボドリルを使い始めて7年程たちますが、 FANUCのスクールへ行った訳でもなく独学(ネット等)&以前は教えてくれたFANUCからのプログラムを書き換えながら使ってきただけなので知識としては素人レベルです。 因みにFANUCから提案?されたのは円弧補間?みたいな事を言われたのですがさっぱりわからずでして・・・ 間違えて消してしまったマクロプログラムは 穴の中心をX0Y0とし冒頭のGコード省略として、 まず穴中心座標に移動(X0Y0) Z5→Z0と2段階で刃先を移動 加工開始座標に移動(X0Y0) #100・・・←・・・は#100の後に何かあったと思うのですが思い出せませんが繰り返し動作をする時用の記号?数値?だと教えられました。 Z-10(穴深さ50として) 〇〇〇〇←覚えてません・・・10←使用工具径 〇〇〇〇←覚えてません・・・90←下穴径 〇〇〇〇←覚えてません・・・100仕上げ径(φ100として) 〇〇〇〇←覚えてません・・・2 ←切り込み量 〇〇〇〇←覚えてません・・・500 ←送り 〇〇〇〇←覚えてません・・・400 ←仕上げ送り (こんな感じで数値を図面に合わせてその都度変えて使っていました。) ~~~~~~~~~~~~~~~~~~~~~~~~~ ここから↓は 〇〇〇〇←覚えてませんがここから何十行と#とか数値とか[ ]な記号?が組み合わさって続いてました。 最後にLT〇〇←深さ50としてLT5 こんな感じで座標や数値を変えてたけで〇〇〇〇部がいっさい覚えていませんが どなたか解りますでしょうか? 宜しくお願い致します。 長文失礼いたしました。