1.G92設定工件坐標係
指令格式:G92 XYZ;
先使刀位點位於刀具起點A,若已知刀具起點相對於工件坐標的坐標值為(α,β,γ),則執行程序段G92 Xα Yβ Zγ後,即建立了以工件零點Op為坐標原點的工件坐標係。執行G92指令時機床不產生任何動作。
2.工件坐標係選擇G54~G59
格式:
G54
G55
G56
G57
G58
G59
說明:G54~G59可預定6個工件坐標係,根據需要任意選用。這6個預定工件坐標係的原點在機床坐標係中的值,用MDI 方式預先輸入在“坐標係”功能表中,係統自動記憶。當程序中執行G54~G59 中某一個指令, 後續程序段中絕對值編程時的指令值均為相對此工件坐標係原點的值。G54~G59為模態指令,可相互注銷,G54為缺省值。
例2-1 用G54 和G59 選擇工件坐標係指令編程:要求刀具從當前點(任一點)移動到A點,再從A點移動到B點。
%1000
N01G54;選擇工件坐標係1
N02G00G90X30Y40; 當前點→A
N03G59;選擇工件坐標係2
N04G00X30Y30; A→B
N05M30;
3.局部坐標係設定G52
格式;G52 XYZ;
說明:G52能在所有的工件坐標係(G92、G54~G59)中形成子坐標係,即局部坐標係。
其中:X、Y、Z分別為局部坐標係原點在當前工件坐標係中的坐標值。
G52指令為非模態指令,但其設定的局部坐標係在被取代或注銷前一直有效。
設定局部坐標係後,工件坐標係和機床坐標係保持不變。
要注銷局部坐標係,可用G52 X0 Y0 Z0來實現。
在縮放及旋轉功能下,不能使用G52指令,但在G52下能進行縮放及坐標係旋轉。
4.直接機床坐標係編程G53
格式;G53
說明;G53表示使用機床坐標係編程
G53指令為非模態指令。
(二)單位的設定
尺寸單位選擇G20、G21、G22
格式:G20
G21
G22
說明:G20、G21、G22用於指定尺寸字的輸入製式(即單位)。
其中:G20為英製輸入製式;
G21為公製輸入製式;
G22為脈衝當量輸入製式。
3種製式下的線性軸、旋轉軸的尺寸單位。
G20、G21、G22為模態指令,可相互注銷,G21為缺省值
(三)進給速度單位的設定G94、G95
格式:G94F_;
G95F_;
說明;G94、G95用來指定進給速度F的單位。
其中:
G94為每分鍾進給;
G95為每轉進給,即主軸旋轉一周時刀具的進給量。
用G94編程時,對於線性軸,F的單位依G20、G21、G22的設定而為mm/min、in/min或脈衝當量/分;對於旋轉軸,F的單位為(°)/min或脈衝當量/分。
用G95編程時,對於線性軸,F的單位依G20、G21、G22的設定而為mm/r、in/r或脈衝當量/轉;對於旋轉軸,F的單位為(°)/r或脈衝當量/轉。此功能隻在主軸裝有編碼器時才有效。
G94、G95為模態指令,可相互注銷,G94為缺省值。
(四)回參考點控製指令
機床參考點是機床上一個固定點,與加工程序無關。數控機床的型號不同,其參考點的位置也不同。通常立式銑床指定X軸正向、Y軸正向和Z軸正向的極限點為參考點。對加工範圍比較大的機床,可設置在距機床原點較近的適當位置。而機床原點也稱為機床零點,它是通過機床參考點間接確定的,機床原點一般設在機床加工範圍下平麵的左前角。機床啟動後,首先要將機床位置“回零”,即執行手動返回參考點操作,這樣數控裝置才能通過參考點確認出機床原點的位置,從而在數控係統內部建立一個以機床零點為坐標原點的機床坐標係。這樣在執行加工程序時,才能有正確的工件坐標係。
1.自動返回參考點G28
格式:G28 X_Y_Z_
說明:X 、Y 、Z為回參考點時經過的中間點(不是機床參考點),在G90 時為中間點在工件坐標係中的坐標;在G91 時為中間點相對於起點的位移量。G28 指令先使所有的編程軸都快速定位到中間點,然後再從中間點到達參考點。一般,G28 指令用於刀具自動更換或者消除機械誤差,在執行該指令之前應取消刀具半徑補償和刀具長度補償。在G28 的程序段中不僅產生坐標軸移動指令,而且記憶了中間點坐標值,以供G29 使用。係統電源接通後,在沒有手動返回參考點的狀態下,執行G28 指令時,刀具從當前點經中間點自動返回參考點,與手動返回參考點的結果相同。這時從中間點到參考點的方向就是機床參數“回參考點方向”設定的方向。G28 指令僅在其被規定的程序段中有效。
2.自動從參考點返回G29
格式:G29 X_Y_Z_
說明:X 、Y 、Z為返回的定位終點,在G90 時為定位終點在工件坐標係中的坐標;在G91 時為定位終點相對於G28 中間點的位移量。G29 可使所有編程軸以快速進給經過由G28 指令定義的中間點,然後再到達指定點。通常該指令緊跟在G28 指令之後。G29 指令僅在其被規定的程序段中有效。
例如用G28、G29 的路徑編程:要求由A經過中間點B並返回參考點,然後從參考點經由中間點B返回到C點。
編程如下:
%1102
G92X30Y50Z20以A(30,50,20)為起刀點建立工件坐標係
G91G28X100Y20Z0從A點按增量移動到B,最後到達R
G29X50Y-40從參考點經過B,到達C
M02
(五)坐標平麵的選定
坐標平麵選擇G17、G18、G19
格式:G17
G18
G19
說明:該組指令用來選擇進行圓弧插補和刀具半徑補償的平麵。
其中:G17為選擇XY平麵;
G18為選擇XZ平麵;
G19為選擇YZ平麵;
G17、G18、G19為模態指令,可相互注銷,G17為缺省值。
提示:進給指令與平麵選擇無關,例如使用指令G17 G01 Z20時,Z軸照樣會移動。
(六)編程方式的選定
格式:G90
G91
說明:該組指令用來選擇編程方式。
其中:G90為絕對值編程;
G91為相對值編程。
用G90編程時,每個編程坐標軸上的編程值是相對於程序原點(G92建立的工件坐標係原點,或G54~G59選定的工件坐標係原點,或G52指令的局部坐標係原點,或G53指令的機床坐標係原點)的。
用G91編程時,每個編程坐標軸上的編程值是相對於前一位置而言的,該值等於沿軸移動的距離,與當前編程坐標係無關。
G90、G91為模態指令,可相互注銷,G90為缺省值。
選擇合適的編程方式可使編程簡化。當圖紙尺寸給定一個固定基準時,采用絕對方式編程較為方便;當圖紙尺寸是以輪廓頂點之間的間距給出時,采用相對方式編程較為方便。
第三節進給控製指令
一、快速定位方式G00
格式:G00X_Y_Z;
說明:G00指定刀具以預先設定的快移速度,從當前位置快速移動到程序段指定的定位終點(目標點)。
其中:X、Y、Z分別為快速定位終點,在G90時為定位終點在工件坐標係中的坐標:在G91時為定位終點相對於起點的位移量。
G00一般用於加工前快速定位趨近加工點或加工後快速退刀,以縮短加工輔助時間,不能用於加工過程。G00的快移速度由機床參數欄中的“最高快移速度”分別對各軸設定,不能用進給速度指令F設定。快移速度可由機床控製麵板上的快速修調旋鈕修正。
G00為模態指令,可由G01、G02、G03或G33功能注銷。
提示:在執行G00指令時,由於各軸以各自速度移動,不能保證各軸同時到達終點,因而聯動直線軸的合成軌跡不一定是直線。此時,操作者必須格外小心,以免刀具與工件發生碰撞。常見的做法是先將Z軸移動到安全高度,然後再執行G00指令。
G00速度由係統確定,是以係統的最高速度進給,後麵的坐標值為終點坐標值。應用於空行程、快進、快退,節省時間,提高效率。
例2-2 使用G00編程,要求刀具從A點快速定位到B點。
從A到B快速定位
絕對值編程:
G90G00X90Y45;
增量值編程:
G91G00X70Y30;
假設X軸和Y軸的快進速度相同,則從A點到B點的快速定位路線為A→C→B,即以折線的方式到達B點,而不是以直線方式從A點到B點。
二、直線插補G01
格式:G01X_Y_Z_F_;
說明:G01是指令坐標軸按指定進給速度作直線運動。X、Y、Z坐標位置為切削終點,可三軸聯動或二軸聯動或單軸移動,而由F值指定切削時的進給速度,單位一般設定為mm/min。F功能具有續效性,故切削速度相同時,下一程序段可省略,如下麵程序所示。
現以圖2-34說明G01用法。假設刀具由程序原點往上銑削輪廓外形。
絕對坐標方式編程:
G54G90G00X20Y20S800M03
G01X100Y100F100
增量坐標方式編程:
G91G00X20Y20
G01X80Y80F100
G01與F都是模態指令,G01程序中必須含有F指令,在G01程序段中如無F指令則認為進給速度為零,刀具不動。
例2-3 以三個坐標軸的線性插補切削編程完成-鍵槽加工。工件材料:Q235,毛坯尺寸:75mm×60mm×15mm,加工鍵槽(槽寬10mm)。
(1)工件坐標係原點編寫程序前需要根據工件的情況選擇工件原點,為便於編程尺寸的計算,工件編程原點一般選擇在工件的設計基準,鍵槽位置的設計基準在工件左下邊角,所以工件原點定在毛坯左下角的上表麵。
(2)刀具選擇采用Φ盞10的鍵槽銑刀,刀具能夠沿其徑向和軸向切削加工。
(3)數控程序如下
%0001;程序名
N10G55S500M03;建立工件坐標係,主軸正轉
N15G00G90X40Y48Z2;刀具快速移動到P1點上方,R平麵處,三個軸同時移動
N20G01Z-12F100;Z向下刀切削,到Z=-12mm
N25X20Y18Z-10;刀具以三個坐標軸的直線插補切削,到P2點
N30G01Z2;Z向主軸抬刀,到R平麵處(Z=2mm)
N35G00X-20Y80Z100;回到刀具起點
N40M05M30;程序結束
三、圓弧插補G02/G03
G02表示按指定速度進給的順時針圓弧插補指令,G03表示按指定速度進給的逆時針圓弧插補指令。順圓、逆圓的判別方法是:沿著不在圓弧平麵內的坐標軸由正方向向負方向看去,順時針方向為G02,逆時針方向為G03。
格式:
G17
G18
G19G02
G03X_Y_
X_Z_
Y_Z_I_J_
I_K_
J_K_
R_F_
說明:
X、Y、Z:終點坐標位置,可用絕對值(G90)或增量值(G91)表示;
I、J、K:從圓弧起點到圓心位置,在X、Y、Z軸上的分向量。(以I、J、K表示的稱為圓心法);
X軸的分向量用地址I表示。I=圓心的X坐標值-起點的X坐標值。
Y軸的分向量用地址J表示。 J=圓心的Y坐標值-起點的Y坐標值。
Z軸的分向量用地址K表示。 K=圓心的Z坐標值-起點的Z坐標值。
R:圓弧半徑,以半徑值表示。(以R表示的稱為半徑法)。
F:切削進給速率,單位mm/ min。
圓弧的表示有圓心法及半徑法兩種,現分述如下:
(1)圓心法 I、J、K後麵的數值定義為從圓弧起點到圓心的距離,用圓心法編程的情況。
(2)半徑法 以R表示圓弧半徑。此法以起點及終點和圓弧半徑來表示一段圓弧,在圓上會有兩段圓弧出現。故以R是正值時,表示圓心角為小於等於180°的圓弧;R是負值時,表示圓心角為大於180°的圓弧。
1)圓弧a的4種編程方法
G91G02X30Y30R30F100;
G91G02X30Y30I30J0F100;
G90G02X0Y30R30F100;
G90G02X0Y30I30J0F100;
2)圓弧b的4種編程方法
G91G02X30Y30R-30F100;
G91G02X30Y30I0J30F100;
G90G02X0Y30R-30F100;
G90G02X0Y30I0J30F100;
例2-4 編寫以原點為圓心,半徑為30的整圓的數控程序。
從A點順時針轉一周時
G90G02X30Y0I-30J0F100;
G91G02X0Y0I-30J0F100;
從B點逆時針轉一周時
G90G03X0Y—30I0J30F100;
G91G03X0Y0I0J30F100;
提示:
① 順時針或逆時針是指從垂直於圓弧所在平麵的坐標軸的正方向向負方向看去,看到的回轉方向;
② 整圓編程時不可以使用R,隻能用I、J、K;
③ 當同時編入R和I、J、K時,R有效。
CNC銑床上使用半徑法或圓心法來表示某一圓弧,要從工作圖上的尺寸標示而定,以使用較方便者(不用計算,即可看出數值者)為取舍。但若要銑削一整圓時,隻能用圓心法表示,半徑法無法執行。若用半徑法以兩個半圓相接,其真圓度誤差會太大。
(3)使用G02、G03圓弧切削指令時應注意下列幾點
① 一般CNC銑床或MC開機後,即設定為G17(XY平麵),故在XY平麵上銑削圓弧,可省略G17指令。
② 當某一程序段中同時出現I、J和R時,以R為優先(即有效),I、J無效。
③ I0或J0或K0時,可省略不寫。
④ 省略X、Y、Z終點坐標時,表示起點和終點為同一點,是切削整圓。若用半徑法則刀具無運動產生。
⑤ 當終點坐標與指定的半徑值未交於同一點時,會報警顯示。
⑥ 直線切削後麵接圓弧切削時,其G指令必須轉換為G02或G03,若再執行直線切削時,則必須再轉換為G01指令,這些是很容易被疏忽的。
⑦ 使用切削指令(G01,G02,G03)須先指令主軸轉動,且須指令進給速度F。
例2-5 編寫路線的走刀程序,刀具在工件坐標係原點開始,虛線表示快速走刀,粗實線表示按給定進給速度走刀。
程序單
絕對值編程:
%0010;
N10G54G90G17S800M03;
N20G00X40Y-40;
N30G01X-80F200;
N40Y-20;
N50G02X-40Y20R40F100;
N60G03X20Y80R60;
N70G01X40F200;
N80Y-40;
N90G00X0Y0M05;
N100M30;
增量值編程:
%0010;
N10G91G17S800M03;
N20G00X40Y-40;
N30G01X-120F200;
N40Y20;
N50G02X40Y40R40F100;
N60G03X60Y60R60;
N70G01X20F200;
N80Y-120;
N90G00X-40Y40M05;
N100M30;
四、螺旋線插補
螺旋線的形成是刀具作圓弧插補運動的同時與之同步地作軸向運動,其指令格式為:
G17
G18
G19G02
G03X_Y_
X_Z_
Y_Z_I_J_
I_K_
J_K_
R_K
J
IF_
說明:G02、G03為螺旋線的旋向,其定義同圓弧;X、Y、Z為螺旋線的終點坐標;I、J為圓弧圓心在X-Y平麵上X、Y軸上相對於螺旋線起點的坐標;R為螺旋線在X-Y平麵上的投影半徑;K為螺旋線的導程。另兩式的意義類同,見圖2-41所示。
螺旋線,其程序為:
G17G03X0.Y0.Z50.I15.J0.K5.F100
或G17G03X0.Y0.Z50.R15.K5.F100
五、暫停指令G04
格式:G04P_
說明:
P:暫停時間,單位為s(秒)。
G04在前一程序段的進給速度降到零之後才開始暫停動作。在執行含G04指令的程序段時,先執行暫停功能。
G04為非模態指令,僅在其被規定的程序段中有效。
例2-6 編製零件的鑽孔加工程序。
%0004
G92X0Y0Z0
G91F200M03S500
G43G01Z-6H01
G04P5
G49G00Z6M05M30
G04可使刀具作短暫停留,以獲得圓整而光滑的表麵。如對不通孔作深度控製時,在刀具進給到規定深度後,用暫停指令使刀具作非進給光整切削,然後退刀,保證孔底平整。
第四節 數控銑床刀具補償
一、刀具半徑補償指令G41、G42、G40
1.刀具半徑補償的目的
在數控銑床上進行輪廓的銑削加工時,由於刀具半徑的存在,刀具中心(刀心)軌跡與工件輪廓不重合。如果數控係統不具備刀具半徑自動補償功能,則隻能按刀心軌跡進行編程,即在編程時給出刀具的中心軌跡,虛線軌跡,其計算相當複雜。尤其當刀具磨損、重磨或換新刀而使刀具半徑變化時,必須重新計算刀心軌跡,修改程序,這樣既繁瑣,又不易保證加工精度。
當數控係統具備刀具半徑補償功能時,數控編程隻需按工件輪廓編程即可,實線軌跡。此時,數控係統會自動計算刀心軌跡,使刀具偏離工件輪廓一個半徑值R(補償量,也稱偏置量),即進行刀具半徑補償。
2.刀具半徑補償的應用
刀具半徑補償功能的主要應用場合如下。
(1)刀具因磨損、重磨、換新刀而引起刀具直徑改變後,不必修改程序,隻需在刀具參數設置中輸入變化後的刀具直徑。1為未磨損刀具,2為磨損後刀具,兩者直徑不同,隻需將刀具參數表中的刀具半徑r1改為r2,即可適用同一程序。
(2)通過有意識地改變刀具半徑補償量,便可用同一刀具、同一程序和不同的切削餘量完成粗、半精、精加工。從圖中可以看出,當設定補償量為ac時,刀具中心按cc′運動,當設定補償量為ab時,刀具中心按bb′運動完成切削。
(3)刀具半徑補償G40,G41,G42銑削加工刀具半徑補償分為刀具半徑左補償(用G41定義)和刀具半徑右補償(用G42定義),使用非零的D代碼選擇正確的刀具半徑偏置寄存器號。根據ISO標準,當刀具中心軌跡沿前進方向位於零件輪廓右邊時稱為刀具半徑右補償;反之稱為刀具半徑左補償。當不需要進行刀具半徑補償時則用G40取消刀具半徑補償。
格式:
G17
G18
G19G40
G41
G42G00
G01X_Y_Z_D_
說明:
G40:取消刀具半徑補償;
G41:左刀補(在刀具前進方向左側補償);
G42:右刀補(在刀具前進方向右側補償);
G17:刀具半徑補償平麵為XY平麵;
G18:刀具半徑補償平麵為ZX平麵;
G19:刀具半徑補償平麵為YZ平麵;
X,Y,Z:G00/G01的參數,即刀補建立或取消的終點(注:投影到補償平麵上的刀具軌跡受到補償);
D:G41/G42的參數,即刀補號碼(D00~D99),它代表了刀補表中對應的半徑補償值。G40、G41、G42都是模態代碼,可相互注銷。
注意:
① 刀具半徑補償平麵的切換必須在補償取消方式下進行;
② 刀具半徑補償的建立與取消隻能用G00或G01指令,不得是G02或G03。
例2-7 考慮刀具半徑補償,編製零件的加工程序:要求建立工件坐標係,按箭頭所指示的路徑進行加工,設加工開始時刀具距離工件上表麵50mm,切削深度為10mm。
零件程序如下:
%1008;
G92 X-10 Y-10 Z50;
G90 G17;
G42 G00 X4 Y10 D01;
Z2 M03 S900;
G01 Z-10 F800;
X30;
G03 X40 Y20 I0 J10;
G02 X30 Y30 I0 J10;
G01 X10 Y20;
Y5;
G00 Z50 M05;
G40 X-10 Y-10 M02;
二、刀具長度偏置指令G43、G44、G49
通常,數控車床的刀具裝在回轉刀架上,加工中心、數控鏜銑床、數控鑽床等刀具裝在主軸上,由於刀具長度不同,裝刀後刀尖所在位置不同,即使是同一把刀具,由於磨損、重磨變短,重裝後刀尖位置也會發生變化。如果要用不同的刀具加工同一工件,確定刀尖位置是十分重要的。為了解決這一問題,我們把刀尖位置都設在同一基準上,一般刀尖基準是刀柄測量線(或是裝在主軸上的刀具使用主軸前端麵,裝在刀架上的刀具可以是刀架前端麵)。編程時不用考慮實際刀具的長度偏差,隻以這個基準進行編程,而刀尖的實際位置由G43、G44來修正。
刀具長度補償G43,G44,G49
格式:
G17
G18
G19G43
G44
G49G00
G01X_Y_Z_H_
說明:
G17:刀具長度補償軸為Z軸;
G18:刀具長度補償軸為Y軸;
G19:刀具長度補償軸為X軸;
G49:取消刀具長度補償;
G43:正向偏置(補償軸終點加上偏置值);
G44:負向偏置(補償軸終點減去偏置值);
X,Y,Z:G00/G01的參數,即刀補建立或取消的終點;
H:G43/G44的參數,即刀具長度補償偏置號(H00~H99),它代表了刀具表中對應的長度補償值。長度補償值是編程時的刀具長度和實際使用的刀具長度之差。G43、G44、G49都是模態代碼,可相互注銷。用G43(正向偏置),G44(負向偏置)指令設定偏置的方向。由輸入的相應地址號H代碼從刀具表(偏置存儲器)中選擇刀具長度偏置值。該功能補償編程刀具長度和實際使用的刀具長度之差而不用修改程序。偏置號可用H00~H99來指定,偏置值與偏置號對應,可通過MDI功能先設置在偏置存儲器中。
確定刀具長度偏移值有兩種方法,介紹如下。
1.刀具長度的差值設為長度偏移值
實際操作中,可先將一把刀作為標準刀具,並以此為基礎,將其他刀具的長度相對於標準刀具長度的增加或減少量作為刀具補償值,把刀補值輸入到長度偏置值存儲地址(H××或D××代碼)。在刀具做Z方向運動時,數控係統將根據G43或G44指令對Z坐標值做相應的補償修正。
例2-8 用刀具長度差值設定偏移值。在一個加工程序中同時使用三把刀,它們的長度各不相同。現把第一把刀作為標準刀具,經對刀操作並測量,第二把刀(T02)較第一把刀短15mm,而第三把刀(T03)較第一把刀長17mm。這三把刀的長度補償量分別為“0”、“15”、“17”,並將後兩個數分別存入數控裝置的內存表中代號為“H02”和“H03”的位置。
無論是絕對指令還是增量指令,由H代碼指定的已存入偏置存儲器中的偏置值在G43時加,在G44時則是從長度補償軸運動指令的終點坐標值中減去,計算後的坐標值成為終點。
在程序中加入刀具長度補償指令:
G90 G44 Z45 H02;(T02刀具長度補償的程序)
執行本段程序,從Z指令值中減去15mm(H02中的值),Z實際值為“30”,相當於T02刀具端麵伸長至Z=45處。
G90 G43 Z45 H03;(T03刀具長度補償的程序)
執行本段程序,在Z指令值上加上17mm(H03中的值),Z實際值為“52”,相當於T03刀具端麵縮短至Z=45。
經過刀具長度補償,使三把長度不同的刀具處於同一個Z向高度(Z=45處)。G43、G44是模態指令,隻要不取消該指令,這三把刀具就處於相同Z值位置。
2.每把刀具長度值設為長度偏移值
首先將刀具裝入刀柄,然後在對刀儀上測出每個刀具前端到刀柄校準麵(即刀具錐部的基準麵)的距離,將此值作為刀具補償值,最後把刀補值輸入到刀具長度存儲地址(H××)中。
例2-9 考慮刀具長度補償,編製零件的加工程序。要求建立工件坐標係,按箭頭所指示的路徑進行加工。
H01=4.0預先在MDI功能中“刀具表”設置01號刀具長度值項。
零件程序如下:
%0001
N00 G92 X0 Y0 Z0;建立工件坐標係,對刀點坐標(0,0,0)
N01 G91 G00 X120 Y80 M03 S600;相對坐標編程,快速移到#1孔上方
N02 G43 Z-32 H01;移近工件表麵,建立刀具長度補償
N03 G01 Z-21 F100;加工#1孔
N04 G04 P2;孔底暫停
N05 G00 Z21;抬刀
N06 X30 Y-50;快移到#2孔處
N07 G01 Z-41;加工#2孔
N08 G00 Z41;快速退出#2孔
N09 X50 Y30;移動到#3點
N10 G01 Z-25;加工#3孔
N12 G04 P2;孔底暫停
N13 G00 G49 Z57;抬刀
N14 X-200 Y-60;移動到起始點
N15 M05;
N16 M30;
改變刀具長度補償量,需指定新的刀具號;刀具長度按新的偏置值進行補償。
例如,設H01的偏置值為5.0,H02的偏置值為10.0時
G90 G43 Z100.0 H01;Z將達到105.0
G90 G43 Z100.0 H02;Z將達到110.0
第五節 簡化編程
一、子程序調用
編程時,為了簡化程序的編製,當一個工件上有相同的加工內容時,常用調子程序的方法進行編程。調用子程序的程序叫做主程序。子程序的編號與一般程序基本相同,隻是程序結束字為M99表示子程序結束,並返回到調用子程序的主程序中。
M98用來調用子程序。
M99表示子程序結束,執行M99使控製返回到主程序。
(1)子程序的格式
%____
……
M99
在子程序開頭,必須規定子程序號,作為調用入口地址。在子程序的結尾用M99,以控製執行完該子程序後返回主程序。
(2)調用子程序的編程格式
M98 P×××× L××××;
其中,M98為調用子程序指令字,地址P××××為子程序號,L××××指重複調用次數省略時為調用一次,係統允許重複調用的次數為9999次。
為了進一步簡化程序,子程序還可調用另一個子程序,以及子程序的嵌套。
二、鏡像功能G24、G25
格式:G24 XYZ;
M98 P;
G25 XYZ
說明:
G24:建立鏡像;
G25:取消鏡像;
X、Y、Z:鏡像位置。
當工件相對於某一軸具有對稱形狀時,可以利用鏡像功能和子程序,隻對工件的一部分進行編程,而能加工出工件的對稱部分,這就是鏡像功能。
當某一軸的鏡像有效時,該軸執行與編程方向相反的運動。G24、G25為模態指令,可相互注銷,G25為缺省值。
例2-10 使用鏡像功能編製輪廓的加工程序:設刀具起點距工件上表麵100mm,切削深度5mm。
預先在MDI功能中“刀具表”設置01號刀具半徑值項D01=6.0,長度值項H01=4.0。
%0024主程序
G92 X0 Y0 Z0;建立工件坐標係
G91 G17 M03 S600;
M98 P100;加工①
G24 X0;Y軸鏡像,鏡像位置為X=0
M98 P100;加工②
G24 Y0;X、Y軸鏡像,鏡像位置為(0,0)
M98 P100;加工③
G25 X0;X軸鏡像繼續有效,取消Y軸鏡像
M98 P100;加工④
G25 Y0;取消鏡像
M30;
%100;子程序(①的加工程序):
N100 G41 G00 X10 Y4 D01;
N120 G43 Z-98 H01
N130 G01 Z-7 F100
N140 Y26
N150 X10
N160 G03 X10 Y-10 I10 J0
N170 G01 Y-10
N180 X-25
N190 G49 G00 Z105
N200 G40 X-5 Y-10
N210 M99
三、比例縮放G51、G50
格式:G51 XYZP;