NC旋盤のプログラミング基礎講座!⑪〜ノーズR補正・後編〜(ファナック)

NC旋盤のプログラミング基礎講座!⑪〜ノーズR補正・後編〜(ファナック)

前回はノーズR補正のプログラムを、スタートアップまで解説しました。

前回の講座はこちら↓

今回の講座では、ノーズRがかかっている状態の動き方キャンセル方法、ノーズR補正の注意点を解説していきます。

どれもノーズR補正のプログラミングを行う上では避けては通れない知識ですので、しっかりおさえておきましょう!

ノーズR補正中の動作

ノーズR補正の動き方をきちんと理解していないと、刃物が思わぬ動きをして不良を作る原因になってしまいます。

動き方の仕組みを理解した上でノーズR補正を使えるようになると、ミスも少なくなります。

ノーズR補正中はこんなふうに動く!

ノーズR補正中の動作

基本的に、ノーズR補正は図のように素材にノーズRが接するかたちで移動します。

コーナーのところでは、拡大図のようにノーズRの分だけ削り残しができるので、当然ですが完全な鋭角にはなりません。

「2ブロックルール」に注意!

手打ちでプログラムを組む場合に注意しなければならないのが、「2ブロックルール」です!(2ブロックルールという名称は私が勝手につけました)

その内容は

ノーズR補正は2ブロック先読みして補正を行う

というもの。

そのため、ノーズR補正中に2ブロック以上移動のないブロックが続くとうまく補正機能が働かず、削りすぎたりする場合があります。

移動のないブロックとは

・Mコード(例:M08)
・Sコード(例:S120)
・ドウェル(例:G04 P1000)
・Gコードのみのブロック(例:G98)

このようなブロックが、ノーズR補正中に2ブロック以上続かないようにする必要があります。

「2ブロックルール」に違反するとこうなる・・・!

ノーズR補正 2ブロックルール

プログラム
(G42モード中に)
X60. Z-20.
M09
S200
Z-30.

上の例では、移動のないM09とS200が2ブロック連続するプログラムになっていますね。

これだとノーズR補正中に次の座標を機械が認識しないため、図のように削りすぎが発生してしまいます。

こんな加工に注意!

ノーズR補正は、プログラムによってはエラーがでたり、おかしな動作をすることがあります。

以下のようなプログラムは組まないように注意しましょう。

こんなプログラムは組まない!

・ノーズRよりも小さい円弧の内側を削るプログラム
・ノーズRよりも小さな溝を加工するプログラム
・ノーズRよりも小さな段差を加工するプログラム

私が使っている機械では、C面と連続してノーズRよりも小さな段差を加工するプログラムを組んだ際にはエラーがでず、削りすぎが発生します。

初心者の頃、これで不良を作った経験もあります。

ノーズRより小さい円弧のプログラムの場合はエラーが出て動かないため直接不良にはつながりませんが、特にC面からの段の加工には注意しましょう。

ノーズR補正のキャンセル

次にノーズR補正のキャンセルについて解説します。

ノーズR補正を使った後や、プログラムの最後は必ず補正のキャンセルを行ないましょう。

座標のズレによるミスの原因になります。

G40を使ってキャンセルを行う

ノーズR補正のキャンセルは「G40」のGコードを使って行ないます。

G40でのキャンセルも、スタートアップと同様に、G00もしくはG01で移動させながら行う必要があります

通常のノーズR補正キャンセル動作

ノーズR補正キャンセル G40
ノーズR補正のキャンセル動作

上図のプログラム
G42 G00 X100. Z2.
X100. Z-80.
G40 G00 X150. X-20.

上の例のように、G41やG42を使ってノーズR補正をかけている状態からG40を指令すると、まずブロック上の図のような位置(X100,Z-80)に刃先がきます。

図の通り、プログラムで指令した位置よりノーズRぶんだけ行き過ぎていますので、削りすぎに注意しましょう!終点に壁がある場合のキャンセル動作は次項で解説しています!

ここからG40を使ってキャンセルをかけていきます。

そして、G40を指令したブロックでは、仮想刃先位置が終点にくるように動きます

切削終了点に壁がある場合のキャンセル動作

前項でも少し触れましたが、切削終了点に壁があるような場合、前項で説明した通常のキャンセル動作をすると食い込みが生じてしまうことがあります。

壁があるときのキャンセル動作
壁があるときのキャンセル動作

このようなときには、壁の方向(素材形状)を、下の例のようにベクトルI,Kで指令します。

壁があるときのノーズR補正キャンセル

G40 X** Z** I** K**
(例:G40 X100. Z-20. I173.2. K-100)

この指令には、いくつか注意点があります。

  • I、Kはインクリメンタル値で指令する
  • Iの値は半径値で指令する
  • I,KはG40と同じブロックで指令する

I、Kを指令する場合は、三角関数を使って計算するのが一般的です。

三角関数の使い方はこちらの記事でわかりやすく解説しています!

次回は総まとめ!実際にプログラムを組んでみよう!

これで、NC旋盤プログラミング基礎講座の内容は解説し終わりました。

次回は総まとめとして、図面を見ながら実践を想定したプログラミングに挑戦してみましょう!!

コメント