跳到主要內容

G41G42(一)

文章日期:2007-12-30 21:50



對於研發CAD/CAM軟體的人或是對於善用CAD/CAM軟體的人,大都覺得G41G42這些補正指令不大好用,因為常常有alarm的現象,或者覺得這些補正指只能好用一次,舉例來說,要銑內槽時,需將工件輪廓裡的材料銑掉,使用G41G42時,機台控制器就能讓端銑刀平行並偏置工件輪廓一個端銑刀半徑,來銑削第一圈材料,但是若要銑第二圈材料,就傷腦筋了,因為若偏置量固定一個端銑刀半徑,不論再怎麼銑,端銑刀還是沒法在往內槽中心銑進去,但倘若加大偏制量,機台控制器常會因為發現過切而Alarm;不過,話雖如此,對於手寫CNC程式的人,G41G42的確是個很好的利器,非學不可,因此本文就分成5個文章來講解補正功能。

第一篇文,先來解釋一些常用到的名詞:

1. "CNC程式"
在台灣"CNC程式"這個詞,在中國則常稱為CNC編程,而英文的講法是CNC code programming…

2. “一行程式
CNC程式的組成一般都講成是由一行一行的程式所組成,
這其實是不對的,正確的講法是CNC程式的組成由一個個單節所組成,單節的英文是block,每個單節的末端都需有EOB(End Of Block)來做結束,因此不論螢幕上顯現的是幾行,只要沒看到EOBCNC工具機就都把這些行當作是同一個單節
3. “機能指令
CNC工具機是以一個單節裡的指令為一個行動單元來作動,每個單節裡都以機能指令為主體,並佐以XYZ等座標或其它參數為輔來組成,機能指令是由位址碼(英文字母)及若干個阿拉伯數字所組成,機能指令可分為七大類,即G機能(準備機能),M機能(輔助機能),T機能(刀具機能),S機能(主軸轉速機能),F機能(進給率機能),N機能(單節編號機能)H/D機能(刀具補正機能),每一個類別的機能指令皆付與群組的屬性。

G  
  
                   
G00
01
快速定位
G01直線切削
G02圓形/螺旋順時針切削
G03圓形/螺旋逆時針切削
G40
07
刀具半徑補正取消
G41刀具半徑左側補正
G42刀具半徑右側補正
G43
08
刀具長補正“+”
G44刀具長補正“-”

   (列舉部份的G碼,其餘的族繁不及列載)

4. “開機時即設定的機能指令
有標記▼行號的指令為開機時即己被設定的指令。

5. “一個單節有用的機能指令
屬於00群組的G碼沒有連續性,它們之指令只能在一個單節有作用。

6. “機能指令的取代
情況(1)在同一單節裡出現同一類別同一群組屬性的機能指令,後寫的指令會取代前寫的指令,譬如說 “G02G01X10.Z-20. ” => “G01X10.Z-20. ”,因為G02G01取代了。
情況(2)在不同單節裡出現同一類別同一群組屬性的機能指令,後面單節的指令會取代前面單節的指令,譬如說 “G01X10.Z-20. (EOB) G02X12.Z-22.R5. (EOB)” ,此G01直線作動會被下一單節的G02圓弧作動取代。

7. “機能指令的殘留
除了00群組以外,當某一類別某一群組屬性的機能指令出現之後,後面單節如果沒有出現與它同一類別同一群組屬性的機能指令,則此機能指令會一直殘留有用。
8. “圖元
圖元或稱圖素,在本文中僅指直線圖元或圓弧圖元兩種。

9. “行進方向
CNC工具機刀具的移動有快速移動、直線移動跟圓弧移動(實際上也是由許多的小直線所組成)等行進類別,每次行進除了行進類別之外,還必須要有出發點、終點、行進方向及行進速率,直線移動的行進方向就是從出發點至終點,但是圓弧移動的行進方向可分順時針圓弧與逆時針圓弧方向,在3D世界中順、逆時針圓弧常因觀察者所站的方位不同而有改變,如下圖所示,觀察者從右邊看此圓弧是順時針方向,但是,觀察者從左邊看此圓弧卻是逆時針方向,為了不必要的紛爭,規定 : 觀察者一律是由垂直於圓弧所在的平面的第三軸向的正向往此圓弧觀察,以下圖為例,則右邊觀察者為正確之方位,此圓弧為順時針方向。

   

