工具長補正とは?Gコードの使い方・設定手順・トラブル対策まで徹底解説

CNC加工において「工具長補正」は、加工精度と作業効率を左右する重要な機能です。
工具の長さは種類や交換によって異なるため、Z軸方向の位置を正確に補正しなければ、寸法不良やワーク破損の原因になります。
本記事では、工具長補正の基本概念から、Gコードによる制御方法(G43、G44、G49)、実際の設定方法、さらに現場でよくあるトラブルとその対策までをわかりやすく解説します。
初心者から現場のオペレータまで、日々の加工品質を安定させるために知っておきたい知識を網羅しています。
目次
工具長補正とは?CNC加工で欠かせない補正機能の基本概念と定義

工具長補正とは、異なる長さの多数の工具に対して機械座標を自動調整する機能です。
工具長補正機能により各工具の先端位置を基準に加工座標を補正し、加工プログラム上で一度設定したZ軸の基準点(ワーク原点)を、工具交換ごとに再設定しなくても済むようになります。
工具長補正を有効にすると、CNC機はZ軸の位置を「工具先端」が基準になるよう補正します。
一方、工具長補正が無効の場合、機械の位置データはスピンドル先端を基準としたものになり、工具の長さ分だけ刃先位置にズレが生じます。工具長補正によってこのズレを解消し、複数の異なる工具長を持つ工具を使用する場合でも、正確な深さ・位置での加工を可能にしています。
なぜ工具長補正が必要?CNCでの目的とメリットを詳しく解説

工具長補正は、自動工具交換機能を持つCNC工作機械では不可欠な機能です。
マシニングセンタでは、多数の工具をマガジンにセットし、プログラム上の指令コードで自動交換を行いますが、その各工具の刃先長さの違いを工具長補正によって機械が自動で補正します。
これによりオペレータは、最初にワーク上で設定したZ軸の基準点を工具ごとに毎回再設定する必要がなくなり、プログラム通りに複数の工具で連続した加工が可能になります。
工具長補正がないと、工具交換のたびにZ軸の基準点を再設定したり、工具の長さの差を加工プログラムに手動で反映させる必要があるため、非効率であり、事故の原因となる可能性も高くなります。
言い換えれば、工具長補正の目的は、各工具の長さを機械側で管理し補正することで、加工精度と生産性を向上させることにあります。
工具長補正は、深さ方向の精度の確保に直結し、工具長の差による切り込み深さの誤差や加工ミスを防止します。
また、工具交換を伴う一連の加工をプログラムで自動化する際の基盤技術であり、工具長補正なしでは高度な自動加工(自動工具交換を含む)は成立しません。


CNCで使うGコードを解説|G43・G44・G49の違いとは?
コード | 機能 | 機能の説明 |
---|---|---|
G43 | 工具長補正+ | 指定値分、Zプラス方向に補正 |
G44 | 工具長補正- | 指定値分、Zマイナス方向に補正 |
G49 | 工具長補正キャンセル | 指定した工具長補正をキャンセル |
工具長補正は、主にGコードで指示されます。
フライス加工で使用される主要なGコードは、G43・G44・G49です。
また、補正値テーブル内の工具長オフセットを指定するために、「Hアドレス」を組み合わせて使用します。
以下に、各コードの役割を示します。
G43とは?最も使われる工具長補正コマンドの意味と使い方

「G43」とは、最も一般的に使われる工具長補正のオンコマンドです。
形式は「G43 H<番号> Z<基準点(0点)からの位置>」で、指定したH番号の工具長補正値を呼び出しつつZ軸位置を補正し移動します。
H番号は通常、対応する工具番号と同じ番号を指定し(例: 工具2に対してH2)、あらかじめオペレータがツールオフセットページに登録したその工具の長さを機械が読み込んで適用します。
G43では補正値(工具長)をZ軸のプラス方向に加算します。
つまり、工具が想定より長い場合には機械座標を上方にオフセットし、刃先がワークに食い込み過ぎないよう持ち上げる動作になります。
一般的な運用として、ワーク上面を基準Z=0に設定する場合、各工具の長さはスピンドル基準位置(ゲージライン)から工具先端までの距離として正の値で登録され、G43によってその正の工具長オフセットがZ軸に適用されます。
G44とは?マイナス補正を行うGコードの役割と注意点

