工具径補正
工具半径を含めた座標でNCプログラムを作成してしまうと、違う工具を使用することになってしまった場合に、全ての座標を修正しなければなりません。こんなことにならないために、NCプログラムには工具径補正という機能が付いています。
工具径補正にはG41とG42の二つのGコードがあります。G41は進行方向の左側に工具半径分座標がずれます。G42は逆で進行方向の右側に座標がずれます。言葉を変えれば、(主軸正転時には)G41はダウンカット、G42はアップカットと言うことになります。

工具の半径を機械に認識させるには、工具オフセットの"D_"(_は数値)に工具半径分の数値を手動で入力する方法と、システム変数を使用してプログラムの中で数値をセットする方法があります。システム変数は設備のメーカーや年式によって違いますので、各設備の取扱説明書を参照してください。
工具径補正のスタートアップ
工具径補正を使用する際にはスタートアップ動作が必要になります。下の「スタートアップ動作なし」のプログラムは、G41で工具径補正をかけたブロックでいきなり加工を始めたものです。このようなプログラムでは、図のようにワークに切り込み過ぎてしまいます。
「スタートアップ動作無し」 ・ ・ G01X-10.Y-20. G41X-10.Y10.D1 ・ ・

このような場合は、加工に入るブロックより前のブロックであらかじめ工具径補正をかけておく必要があります。これがスタートアップ動作です。
「スタートアップ動作有り」 ・ ・ G01X-10.Y-30. G41X-10.Y-20.D1 X-10.Y10. ・ ・

円弧半径小
ポケット加工などでコーナーRの加工を行う場合、コーナーRが工具半径より小さいとアラームが出て止まってしまいます。このような場合の対策は、コーナーRよりも工具半径が小さな工具を使用するか、コーナーRを工具半径よりも大きくして対応します。

切り込み過ぎ
先程の円弧半径小と同じですが、プログラム作成時に気づきにくいのが下図の上のパターンです。工具が点Aに来た時点で、次に移動する斜めの線に切り込んでいます。これはアラームになります。この図では説明のために分かり易く描いていますが、実際には気づきにくい工具軌道も存在します。
対処法としては、径の小さい工具を使用する、または、横線と斜め線をつなぎ、縦線を無くすことで加工可能ですが、線と線をつなぐと形状が変わってしまいますので注意が必要です。

Z軸を動かすと工具径補正がキャンセルされるのですが・・・
自動運転中はG40を読み込まない限りキャンセルはされません。Z軸を動かすとイメージ通りに動かないというのは、現在のブロックから3ブロック先までしか読み込まない(機種にもよります)というNCプログラムの特性によるものです。
(G17 XY平面) (G41 工具径補正中) ・ ・ N1 G01 Y10. N2 X10. N3 Y-10. N4 X-10. N5 G04 X1. (G04はドウェル) N6 F50 N7 G01 Z-3. N8 G04 X1. N9 G01 Y10. ・ ・
上記のプログラムはXY平面(G17)で工具径補正 左(G41)を読み込んでいる状態です。N1からN4までのブロックではプログラムに問題はありませんが、N4の後にXY軸の移動がないブロックが4ブロック続いています。NCプログラムでは3ブロック先までしか読み込みませんから、N4で移動した時点では次にどの方向に進むのか機械にはわからないのです。すると、N4の移動では下図のN4の位置で工具は止まってしまいます。この工具位置でN9の移動を行うと、図のように切込み過ぎてしまうのです。

円弧補間で工具径補正をかけるとアラームがでるのですが・・・
工具径補正モードに移るときの軸移動はG00かG01です。G02やG03ではアラームとなります。これは工具径補正をキャンセルするときも同様です。工具径補正モードに移るタイミングは、工具径補正の指令があるブロックではなく、工具径補正指令後の軸移動があるブロックとなります。
- 当サイトのPDF版を作成しました。教育資料やリファレンスとして使用して頂ければと思います。
→ NCプログラムの教科書 - 上級編も作成しました。
→ NCプログラム上級編