10. “補正“..."補正方向"..."觀察者方位”
補正或稱補償(compensation) : 以銑床言所謂的補正一般是指為刀具半徑補正,以車床言所謂的補正則是指"刀尖半徑補正"或"刀鼻半徑補正"
補正指令是G41(刀具偏移左側補正)G42(刀具偏移右側補正)行之,但是在3D世界中左、右方向常因觀察者所站的方位不同而有改變,如下圖所示,觀察者從圖中右邊方位看此直線的左側方向卻是觀察者從圖中左邊方位看此直線的右側方向




為了不必要的紛爭,因此規定觀察者方位 :

1. 所要偏置的直線或圓弧必須與三軸中的某兩軸所構成的平面平行:此"三軸中的某兩軸所構成的平面"意指=>XY平面..YZ平面..ZX平面。如果所要偏置的直線或圓弧不平行於某兩軸所構成的平面,則無法偏置。

2. 觀察者視線必須"垂直於所要偏置的直線(或圓弧)所在的平面",亦即觀察者視線是所要偏置的直線或圓弧所處的某兩軸所構成的平面之外的第三軸,舉例來說,若工件為於XZ平面,則觀察者視線必須平行於Z軸。

3. 觀察者視線的方向:由第三軸的正向往負向觀去,以上圖為例,則圖中右邊方位觀察者為正確之方位,以車床工件來說,工件位於XZ平面,觀察者視線除了必須平行於Z軸之外,還必須由Z軸的負向往正向來看工件。

除了觀察方位的因素要遵守之外,觀察者的頭位也會影響左右側的判斷,如下圖所示,觀察者頭位順著行進方向與觀察者頭位逆著行進方向所看到的左右側剛好相反,因此,補正時觀察者的頭位一律規定:需順著行進方向來判斷左右側。
舉車床為例,如果欲車削工件的外徑表面,車刀是從端面往夾頭方向車過去,那就得採用右偏置(G42),但是,如果欲車削工件的是內徑表面,並且如果車刀是從孔裡面一直往端面方向車過來,那就得採用左偏置(G41),如下圖所示


但是,假若如果欲車削工件的是外徑表面,並且車刀是從夾頭方向往端面車過去,那就得採用左偏置(G41),但是,如果欲車削工件的是內徑表面,並且車刀若是由孔的裡面往端面方向車過來,那就得採用右偏置(G42),如下圖所示

G42之車床使用範例一 : 把G41或G42寫在刀具定位那個單節裡 :
T0404 G99(外徑精車刀)
G50 S2200
G96S250M03
G0 G42 X55.0 Z2.0 (<=將G42寫在此刀具定位之單節)
M08
G70 P10 Q20 F0.1
....


G42之車床使用範例二 : 把G41或G42寫在循環車削的初始單節
T0202 G99
G50 S2200
G96S150M03
G0 G40 X42.0 Z0.08
M08
G1 X10.0 Z0.08 F0.17
   X-1.6  F0.14
   Z1.1 F1.25
G0 X38.0
G1 X38.67  F1.75
G71 U2.2 R0.5
G71 P10 Q20 U0.3 W0.1 F0.2
N10 G42 G0 X-1.6  (<==將G42寫在此循環車削的初始單節)
.....
(第二個方法係將G42寫在G71循環車削的初始單節, 因此呼叫G70時, 便可不再使用G42; 上述兩法擇一而用即可,  但不要並用)


行文至此稍嫌枯燥我們來舉個實例 :

........
G90 G1 X48. Y-10. Z-4. F200
G41 G1 X55. D01
Y110.
X40.
Y-10.
Z-4.5(此時深度改變,改銑不同深度的溝槽)
X40.
Y110.
.........