G44はG43とは逆に、工具長補正値をZ軸のマイナス方向に適用するコマンドです。
すなわち補正値を「差し引く」動作になりますが、実際の加工現場ではG44はあまり使用されていません。
多くのオペレータは、一般的なG43(プラス方向)を利用しています。
G44は特殊な状況や一部の古い制御方式で利用されるのみで、通常は意識しなくても問題ありません。
G49とは?工具長補正を解除するGコードの使い方と注意点
現在有効になっている工具長補正を解除(キャンセル)するコマンドです。
プログラム中で工具長補正をキャンセルしたい場合に使用しますが、ほとんどのCNCプログラムでは必須ではないです。
現在のCNC機では、新しい工具に対してG43 H<番号>を実行すると前の補正番号が自動的に切り替わります。
また、プログラム終了時(M30実行時)にも補正状態はリセットされる仕様になっています。
それでも安全策として、プログラム先頭の初期化(セーフティ)行にG49を入れて確実に補正をオフにしておく場合もあります。
上記以外に、各社コントローラ独自の指定や派生コードが存在する場合がありますが、基本概念はG43/G44/G49とH番号で理解できます。
コード使用例
一般的に工具交換(M6)直後、主軸をワーク上の待避位置まで移動させた後に、例えば次のように工具長補正を有効化します。
T2 M6 (ツール2番に交換)
G0 G54 G90 X... Y... S*** M3 (ワーク座標系G54でX,Y位置へ高速移動、主軸回転ON)
G43 Z50.0 H2 (工具オフセット値2番の長さ補正を適用し、Z軸をワーク上50.0の位置まで移動)
...(以下加工動作)...
上記の例では、工具2に対してH2の補正値を適用しつつ、工具先端をワーク上面から50.0mm上の位置までZ軸方向に移動させています。
以降の加工は、工具先端を基準とした座標系で進められます。
次の工具に交換する際には、新たに対応するH番号を指定したG43を実行すれば、以前の補正値は自動的に解除され、新しい補正値に切り替わります。

CNCの工具長補正はどう設定する?基本から応用までわかりやすく解説

工具長補正値(工具長オフセット)は、機械ごとに登録します。
各工具をスピンドルに取り付けた状態で長さを計測し、その値を対応する工具番号のオフセットに入力する場合の測定方法は、以下の2種類です。
ゲージライン基準での工具長補正とは?機械共通化に便利な設定法

主軸の基準面(ゲージライン、通常は主軸端面)から工具先端までの絶対長を測定し、その値をそのまま正の工具長オフセットとして登録する方法です。
この方式は、工具長測定器で測定した値を入力する場合や、機上のツールセッタで自動測定する場合に使用されます。
利点は、測定基準を機械間で共通化できるため、工具長オフセット値を複数の機械で使い回せること、また工具交換後すぐに加工に取りかかれることです。
この方式では、機械側のワーク座標系におけるZオフセット値(例:G54のZ値)はマイナスになる傾向があります(ワーク上面がゲージラインより下にあるため)。
ワーク上面基準での工具長設定とは?ネガティブオフセットの使い方

ワーク上面基準は、各工具を直接ワーク上面に触れさせて長さを測定し、そのワーク基準からの差を負の値として工具オフセットに登録する方法です。
この場合、ワーク座標系のZ原点に対する工具先端距離そのものがオフセット値となるため、ワーク上面が常にZ=0になり、工具長オフセット値は負の値で記録されます。
この方式は、古い機械や手作業中心の現場でよく使われてきた方法であり、機械側に特別な測定器がなくても、工具をワークに当ててオフセット測定ボタンを押すだけで設定できる簡便さが利点です。
一方で、ワークの高さが変わるたびに全ての工具を再測定する必要があること、複数台の機械に工具オフセットを流用できないことなどのデメリットがあります。
上記2方式の中間的な運用として、ゲージブロック等の既知の高さを持つブロック上でタッチオフする方法もあります。
例えば、すべての工具をテーブル上に置いた高さ100.00mmのブロック上で接触させて長さを測定し、各工具長オフセットをブロック上面基準の負の値で登録します。
その後、ワーク座標系のZオフセットにブロック高さ分(100.00mm)を加算することで、ゲージライン基準方式に近い運用を手作業で行うことが可能です。
この方法であれば、毎回ワークを削って平面を出さなくても工具オフセットの設定が可能となり、かつ工具ごとのオフセット値は一定となるため、ジョブごとの再設定作業を大幅に軽減できます。
工具長補正の失敗例とその対策|CNC初心者が避けるべきミスとは?

