• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:工具長補正をかけながら動かさない)

工具長補正をかけない方法は?

このQ&Aのポイント
  • NCプログラムで工具長補正をかけながら主軸を動かさない方法について教えてください。
  • MITSUBISHIメルダス700/70系の制御装置で、工具長補正をかけるものの、主軸を動かさない方法を教えてください。
  • 工具長補正を使用しつつ、ブロック内で主軸を動かさないようにプログラムする方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#230359
noname#230359
回答No.6

基本的な考えは回答(4)さんので合っています。 今居る高さと、工具長補正を掛けた時の座標の差をG91にて相殺する様に G43をかければZ軸の移動が無いように工具長補正を有効にできます。 工具長補正が掛かっていない状態からですとその差は工具長とイコールに なりますが、予め工具長補正が掛かっていた場合には異なってきますので 安全を考えると単純に工具長分低い所ではいけない事になります。 (例えば工具長補正をキャンセルせずに呼び出した場合など) いくつか方法があるかも知れませんが、手っ取り早いのが現在の工具長補正量を システム変数から読み取る方法だと思います。 FANUCですと#5083になります。 これと、この後指令する工具長補正の値との差を取って、その差の分の所へ G91G43すれば良いわけです。 (工具長補正がキャンセルされている状態では#5083=0です) 工具長の値はオフセットメモリCの場合、形状・摩耗の合計になりますので 例えばH番号が#11で与えられていた場合には 工具長の値は   #1=#[11000+#11]+#[10000+#11]  ;オフセットメモリCの場合 現在の補正量と新たな補正量との差は   #2=#1-#5083 この差の高さの所へ   G91 G43 Z-#2 H#11 1行にまとめると   G91 G43 Z[#5083-#[11000+#11]-#[10000+#11]] H#11 こんな感じじゃないでしょうか。 #ちなみに当方メルダスは使った事ありませんのでFANUCの場合を書きましたが  概ね同じやり方だと思います。 ちなみに上記は工具長をゲージラインから工具先端までの長さで入力している場合です。 基準工具との差で入れている場合など、他の運用の仕方をしている場合には誤動作するかも知れません。

noname#230358
質問者

補足

回答ありがとうございます。 これでうまくいきました。 確認したのは、MELDAS70系です。 私も、システム変数でためしていたのですが、G90でやっていました。 G91でやるのがポイントのようです。 ありがとうございました。 ちなみに、システム変数で機械座標値を読み取り、G90G53でやるとアラームになります。(蛇足ですが書いておきます)

その他の回答 (6)

noname#230359
noname#230359
回答No.7

こんにちは。 これって、G90G43H1 の指令だけで、補正値は有効になりますよ。 今、FANUC 18MA の実機にて確認しました。 MELDASも、同じと思います。 Z軸は動かさなくてもOKのようですね。 すみません。 G90G00G43H1 です。 G00 がいるようです。

noname#230359
noname#230359
回答No.5

0.002ぐらいならばほぼ動いたことにならないから0.002動かせばいいかと。

noname#230358
質問者

お礼

なるほど! 思いつきませんでした。 それも1つの手ですね。 ただお客さんに納品するマクロの場合はちょっと「う~ん」な感じなんですよね。 とはいえ、私は思いつきもしなかったので、またひとつ賢くなりました。 ありがとうございました。

noname#230359
noname#230359
回答No.4

試したことないので、可能かどうかわかりませんが・・・ G91G43Z-#11001H01 とか、システム変数から補正量を読み取って、長補正の値分だけZを上げてみてもダメですか? システム変数を使って・・・とありますので、試されたのでしょうけど。。。 また、最大ストローク位置で工具交換する機種なら、工具交換直後だとストロークオーバーになるでしょうし。 Z値を指令しなければ、アラームになっちゃいますしね。。。 どういった意図なのか不明ですが、難しそうですね。 あっ!弊社にメルダスの制御機がありませんので、ファナックで書いてます。

noname#230358
質問者

お礼

回答ありがとうございます。 ご教授の方法でうまくいきました。 システム変数は使っていたのですが、わたしはG90でばっかりやっていた(機械座標とかを読み取って)ので、うまくいかなかったようです。 ありがとうございました。 M70系でうまくいきました。

noname#230359
noname#230359
回答No.3

コンピューターは 私と違い真面目だから 相反する指令ではどちらかを優先して実行する。 中間点を設けて。そこで補正を終了させる それ位しか手は無いのでは? 径の補正時には良く使う手だが。

noname#230359
noname#230359
回答No.2

命令した時点で補正量分を動かさないようなことは、工具長補正の機能を考えるに無理だと思います。 そのように動作させたら逆に?命令したのに動作忘れ?をする危険が生じる。 策として ・工具長補正を使わない ・なにがしかの動作 ・工具長補正をかけたい所で機械座標を読み、所望の補正量(H)を加減して動作させるマクロを書く ・以降のZ指令は全てマクロ ・・・・・・ なぜそうさせたいのかが疑問です。プログラムスタイルが順当でない気がしますが? 回答(1)ではストロークオーバのエラーになるのでは?

noname#230359
noname#230359
回答No.1

G43を実行する時点ではZ軸は原点復帰しているのでしょうか。 だとしたら G90 G43 Z○○ H1; ○○は補正番号1に登録された補正値からマイナス記号を取った値(絶対値) を入れてみてはどうでしょうか。 実際に試したわけではないので保障は出来ません。 当方はメルダス500です。

noname#230358
質問者

お礼

回答ありがとうございます。 マクロの中で使うものなので、どんな補正番号が来ても対応できるように、組まなきゃなのです。

関連するQ&A