不知大家是否看出這個程式的錯誤?
倒數第2行其實是無效的單節,因為在倒數第5行就已是在X50.的位置,而此X50.的位置一直到最後行都沒被取代,至於倒數第3行只是改變Z的位置,對於XY的位置沒影響,所以沒有補正的問題,所以總共這倒數5個單節如果不考慮補正,只做了  =>  從出發點X40.Y110. 往下到 X40.Y-10.,又從X40.Y-10. 往上到X40.Y110.,這是360度的大迴轉
如果要補正考慮下去,則X40.Y110. 到 X40.Y-10. 往下線段的左側補正,加上X40.Y-10 . 到X40.Y110.的往上線段的左側補正,則線段X40.Y110. 到 X40.Y-10. 完全會被銑到

  

11. "補正角"
補正角或稱補正內角,不論兩個圖元的相接形態是直線與直線、直線與圓弧、圓弧與直線、圓弧與圓弧,這相接的兩個圖元皆會形成兩個夾角,如下圖所示之α與β(如果圖元是圓弧,則以連接點處的切線來求出夾角),當G41作動時,α角位於補正側(即左側),則稱α為(G41之)補正角,而β角則稱為(G41之)補正外角;當G42作動時,β角位於補正側(即右側),則稱β為(G42之)補正角,而α角則稱為(G42之)補正外角
 

正常情況下,補正角與補正外角加起來剛好為360度; 用上面剛舉的CNC程式為例,其G41之補正角為360度,而G41之補正外角則為0度。
篇幅所限請續看第二篇文:

留言

這個網誌中的熱門文章

管牙PT

文章日期:2009-07-12 23:08 本文旨在講解 PT錐度管牙 常見的標準的管牙規範計有:  NPT , NPTF ,NPS , PS ,PF , PT.. ,前3者有N開頭的是美國標準的管牙 ,牙角(又稱螺紋角)60度 ,後面這3者則是英國標準的管牙 ,牙角55度 ,這些代號裡面的T意指Taper ,也就是錐度牙 。 不論是PT還是NPT,他們的錐度值都是1/16, 換算成角度值是 2*tan-1(0.5/16)=3.57982度 = 3度34分47.356秒, 3.57982度為什麼等於3度34分47.356分呢? 這是因為角度的單位換算是六十進位,3.5798212度後面的小數點0.5798212"度"要換算成""分"時,0.5798212度 = 0.57982*60分 = 34.789273分 ,而34.789273分後面的小數點0.789273分要換算成秒, 則0.789273*60秒 = 47.356秒。 此外,切記在車削錐牙時得採半錐角,也就是1度47分23.7秒。 NPT (美制管用推拔螺紋) 制定在 ANSI 規格中,稱為美國標準管用推拔螺紋,有外螺紋與內螺紋。 NPT 外螺紋不但對 NPT 內螺紋配合,有時也配合 NPSC ,這點類似 PT 。螺紋峰與根切成同形,又因公差大,餘隙、緊密兩種配合都可用。如用潤滑劑,則變成耐密用,耐密用者另有稱為乾封閉之如 NPTF,NPSF 等付有 F 之一群。 NPTF (美制管用耐密推拔螺紋) NPTF 外螺紋,像 PT.NPT 有時也配合 NPSF.NPSI (都是內螺紋)。因這種螺紋都是峯尖、根淺,峯不是密接於根就是食進,可防止在此部分變成螺旋狀間隙,這是前述耐密性之理由。 PT( 英制管用推拔螺紋 ) 以前是使用面直角的螺紋峯,現在將規格統一為軸直角者。 JIS 定為耐密用而組合外螺紋和內螺紋。 PT 外螺紋除了配合 PT 內螺紋,有時也配合 PS 。 PS ( 英制管用推拔螺紋用平行內螺紋   ─   耐密用 )     屬於 JIS 內 PT 的規格,舊 JIS 裏 PS 牙的外螺紋已被取消,配合的外螺紋現規定要用 PT 。 PF( 英制管用平行螺紋 ...

G76車牙