工具長補正に関する初歩的なミスとして「プログラム内に工具長補正の指令を入れ忘れる」ケースが挙げられます。
たとえば、工具交換後にG43 H~を実行しないまま加工開始してしまうと、機械は直前で使用した工具長補正が適用されたまま動いてしまい、想定よりも深く切り込みすぎて工作物を損傷したり、最悪の場合工具折損や機械損傷してしまう危険性があります。
また、直前で使用した工具が今の工具よりも長い場合、衝突の危険性は少なくなりますが、工具長が足りていないために「今の工具で加工されているべき位置が未加工の状態」となるので、次工具が未加工部分に衝突し、工具が破損したり機械が損傷したりする可能性があるでしょう。
CNC加工に慣れた熟練工でも、うっかりこのミスを経験することがあるため、プログラム冒頭に必ず「正しいH番号とG43指令」を入れること、あるいはツールのアプローチ時に十分なZ安全高度まで退避させておくなどの対策が必要です。
また、安全確認用の「Z高さチェック」を組み込む方法も推奨されています。
主軸停止後、工具先端とワーク上面の距離がちょうど100.00mmのブロックで確認できれば、工具長オフセットとワーク原点設定が正しいことが確認できます。
高さが合わなければ、どこかに設定ミスがあるということなので、加工に入る前に修正しておきましょう。
このようなZ軸のセーフティラインを入れる習慣は、ワークや工具の損傷だけでなくクランプや治具への衝突防止にも役立ちます。
そのほかの注意点としては、G49(補正キャンセル)コマンドを使用する際にも注意が必要です。
機種によっては、G49を実行した瞬間に主軸先端が現在位置から工具長分だけ急移動するものがあるからです。
たとえば、ある工具での加工途中にG49を指令すると、機械は「工具長補正なし」と認識するためZ軸が瞬間的に動き、工具がワークに衝突するなどの危険性があります。
したがって、G49は通常プログラム末尾や工具交換前後の安全な場面(機械原点やATC原点)でおこない、加工途中で不用意にキャンセルしないのが鉄則です。


現場経験に基づく工具長補正に関する事例

工具長補正は、ATC(自動工具交換)機能があるマシニングセンタでは必須の機能です。
その機能を最大限に利用し加工を効率化するには、正確な工具長の管理や機械原点の活用が必要になります。
横型マシニングセンタでの加工に利用できる「工具長補正」や「機械原点」の活用方法や事例を、以下で紹介します。
老朽化または精度の低いツールプリセッタしかない現場での活用方法
現在、多くの現場で活躍しているツールプリセッタですが、長年の使用や各部の損傷、劣化などで測定精度が出ないものをそのまま使用している現場は少なくありません。
こういった問題を放置している理由として、ツールプリセッタ本体が比較的高額であり、設備そのものが直接生産性に影響しないという管理者(経営者)側のコスト意識が大きな障害となっています。
そういった状況でも高精度かつ正確な製品を生産し続けるなら、機械の原点を基準とした工具長の測定方法を覚えておきましょう。
横型マシニングの多くは、X軸とZ軸はパレットの中央、Y軸ならパレットの上面がそれぞれの原点に設定されており、工具長の測定ではZ原点の数値を利用します。
パレット中央にワークをセットし、加工原点を「機械原点(Z-1000.000)」に設定します。
次に、同一のZ軸の数値で0°と180°の2面をエンドミルなどで加工し、その寸法を測定したときの狙った寸法に対する加工寸法の差の半分の数値で補正をかけた値が使用したエンドミルの、機械原点に対する正確な工具長補正の値となります。

このとき、あらかじめ「G43 H*** Z200.0」のプログラムを読み込ませておくと、モニターに表示される数値が「設定した機械原点からの数値」となり、作業がしやすくなるのでおすすめです。
この方法を使用すると、老朽化したツールプリセッタで工具の長さを測定するよりも正確な工具の長さを出せますが、機械本体の精度を維持するためにテストバーなどを使用し、定期的な精度のチェックをおこなってください。
固定工具や共通工具は、正確な工具長補正値を登録しておく
横型マシニングで使用する固定工具や共通工具は、各工具の工具長補正値を正確に合わせておく必要があります。
たとえば、φ80のフェイスミルとφ160のフェイスミルの工具長が正確な値に対してズレていると、製品の加工精度に大きな影響を及ぼし、不具合品の大量発生の原因になります。
事例として「溝深さ 2.5mm±0.05」Oリング溝を加工するとします。
Aの製品ではφ80のフェイスミルを使用し、Bの製品ではφ160のフェイスミルを使用し、同一のOリング溝カッターで加工したとき、2つの工具長が正確に入力されていないとOリングの深さの精度が出ません。
仮に、φ80のフェイスミルを使用したAの製品ではOリング深さの寸法が出ていても、φ160のフェイスミルを使ったBの製品では精度が出ず浅すぎたり深すぎたりします。

