M98 P;
G50;
其中,X、Y、Z為縮放中心坐標值;P為縮放比例。G51以給定點(X、Y、Z)為縮放中心,將圖形放大到原始圖形的P倍;如果省略(X、Y、Z),則以程序原點為縮放中心。在有刀具補償的情況下,先進行縮放,然後才進行刀具半徑補償和刀具長度補償。
例2-11使用縮放功能編製輪廓的加工程序。已知三角形ABC的頂點為A(10,30)、B(90,30)、C(50,110),三角形A′B′C′是縮放後的圖形,其中縮放中心為D(50,50),縮放係數為0.5倍,設刀具起點距工件上表麵50mm。
程序如下:
%0051;主程序
N10 G92 X0 Y0 Z60;
N20 G91 G17 M03 S600 F100;
N30 G43 G00 X50 Y50 Z-46 H01;
N40 #51=14;
N50 M98 P100
N60 #51=8
N70 G51 X50 Y50 P0.5;縮放中心(50,50),縮放係數0.5
N80 M98 P100;加工三角形A′B′C′
N90 G50;取消縮放
N100 G49 Z46;
N110 M05 M30;
%100;子程序(三角形ABC的加工程序)
G42 G00 X-44 Y-20 D01
Z[-#51]
G01 X84
X-40 Y80
X-44 Y88
Z[#51]
G40 G00 X44 Y28
M99
四、坐標旋轉G68、G69
格式:
G17 G68 XYP
G18 G68 XZP
G19 G68 YZP
M98 P;
G69;
G68為坐標旋轉功能指令,G69為取消坐標旋轉功能指令;X、Y、Z為旋轉中心的坐標值;P為旋轉角度,單位是°,0°≤R≤360°。
例2-12 旋轉變換功能程序:設刀具起點距工件上表麵50mm,背吃刀量5mm。
程序如下:
%0068;主程序
N10 G54 G90 G17 M03 S600;
N20 G43 Z-5.0 H02;
N30 M98 P200;加工①
N40 G68 X0 Y0 P45;旋轉45°
N50 M98 P200;加工②
N60 G69;取消旋轉
N70 G68 X0 Y0 P90;旋轉90°
N80 M98 P200;加工③
N90 G49 Z50.0;
N100 G69 M05 M30;取消旋轉
%0200子程序(①的加工程序)
N110 G41 G01 X20.0 Y-5.0 D02 F300;
N120 Y0;
N130 G02 X30 Y0 I5 J0;
N140 G03 X40 Y0 I5 J0;
N150 X20 Y0 I-10;
N160 G01 Y-6.0;
N170 G40 X0 Y0;
N180 M99;
第六節 孔的加工
孔加工固定循環指令有G73,G74,G76,G80~G89,通常由下述6 個動作構成。
① X、Y軸定位;
② 定位到R點(定位方式取決於上次是G00還是G01);
③ 孔加工;
④ 在孔底的動作;
⑤ 退回到R點(參考點);
⑥ 快速返回到初始點。
固定循環的數據表達形式可以用絕對坐標(G90)和相對坐標(G91)表示。
固定循環的程序格式包括數據形式、返回點平麵、孔加工方式、孔位置數據、孔加工數據和循環次數。數據形式(G90或G91)在程序開始時就已指定,因此,在固定循環程序格式中可不注出。
固定循環的程序格式如下:
G98
G99GXYZRQPIJKFL
說明:
G98:返回初始平麵;
G99:返回R點平麵;
G:固定循環代碼G73,G74,G76 和G81~G89之一;
X、Y:加工起點到孔位的距離(G91)或孔位坐標(G90);
R:初始點到R點的距離(G91)或R點的坐標(G90);
Z:R點到孔底的距離(G91)或孔底坐標(G90);
Q:每次進給深度(G73/G83);
I、J:刀具在軸反向位移增量(G76/G87);
P:刀具在孔底的暫停時間;
F:切削進給速度;
L:固定循環的次數。
G73、G74、G76和G81~G89、Z、R、P、F、Q、I、J、K是模態指令。G80、G01~G03 等代碼可以取消固定循環。
一、鑽孔加工
1.高速深孔加工循環(G73)
格式:
G98
G99G73XYZRQPKFL
說明:
Q:每次進給深度;
k:每次退刀距離。
G73用於Z軸的間歇進給,使深孔加工時容易排屑,減少退刀量,可以進行高效率的加工。
G73指令動作循環。
注意:Z、K、Q移動量為零時,該指令不執行。
例2-13 用G73指令編製深孔加工程序:設刀具起點距工件上表麵42mm,距孔底80mm,在距工件上表麵2mm處(R點)由快進轉換為工進,每次進給深度10mm,每次退刀距離5mm。
%0073
G92 X0 Y0 Z80
G00 G90 G98 M03 S600
G73 X100 R40 P2 Q-10 K5 Z0 F200
G00 X0 Y0 Z80
M05
M30
2.鑽孔循環(中心鑽)(G81)
格式:
G98
G99G81XYZRFL
G81鑽孔動作循環,包括X,Y坐標定位、快進、工進和快速返回等動作。
G81指令動作循環。
注意:如果Z的移動量為零,該指令不執行。
例2-14 用G81指令編製鑽孔加工程序:設刀具起點距工件上表麵42mm,距孔底50mm,在距工件上表麵2mm處(R點)由快進轉換為工進。
%0081;
G92 X0 Y0 Z50;
G00 G90 M03 S600;
G99 G81 X100 R10 Z0 F200;
G90 G00 X0 Y0 Z50;
M05;
M30;
3. G82帶停頓的鑽孔循環
格式:
G98
G99G82XYZRPFL
G82指令除了要在孔底暫停外,其他動作與G81相同。暫停時間由地址P給出。
G82指令主要用於加工盲孔,以提高孔深精度。
注意:如果Z的移動量為零,該指令不執行。
4. G83深孔加工循環
格式:
G98
G99G83XYZRQPKFL
說明:
Q:每次進給深度;
k:每次退刀後,再次進給時,由快速進給轉換為切削進給時距上次加工麵的距離。
G83指令動作循環。
注意:Z、K、Q移動量為零時,該指令不執行。
例2-15 用G83 指令編製深孔加工程序:設刀具起點距工件上表麵42mm,距孔底80mm,在距工件上表麵2mm處(R點)由快進轉換為工進,每次進給深度10mm,每次退刀後,再由快速進給轉換為切削進給時距上次加工麵的距離5mm。
%0083
G92 X0 Y0 Z80
G00 G99 G91 F200
M03 S500
G83 X100 G90 R40 P2 Q-10 K5 Z0
G90 G00 X0 Y0 Z80
M05
M30
二、螺紋加工
1. G74:反攻絲循環
格式:
G98
G99G74XYZRPFL
G74攻反螺紋時主軸反轉,到孔底時主軸正轉,然後退回。
G74指令動作循環。
注意:
① 攻絲時速度倍率、進給保持均不起作用;
② R應選在距工件表麵7mm以上的地方;
③ 如果Z的移動量為零,該指令不執行。
例2-16 用G74指令編製反螺紋攻絲加工程序:設刀具起點距工件上表麵48mm,距孔底60mm,在距工件上表麵8mm處(R點)由快進轉換為工進。
%0074
G92 X0 Y0 Z60;
G91 G00 F200 M04 S500;
G98 G74 X100 R-40 P4 G90 Z0;
G00 X0 Y0 Z60;
M05;
M30;
2. G84:攻絲循環
格式:
G98
G99G84XYZRPFL
G84攻螺紋時從R點到Z點主軸正轉,在孔底暫停後,主軸反轉,然後退回。
G84指令動作循環。
注意:
① 攻絲時速度倍率、進給保持均不起作用;
② R應選在距工件表麵7mm以上的地方;
③ 如果Z的移動量為零,該指令不執行。
例2-17 用G84指令編製螺紋攻絲加工程序:設刀具起點距工件上表麵48mm,距孔底60mm,在距工件上表麵8mm處(R點)由快進轉換為工進。
%0084;
G92 X0 Y0 Z60;
G90 G00 F200 M03 S600;
G98 G84 X100 R20 P10 G91 Z-20;
G00 X0 Y0;
M05;
M30;
三、鏜孔加工
1. G76:精鏜循環
格式:
G98
G99G76XYZRPIJFL
說明:
I:X軸刀尖反向位移量;
J:Y軸刀尖反向位移量。
G76精鏜時,主軸在孔底定向停止後,向刀尖反方向移動,然後快速退刀。這種帶有讓刀的退刀不會劃傷已加工平麵,保證了鏜孔精度。
G76指令動作循環。
注意:如果Z的移動量為零,該指令不執行。
例2-18 使用G76指令編製精鏜加工程序:設刀具起點距工件上表麵42mm,距孔底50mm,在距工件上表麵2mm處(R點)由快進轉換為工進。
%0076;
G92 X0 Y0 Z50;
G00 G91 G99 M03 S600;
G76 X100 R-40 P2 I-6 Z-10 F200;
G00 X0 Y0 Z40;
M05;
M30;
2. G85:鏜孔循環
G85 指令與G84 指令相同,但在孔底時主軸不反轉。
3. G86:鏜孔循環
G86 指令與G81 相同,但在孔底時主軸停止,然後快速退回。
注意:
① 如果Z的移動位置為零,該指令不執行;
② 調用此指令之後,主軸將保持正轉。
4. G87:反鏜循環
格式:
G98
G99G87XYZRPIJFL
說明:
I:X軸刀尖反向位移量;
J:Y軸刀尖反向位移量。
G87指令動作循環。描述如下:
① 在X、Y軸定位;
② 主軸定向停止;
③ 在X、Y方向分別向刀尖的反方向移動I、J值;
④ 定位到R點(孔底);
⑤ 在X、Y方向分別向刀尖方向移動I、J值;
⑥ 主軸正轉;
⑦ 在Z軸正方向上加工至Z點;
⑧ 在X、Y方向分別向刀尖反方向移動I、J值;
⑨ 返回到初始點(隻能用G98)
注意:如果Z的移動量為零,該指令不執行。
例2-19 用G87指令編製反鏜加工程序:設刀具起點距工件上表麵40mm,距孔底(R點)80mm。
%0087;
G92 X0 Y0 Z80;
G00 G91 G98 F300;
G87 X50 Y50 I-5 G90 R0 P2 Z40;
G00 X0 Y0 Z80 M05;
M30;
5. G88:鏜孔循環
格式:
G98
G99G88XYZRPFL
G88指令動作循環。描述如下:
① 在X、Y軸定位;
② 定位到R點;
③ 在Z軸方向上加工至Z點(孔底);
④ 暫停後主軸停止;
⑤ 轉換為手動狀態,手動將刀具從孔中退出;
⑥ 返回到初始平麵;
⑦ 主軸正轉。
注意:如果Z的移動量為零,該指令不執行。
例2-20 用G88指令編製鏜孔加工程序:設刀具起點距R點40mm,距孔底80mm。
%0088;
G92 X0 Y0 Z80;
M03 S600;
G90 G00 G98 F200;
G88 X60 Y80 R40 P2 Z0;
G00 X0 Y0 M05;
M30
6. G89:鏜孔循環
G89指令與G86指令相同,但在孔底有暫停。
注意:如果Z的移動量為零,G89指令不執行。
7. G80:取消固定循環
該指令能取消固定循環,同時R點和Z點也被取消。
使用固定循環時應注意以下幾點:
① 在固定循環指令前應使用M03 或M04 指令使主軸回轉;
② 在固定循環程序段中,X,Y,Z,R數據應至少指令一個才能進行孔加工;
③ 在使用控製主軸回轉的固定循環(G74、G84、G86)中,如果連續加工一些孔間距比較小,或者初平麵到R點平麵的距離比較短的孔時,會出現在進入孔的切削動作前時,主軸還沒有達到正常轉速的情況,遇到這種情況時,應在各孔的加工動作之間插入G04指令,以獲得時間;
④ 當用G00~G03指令注銷固定循環時,若G00~G03指令和固定循環出現在同一程序段,按後出現的指令運行;
⑤ 在固定循環程序段中,如果指定了M,則在最初定位時送出M信號,等待M信號完成,才能進行孔加工循環。
例2-21 使用孔循環指令編製的孔。設刀具起點距工作表麵100mm,切削深度為10mm。
先用G81鑽孔
%1000;
G92 X0 Y0 Z0;
G91 G00 M03 S600;
G99 G81 X40 Y40 G90 R-98 Z-110 F200;
G91 X40 L3;
Y50;
X-40 L3;
G90 G80 X0 Y0 Z0 M05;
M30;
再用G84攻絲
%2000;
G92 X0 Y0 Z0;
G91 G00 M03 S600;
G99 G84 X40 Y40 G90 R-93 Z-110 F100;
G91 X40 L3;
Y50;
X-40 L3;
G90 G80 X0 Y0 Z0 M05;
M30
第七節 宏指令編程
HNC-21M為用戶配備了強有力的類似於高級語言的宏程序功能,用戶可以使用變量進行算術運算、邏輯運算和函數的混合運算,此外宏程序還提供了循環語句、分支語句和子程序調用語句,利於編製各種複雜的零件加工程序,減少乃至免除手工編程時進行繁瑣的數值計算,以及精簡程序量。
一、宏變量及常量
1.宏變量
#0~#49當前局部變量
#50~#99全局變量
#100~#199刀補號 100~199的補償值
#200~#2490層局部變量
#250~#2991層局部變量
#300~#3492層局部變量
#350~#3993層局部變量
#400~#4494層局部變量
#450~#4995層局部變量
#500~#5496層局部變量
#550~#5997層局部變量
#600~#699刀具長度寄存器H0~H99
#700~#799刀具半徑寄存器D0~D99
#800~#899刀具壽命寄存器
#1195~#1199為固定循環使用
2.常量
PI:圓周率π
TRUE:真(條件成立)
FALSE:假(條件不成立)
二、宏變量的運算
1.算術運算
2.邏輯運算
3.函數
三、變量賦值
1.賦值
把常數(或表達式)的值送給一個宏變量稱為賦值。
格式:宏變量=常數(或表達式)
如:#1=10,則表示變量#1的值是10。
#2=175/SQRT[2]*COS[55*PI/180]
2.賦值規則
① 賦值號兩邊內容不能隨意互換,左邊隻能是變量,右邊隻能是表達式。
② 一個賦值語句隻能給一個變量賦值。
③ 可以多次向同一個變量賦值,新變量值取代原變量值。
④ 賦值語句具有運算功能,它的一般形式為:變量=表達式。
⑤ 在賦值運算中,表達式可以是變量自身與其他數據的運算結果。
⑥ 賦值表達式的運算順序與數學運算順序相同。
⑧ 不能用變量代表的地址符有:0、N、:、/。
四、分支和循環語句
1.無條件分支GOTO語句
控製轉移(分支)到順序號n所在位置。順序號可用表達式指定。
格式:GOTO n;
n—(轉移到的程序段)順序號
例:GOTO1;
GOTO#10;
2.條件分支IF語句
在IF後指定一條件,當條件滿足時,轉移到順序號為n的程序段,不滿足則執行下一程序段。
格式:IF[表達式]GOTOn;
·
·
·
Nn…;
條件表達式由兩變量或一變量一常數中間夾比較運算符組成,條件表達式必須包含在一對方括號內。條件表達式可直接用變量代替。
例2-22 求1~10的和。
%9500;
#1=0;和
#2=1;加數
N1 IF[#2 GT 10]GOTO2;相加條件
#1=#1+#2;相加
#2=#2+1;下一加數
GOTO1返回1
N2 M30;結束
3.循環WHILE語句
在WHILE後指定一條件表達式,當條件滿足時,執行DO到END之間的程序,(然後返回到WHILE重新判斷條件,)不滿足則執行END後的下一程序段。
格式:WHILE[條件表達式];
·
·
·
ENDW;
例2-23 編製橢圓加工程序,橢圓長半軸長為20mm,短半軸長為10mm。
橢圓表達式為:X=a*COSα;Y=b*SINα
程序如下:
%0011
#0=5;定義刀具半徑R值
#1=20;定義a值
#2=10;定義b值
#3=0;定義步距角α的初值,單位為度
N10 G92 X0 Y0 Z10;
N20 G00 X[#0+#1] Y[#0+#2];
N30 G01 Z0;
N40 G41 X[#1];
N50 WHILE #3 GE [-360]
N60 G01 X[#1*COS[#3*PI/180]] Y[#2*SIN[#3*PI/180]];
N70 #3=#3-5;
ENDW;
G01 G91 Y[#0];
G00 Z10;
M30;
例2-24 用Φ盞8球頭銑刀加工R5的倒圓曲麵,程序如下。
%0001
G92 X-30 Y-30 Z25;
#0=5;倒圓半徑
#1=4;球心半徑
#2=180;步距角γ的初值。單位為度
WHILE #2 GT 90;
#101=ABS[[#0+#1]*COS[#2*PI/180]]-#0;計算半徑偏移量ΔD
G01 G41 X-20 D101
Y15
G02 X-15 Y20 R5
G01 X15
G02 X20 Y15 R5;
G01 Y-15;
G02 X15 Y-20 R5;
G01 X-15;
G02 X-20 Y-15 R5;
G01 X-30;
G40 Y-30;
#2=#2-10
G01 Z[25+[#0+#1]*SIN[#2*PI/180]];計算25+ΔZ
ENDW;
M30;
例2-25 在圓周上鑽、鏜均勻分布的孔。在半徑為R的圓周上均勻分布n個孔。
(1)數學建模n個孔均勻分布,則第i個孔與編程坐標係X軸夾角為
αi=360/n×(i-1)(1≤i≤n)
第i個孔的孔中心在編程坐標係中X、Y值分別如下:
Xi=Rcosαi
Yi=Rsinαi
(2)變量設置
(3)宏程序
%0020;
G54;
#1=50;
#2=6;
#3=1;
#5=3.14159/180;
#6=-20;
#7=5;
while#3LE#2;
#4=360/#2*[#3-1]*#5;
#10=#1*COS (#4);
#11=#1* SIN (#4);
G90G98G81X[#10]Y[#10]Z[#6]R[#7]F100;
#3=#3+1;
ENDW;
G80;取消固定循環
G91G28Z0;退刀
M05;
M30
本章項目實操 數控銑床編程能力綜合訓練
綜合訓練一:變速凸輪上、下平麵已經加工完,外圓周麵已經粗加工,尚有餘量4mm,現在數控銑床上粗銑、精銑凸輪外圓周的輪廓。編製數控程序。
(1)工件坐標係原點凸輪外圓周麵的設計基準在工件孔的中心,所以工件原點定在Φ盞32毛坯孔中心的上表麵。
(2)工件裝夾采用螺釘、壓板夾緊。T形螺釘穿過工件上Φ盞32孔,采用螺母和壓板首先輕夾工件,找正工件坯料X、Y軸,然後把工件夾緊在工作台上。
(3)刀具選擇采用Φ盞10的立銑刀。
(4)加工程序安全高度為70mm;R點高度為2mm;經計算可以得到C、D點坐標:C(-7.5,29.407),D(0,38.73)。
若改變刀具半徑補償值,則可實現徑向多刀切削。采用Φ盞10mm的刀具,主程序在兩次調用同一子程序時,每次采用不同的刀具半徑偏置量,就可取得不同的側吃刀量,從而完成兩次切削。本題精銑餘量為0.2mm,則粗銑時,刀補號D01內存偏置量為“刀具半徑+精銑餘量”,即10mm/2+0.2mm=5.2mm。
5.2mm存入D01偏置號中,這樣,運行程序時刀具中心軌跡相對編程軌跡偏移5.2mm,銑削後留下精銑餘量0.2mm。
精銑時,重新設置偏移量,將5.0mm存入刀補號D01中。刀具中心軌跡相對編程軌跡偏移量等於半徑5mm,可以把餘量0.2mm切除,加工到設計尺寸。刀補值與側吃刀量。
(5)數控加工程序如下
00307;程序名(主程序)
N05 G54 G17 G00 X0 Y0 Z200 S1000 M03;設定工件坐標係,啟動主軸
N10 G90 G00 Z70;絕對值編程,快速到安全高度
N15 G10 P01 R5.2;輸入補償量,5.2mm存入D01
N20 X-40 Y80;在安全高度上,快速到下刀點
N25 M98 P0020;調用子程序00020,執行一次(粗銑外形)
N30 G00 Z70;快速到安全高度
N35 G10 P01 R5.0;輸入補償量,5.0mm存入D01
N40 G00 X-40 Y80;快速定位到下刀點
N45 M98 P0020;調用子程序00020,執行一次(精銑外形)
N50 G00 Z70 M05;快速到安全高度,主軸停轉
N55 X0 Y0 Z200;回到程序始點
N60 M30;程序結束
00020;子程序號
N100 Z2;快速下刀,到R點高度
N105 G01 Z-16 F150;慢速下刀,進給速度為150mm/min
N110 G41 Z20 Y75 G01 F100;建立刀具左補償
N115 X0;直線進刀
N120 G02 X0 Y30 R52;切削圓弧AB
N125 G02 X-7.5 Y29.047 R30;切削圓弧BC
N130 G03 X0 Y38.73 R10;切削圓弧CD
N135 G01 Y75;切削直線DA
N140 G03 X-20 Y95 I-20 J0;沿1/4圓弧軌跡退刀
N145 G40 G01 X-40 Y100;取消刀具半徑補償
N150 Z2;退到慢速下刀高度
N155 M99;子程序結束,返回到主程序
綜合訓練二:毛坯為120mm×60mm×10mm板材,5mm深的外輪廓已粗加工過,周邊留2mm餘量,要求加工出的外輪廓及Φ盞20mm的孔。工件材料為硬鋁。
1.確定工藝方案及加工路線
(1)以底麵為定位基準,兩側用壓板壓緊,固定於銑床工作台上。
(2)工步順序
① 鑽孔Φ盞20mm。
② 按O′→A→B→C→D→E→F→G線路銑削輪廓。
2.選擇刀具
現采用Φ盞20mm的鑽頭,鑽削Φ盞20mm孔;Φ盞8mm的平底立銑刀用於輪廓的銑削並把該刀具的直徑輸入刀具參數表中。
3.確定切削用量
切削用量的具體數值應根據該機床性能、相關的手冊並結合實際經驗確定,詳見加工程序。
4.確定工件坐標係和對刀點
在XOY平麵內確定以O點為工件原點,Z方向以工件表麵為工件原點,建立工件坐標係。采用手動對刀方法把O點作為對刀點。
5.編程
按所選用機床規定的指令代碼和程序段格式,把加工零件的全部工藝過程編寫成程序清單。該工件的加工程序如下。
(1)加工Φ盞20mm孔程序(手工安裝好Φ盞20mm鑽頭)
%1001
N10 G54;建立工件坐標係
N20 G00 X40 Y30;快速定位到孔中心上方
N30 G43 Z100 H01 S100 M03 M08;建立刀具長度補償,主軸正轉
N40 G98 G81 Z-15 R15 F120;鑽孔循環
N50 G80 G49 Z50;取消長度補償
N60 M05 M09;
N70 M30;
(2)銑輪廓程序(手工安裝好Φ盞8mm立銑刀)
%1002
N10 G54;
N20 G90 G00 X-20 Y-10;
N30 G43 Z100 H01 S1000 M03
N40 G01 Z-6 F100;
N50 G01 G41 D01 X5 Y-10 F150;
N60 G01 Y35;
N70 G91 G01 X10 Y10;
N80 X11.8 Y0;
N90 G02 X30.5 Y-5 R20;
N100 G03 X17.3 Y-10 R20;
N110 G01 X10.4 Y0;
N120 X0 Y-25;
N130 X-85 Y0;
N140 G90 G40 G01 X0 Y0;
N150 G00 G49 Z100;
N160 M05 M30;
思考題與習題
1.數控銑削加工的適用對象是什麼?走刀路線如何確定?
2.數控銑削刀具有哪些種類與如何選擇?
3.平麵曲線零件,試用直線插補指令和圓弧插補指令,按絕對坐標編程與增量坐標編程方式分別編寫其數控銑削加工程序。
(1)已知毛坯材料為45#鋼,毛坯100mm×80mm×40mm,編寫其數控加工程序。
(2)已知毛坯材料為45#鋼,毛坯100mm×80mm×40mm,編寫其數控加工程序。
(3)已知毛坯材料為45#鋼,毛坯Φ盞50mm×55mm的材料,編寫其數控加工程序。
4.工件材料為45號鋼,已經調質處理。加工部位為工件上表麵兩平底偏心槽,槽深10mm。編寫其數控銑削加工程序。
5.毛坯材料為LY2,毛坯尺寸為150mm×200mm×25mm,其他型麵已精加工,隻需完成孔的加工。編寫其數控銑削加工程序。