文章日期:2008-10-10 00:02 工具機若使用 Fanuc 控制器,車牙轉速有一個先天上的限制: S × P < 4000 請參考 車牙的 NC 碼計有 G32 、 G92 、 G76 三種 ( 使用方法 這三個指令中,手寫 G92 一般是直進式切削,牙刀的兩刃皆受力,直進式切削 ,每刀吃深不多,以免造成牙面粗糙,反觀 G76 則是斜進式單邊車削 ,可以有較大的進刀深度 , 寫法也簡短方便廣受採用,不論多大的牙, G76 只要兩個單節就可解決了。 由於 G76 有單邊切削的效果,廣受學校或職訓單位的喜愛,如下圖所示。         Fanuc0T系列控制器之G76 格式如下 : 指令說明 (m) : 精車次數。 (r) : 車牙末端 拔刀時留下的不完全牙長度(倍率)。 (a) :牙刀之角度,可選擇 80 °、 60 °、 55 °、 30 °、 29 °、 0 °等角度。 Q( △ dmin) :最小進刀深度。 R(d) :精車預留量。 X(u) :螺紋程式終點的 X 軸方向座標。 Z(w) :螺紋程式終點的 Z 軸方向座標。 R(i) :螺紋部份的半徑差,如果 I=0 可作一般直線螺紋車削。 P(k) :螺紋高度即牙深度, K 為正值在 X 軸方向用半徑值指定。 Q( △ d) :第一次螺紋的切削深度,用半徑值指定。 F(l) :螺紋的導程,與 G32 相同。 以M20X2.5外螺紋為例 , 常見的寫法如下 : G76 P01 00 60 Q40 R0.02 G76 X16.933 Z-10.0  P1533    Q500   F2.5 1. G76第一行的 P01 00 60 ,這01表示最後精車時只車一刀精車, 00 表示車牙最後拔刀時不留倒角 ,此所謂之倒角是 不完全牙之意 ,亦即因拔刀而在工件上留下牙深較淺的牙 ,Fanuc的拔刀精度是0.1倍的導程 , 若是此值改成10,則表示拔刀時在軸向會留下一倍導程長度的不完全牙,這一倍就是指導程2.5的一倍,也就是不完全牙會有2.5mm那麼長, 60 ...

錐度值

文章日期:2008-02-01 08:40 做傳統車床的人通常會遇到車錐度時要調複式刀座,而複式刀座所調的角度為工件錐度部位之半錐角,為甚麼要調的是半錐角,而不是全錐角呢?為甚麼工件的錐度值乘以 28.65 就是所要調的是半錐角呢? 如下圖所示,將工件錐度部位的稜線延伸至交接,就可看出工件完整的錐度,將這工件全錐度的一半定為 a ,則可得半錐角,由於複式刀座的前進方向是水平的,所以只要將複式刀座依逆時針方向調動半錐角,就可車削工件的錐度。 工件錐度部位之錐度值的計算公式: T=(D-d)/L D 為錐度部位之大徑, d 為錐度部位之小徑, L 為錐度部位之軸向長度。 工件錐度部位之半錐角計算公式: tan(a) = 0.5*(D-d)/L tan 是指正切函數,意思就是 : "對邊除以鄰邊",三角函數裡所指的三角形一定要用直角三角形,直角三角形最長的邊稱為斜邊,鄰邊與斜邊所包的角度就是三角函數角,如下圖的角 a ,三角函數角 a 對面的那個邊就是對邊,三角形會因擺放的位置不同而顯得有點昏頭轉向,不過只要依照上述的原則,就不會認錯邊名了。 從上述說明來看下圖就可以瞭解半錐角計算公式 tan(a) = 0.5*(D-d)/L ,從下圖放大的三角形中可以看出鄰邊長度是 L ,對邊長度是 0.5*(D-d) ,所以 tan(a) =  對邊 / 鄰邊 =0.5*(D-d)/L ,如果已算出 0.5*(D-d)/L 的值要反推角 a 的角度,就必需要這樣做 a=tan -1 (0.5*(D-d)/L) ,也就是用反三角來得角 a 大的小,反三角的值在三十年前常用查表方式求得,近年來只要按一按計算機就可顯示出,不過這對於在工作現場的人來說太麻煩了,所以就有一個半錐角速算公式  : a=28.65*( 錐度值 )=28.65*(D-d)/L) ,那麼這 28.65 到底是怎麼來的呢 ? 其實只要用計算機按按看就可以得到答案,將計算機輸入 1/tan(1 0 ) ,就可得到 57.2899616307594246... ,但由於我們要求的是半錐角,所以再將此值除以 2 就可得到 28.6449808153797... ,簡以 28.65 代之即可,不過這個半錐角速算公式是近似值,只能用來大概調動複式刀座,真正的校正還得...