2-1.18 刀具半徑補正指令:G40,G41,G42
本節以前所舉例書寫的程式皆以刀具端面中心點為刀尖點,以此點沿工件輪廓銑削。但實際情形,銑刀有一定的直徑,故以此方式實際銑削的結果,外形尺寸會減少一銑刀直徑值;內形尺寸會增加一銑刀直徑值,如圖1所示
由以上得知若刀具沿工件輪廓銑削,因刀具有一定的直徑,故銑削的結果會增加或減少一刀具直徑值

  若以圖2(b)銑刀的刀尖點向內偏一半徑值,如虛線所示,則可銑出正確的尺寸,但如此寫法,每次皆要加、減一半徑值才能找到真正的刀具中心動路,於撰寫程式時甚不方便

故為了撰寫程式的方便性,最好能以工件圖上的尺寸為程式路徑再利用補正指令,命令刀具向右或向左補正一刀具半徑值,如圖3,4所示。如此就不必每次皆要計算銑刀中心之座標值。

  刀具半徑補正指令:
  G40:取消刀徑補正(cutter compensation cancel)。
  G41:刀徑左向補正(cutter compensation Left)。
  G42:刀徑右向補正(cutter compensation right)。

  刀徑補正左、右方向的判斷依據以下定義:站在程式路徑上,向銑削前進方向看,銑刀應向右補正者(如圖3所示),以G42指令之;反之,銑刀應向左補正者(如圖4所示), 以G41 指令之

  刀徑補正指令格式:

α、β: 為X、Y、Z三軸中配合平面選擇(G17、G18、G19)之任二軸
  D: 為刀徑補正號碼,以2位數字表示。此號碼即指刀具補正號碼中的刀徑補正號碼
例如D11,表示刀徑補正號碼為11號,11號的數據是4.0,表示銑刀半徑為4.0mm。執行G41或G42指令時,控制器會到D所指定的刀徑補正號碼內擷取刀具半徑值,以做為補正值的依據

使用刀徑補正時應注意下列事項:
1. 不能和G02、G03一起使用,只能與G00或G01一起使用,且刀具必須要移動(即啟動刀徑補正指令,必須在前一單節啟動)。如圖3及圖4說明

由A點向C點移動並啟動刀徑右向補正指令之程式如下:

G90 G00 X110. Y -20.; =>快速定位至A點
G01 G42 X92. Y0 D11 F80; => A → C
Y52.; => C → D
G03 X84. Y60. R8.; => D → E
G01 X0; => E → F
Y0; => F → G
X92.; => G → C

由B點向F點移動並啟動刀徑右向補正指令之程式如下:

G90 G00 X -20. Y80.; =>快速定位至B點。
G01 G42 X0 Y60. D11 F80; => B → F
Y0; => F → G
X92.; => G → C
Y52.; => C → D
G03 X84. Y60. R8.; => D → E
G01 X0; => E → F

 
  G42右向補正,即是銑削時,銑刀在程式路徑之右側而言,對於工件它將產生逆銑效果, 故常用於粗銑削。
由A點向C點移動並啟動刀徑左向補正指令之程式如下:

G90 G00 X110. Y -20.; =>快速定位至A點
G01 G41 X92. Y0 D11 F80; => A → C
X0; => C → G
Y60.; => G → F
X84.; => F → E
G02 X92. Y52. R8.; => E →D
G01 Y0; => D →C

由B點向F點移動並啟動刀徑左向補正指令之程式如下

G90 G00 X -20. Y80.; =>快速定位至B點
G01 G41 X0 Y60. D11 F80; => B → F
X84.; => F → E
G02 X92. Y52. R8.; => E → D
G01 Y0; => D → C
X0.; => C → G
Y60.; => G → F

G41左向補正,即是銑削時,銑刀在程式路徑之左側而言。對於工件它將產生順銑效果, 故常用於精銑削。  

2. 程式製作時,程式中只給予刀徑補正號碼,如D11、D12…每一個刀徑補正號碼均代表一個 補正值,此補正值可由參數設定為銑刀的直徑或半徑值(使用上,一般皆設定成銑刀的半徑值),而此銑刀半徑值是加工時,預先由操作者鍵入控制系統之刀具補正號碼畫面之相對應號碼內。
  
3. 補正值的正負號改變時,G41及G42的補正方向會改變。如G41指令給予正值時,其補正向左;若給予負值時,其補正會向右。同理G42給予正值時,其補正向右;若給予負值時,其補正會向左。由此可見,當補正值符號改變時,G41與G42的功能剛好互換。故一般鍵入補正值(即銑刀半徑值)皆採用正值較合理。

4. 當刀徑補正機能(屬於持續有效機能)在補正狀態中,若加入G28, G29,G92指令,當這 些指令被執行時,補正狀態將暫時被取消,但是控制系統仍記憶著此補正狀態,因此於執行 下一單節時,又自動恢復補正狀態。

5. 當實施刀徑補正,於加工完成後須以G40將補正狀態予以取消,使銑刀的中心點回復至實際之座標點上。亦即執行G40指令時,系統會將向左或向右的補正值,往相反的方向釋放,故銑刀會移動一銑刀半徑值。所以使用G40的時機,最好是銑刀已遠離工件,如圖5之程式例 1。

6. 補正向量:圖5中的"→"稱為補正向量,此向量於啟動補正指令時必與下一程式路徑 垂直。之後可能由程式路徑的交點指向補正後銑刀中心路徑之交點。參考圖5中"→" 所示。

例1. 本例中使用φ10端銑刀銑削,故加工後,會於D、E、F、G、J點處產生R5mm的小圓弧


G90 G00 X -20. Y -20.; => 快速定位至A點
G01 G41 X0 Y0 D12 F80; => A → B啟動左向補正G41
Y35.; => B → C
X20.; => C → D
G03 X25. Y60. R65.; => D → E
G02 X65. R -25.; => E → F
G03 X70. Y35. R65.; => F → G
G01 X90.; => G → H
Y0.; => H → I
X45. Y10.; => I → J
X0 Y0; => J → B
X -20. Y -20.; => B → A
G40; => 銑刀遠離工伴後再取消補正。

7. 在補正狀態下,銑刀的直線移動量及內側圓弧切削的半徑值要≧銑刀半徑,否則補正向量產生干涉,會有過度切削發生,故控制器命令停止執行,且顯示警示號碼。如圖6,7 ,8 所示。