【G43,G44,G49】工具長補正

Gコード
スポンサーリンク

ATCが搭載された機械の場合、取付長の違う工具を複数本使用して加工を行います。
その際に工具長の違いを補正してくれるのが工具長補正です。
工具長補正の使い方は、機械の機能や会社の方針などで色々とやり方が違うと思うので、ここでは考え方の説明をしていきます。

スポンサーリンク

工具長補正を難しく感じる人の特徴

難しいと思っている人は、恐らくZ軸のワーク原点が材料の上面だと認識している人が多いと思います。
実際には、機械が認識している原点は、材料の上面ではありません。

基準工具(測定具)を材料の上面に持ってきて、ワーク原点の設定をするので上の画像のように材料の上面(工具の先端)が原点になったと思ってしまいますが、そう思っているのは加工者だけです。
工具がこの1本だけなら、この認識でも問題ないです・・・
ですが、2本目以降の工具には通用しません。

機械側は材料の上面がどの位置にあるのかは認識していないからです。
極端に言えば、工具がセットされているかいないかすら知った事ではありません。

「でも、ワーク原点設定したよ?」
「ここが材料の上面って機械に教えたのに?」
「ワーク原点セットしたのに、なんで補正とかいるの?」

などと悩む人がいますが、それは人間と機械の認識の差です。


機械が認識しているワーク原点の位置

機械が認識しているワーク原点はここです。
(正確には、見た目にここというものではなくて座標系(G54-G59)に設定されている機械座標の位置ですが、常に変化せず材料に一番近いところなので、ここではこの位置にしています。)
座標系で指定された機械座標を常にワーク原点(ワーク座標のZ0)として動くのであって材料の上面を基準に動くわけではありません。

座標系が分からない方は、こちらもどうぞ。

【G54-G59(G53)】座標系
座標系(G54-G59)の説明今回は座標系の説明です。 機械座標とワーク座標の関係の説明で最後に少しだけ出てきました。 座標系とは? CNCフライスには、G54-G59迄の6個の座標系があります。 座標系といっても3次元的な座標軸があるわけ...



上の画像のワーク原点よりも下は、認識していません。
人間は目で見ているので、工具の先端が材料の上面にあるのが分かりますが、機械は今いる位置が原点だと捉えているだけです。
なので工具がセットされていようがなかろうが、長かろうが短かろうがZ0に移動しろと指令されれば矢印の位置に来るだけです。

なので、この範囲だけは工具が変わるたびに、加工者が機械に教えてあげなくてはいけない部分になります。


スポンサーリンク

工具長補正の考え方

上で説明した通り、機械は工具の事は認識していませんので、何も考えずに動かすと危険です。
下の図のように1本目と2本目の工具長が違う場合で説明します。

1本目を基準工具としてワーク原点を設定します。
1本目と2本目の長さの違いは、2本目の方が20mm長い設定です。


これを、工具長補正なしで実行すると下の画像のようになります。

1本目を基準にワーク原点を設定しているので、1本目は問題ありません。
しかし、2本目を補正なしで実行すると機械は、1本目と同じワーク原点に移動します。
2本目の方が20mm長いので、その分工具の食い込みが発生してしまいます。
これは、機械側は工具の長さが違うとは認識していないので当然こうなってしまいます。
基準工具より短い場合は、逆に材料より手前で止まってしまいます。

1本目と2本目を別々の座標系(G54-G59)に設定してもいいのですが、これでは6本しか設定できません。
不便ですよね。

そこで工具長補正というものが出てきます。
一つの座標系で設定したワーク原点に対して、工具を変更するたびに設定したワーク原点より〇〇mm上や〇〇mm下をワーク原点と仮定して動いてください。
という指令を与えるのが工具長補正です。

工具長補正を使用した機械の動きは下のようになります。

1本目は、補正の必要はないのでH1には0を入力
2本目は、1本目より20mm長いのでH2に20.0を入力

プログラム上で
G54 G43 H〇 Z0
と指令します。
(〇は補正番号です。補正値ではありません。)
(補正値は、あらかじめ機械の設定で入力しておきます。)

1本目は補正値0なので、そのままG54のZに設定された機械座標に移動します。
2本目は補正値に20.0(H2=20.0)が設定されています。
なので、G54のZに設定された機械座標より20mm上をワーク原点(ワーク座標のZ0)として移動します。

工具が短い場合は、符号をマイナス(-)で入力します。

スポンサーリンク

工具長補正 手順

基準工具(T1)の先端を材料の上面に移動(手動)させる。
その位置の機械座標をG54(G54-G59)のZに入力。
H1に0を入力。



2本目の工具に交換。
工具の先端を材料の上面に移動(手動)させる。
機械座標を確認。
基準工具の機械座標と、2本目の機械座標の差を計算してH2に入力。
G43を使用する場合、プラス方向に補正したい場合は正(+)の値、マイナス方向に補正したい場合は負(-)の値を入力。

プログラム例

(1本目)
T1;  (ツール1を呼び出し)  
M6;  (工具交換)
G90 G54 X0 Y0;  (座標系G54を選択、X0 Y0に移動)
G43Z100.0 H1;  (工具長補正G43、補正番号1番(H1)を使用してZ100まで移動)
   ・
   ・
   ・
   ・
G00Z100.0
G49; (工具長補正キャンセル)


(2本目)
T2;  (ツール2を呼び出し)  
M6;  (工具交換)
G90 G54 X0 Y0;  (座標系G54を選択、X0 Y0に移動)
G43Z100.0 H2;  (工具長補正G43、補正番号2番(H2)を使用してZ100まで移動)
   ・
   ・
   ・
   ・
G00Z100.0
G49;  (工具長補正キャンセル)



一応、図解入りで頑張って説明してみましたが、なんとなくでも分かってもらえましたか?
基本的には工具径補正と変わらないと思います。
補正値を入れた番号を呼び出して使用する。
径か長さかの違いだけですね。
工具径補正は、主軸の中心から幾つ補正するか?
工具長補正は、基準工具から幾つ補正するか?
です。

工具径補正の説明

【G40/G41/G42】工具径補正
工具径補正とは、NCプログラムで指令した座標より刃物の半径分(登録した値)ずれた軌道で動かす為のGコードです。工具径補正を使用していない時の軌道は、刃物の中心がプログラムの座標で動くので、実際に加工する場合は図面寸法から刃物の半径分ずらした...