上の図では、φ160のフェイスミルの工具長が正確に測定されていないため、Oリング溝カッターがワークに食い込んでいる状態です。
しかも、「製品Bの寸法が出ていない」という理由から「Oリング溝カッターの補正値を変更」してしまうと、今度は製品Aの寸法が出なくなります。
上の図の場合では、製品AのOリング溝が浅くなってしまいます。
固定工具や共通工具の工具長補正値は、たとえ面倒でも正確な値を測定し登録しておきましょう。
正確な工具長補正値を入力しておくことで、パレットの角度を変えて斜めに加工したときや、両面から加工したときの寸法精度が出しやすくなるため、段取りから量産加工までにかかる時間の短縮にもなります。
また、正確な工具長補正値を測定した工具なら、他機で使用するときも同一の工具長補正値を使用できるので、加工治具の載せ替えによる加工寸法のバラツキをおさえることが可能です。
もちろん、この方法を採用する条件として、前述した「定期的な機械本体の精度のチェック」をおこなったうえで実施してください。

メトロールの高精度な位置決めセンサとは?
工具長補正は、CNC加工における精度と効率を左右する重要な仕組みです。
しかし、その精度を実現するには、補正値の測定と設定を正確に行うことが欠かせません。
そこで注目されるのが、高精度な位置決めセンサです。とくにメトロールのセンサは、繰り返し精度や耐久性に優れ、現場の工具長補正作業を飛躍的に効率化・自動化します。
高精度位置決めタッチスイッチ(位置決めセンサ)

接触式の高精度スイッチで、工作機械やロボット、治具などの位置決めやワーク有無検出に用いられます。最大繰返し精度0.5µmと極めて高精度で、IP67の防水防塵性能を備え、悪環境下でも安定動作します。200種類以上の標準モデルがあり、狭所対応、高温対応、真空対応、低接触力タイプなどバリエーションが豊富です。
ツールセッタ(工具長測定センサ)

CNC工作機械や産業用ロボットに搭載し、工具長の測定や原点位置出し、工具折損検知などに使用される接触式センサです。工具の長さや摩耗、熱変位を機内で自動測定・補正することで加工不良を防止し、段取り時間を大幅短縮します。世界74ヵ国で50万台以上の出荷実績があるメトロールのベストセラー製品です。
タッチプローブ(機上測定プローブ)

工作機械やロボットに搭載し、加工前のワーク位置決め(芯出し)や加工後の寸法測定を自動で行う機内計測用の接触式プローブです。繰返し精度1µmでワークの基準出し・寸法検査を自動化し、熟練者の手作業を置き換えることで段取り時間短縮や加工不良防止に貢献します。有線式と無線式(ワイヤレス)のモデルがあり、5軸加工機やロボットへの後付けニーズにも応えています。
エアマイクロセンサ(空圧式センサ)

空気圧を利用した非接触センサで、ワークの着座状態を数ミクロン精度で検出できます。従来は困難だった10µm以下の隙間(「浮き」)を±0.5µmの繰返し精度で検知し、ワークと治具の密着不良による加工不良や設備のダウンタイムの発生を防止します。半導体製造プロセスや精密部品のクランプ工程、研削盤の砥石位置合わせなどで活用され、国際標準のIO-Link通信にも対応したスマートセンサです。
関連記事
ツールセッタ・タッチプローブ【後付け】ご相談窓口
後付け可能な2つのセンサを市場価格の半額以下となる特別価格でご提供します。
・『ツールセッタ』:25万円~ (製品代+設置費)
・『タッチプローブ」:50万円~(製品代+設置費)
セットで購入でさらにコストを削減
・『ツールセッタ』+『タッチプローブ』:65万円~(製品代+設置費込み)
CNCマシニングセンタのツール摩耗検出で、加工精度向上が実現
切削工具とは?種類や重要性、トラブル対処法まで解説
工作機械に取り付けて素材を削り、目的の形状に加工するための「切削工具」について解説します。
1・種類や選び方
2・切削工具と工作機械の関係性
3・よく起こるトラブルと対処法
4・適切な管理によるトラブル予防策
5・現場経験者が見る実践的ポイント