技術文章
宏程序在孔系加工中的應用
閱讀:656 發布時間:2021-10-25
首先聲明此文轉載于數控機床網,
一、引言
目前,我國現代制造技術飛速發展,與世界制造業*水平的差距不斷縮小, 數控加工技術在我國得到廣泛應用,越來越受到人們的重視。數控加工中很重要的一部分就是編程,它既是數控技術的重要組成部分,也是數控加工的關鍵技術之一,數控程序編制的效率和質量在很大程度上決定了產品的加工精度和生產效率。
在我國,有相當多數控銑床(包括加工中心)都是應用在模具行業,大部分模具廠都應用CAD/CAM軟件。CAD/CAM軟件出現以后,自動編程得到廣泛應用,手工編程、宏程序應用的空間日趨縮小,究其原因就是大家對手工編程不重視,對宏程序不熟悉。其實手工編程是自動編程的基礎,宏程序是手工編程的高級形式,是手工編程的精髓,也是手工編程的亮點和最后堡壘。 現在有一種說法比較流行:“宏程序沒有啥用!”, 筆者并不贊成。在實際工作中,宏程序有廣泛的應用空間,并且能夠方便手工編程,鍛煉操作者的編程能力,又能解決自動編程在生產實際工作中存在的不足。
二、宏程序簡介
宏程序是以變量的組合,通過各種算術和邏輯運算,轉移和循環等命令,而編制的一種可以靈活運用的程序,只要改變變量的值,即可以完成不同的加工和操作。
用戶宏程序與普通程序的區別在于:在用戶宏程序本體中,能使用變量,可以給變量賦值,變量間可以運算,程序可以跳轉;而普通程序中,只能常量,常量之間不能運算,程序只能順序執行,不能跳轉,因此功能是固定的,不能變化。用戶宏功能是用戶提高數控機床性能的一種特殊功能。宏程序可以簡化程序的編制,提高工作效率。宏程序可以像子程序一樣用一個簡單的指令調用。
三、宏程序的技術特點
1、宏程序具有靈活性、通用性和智能性等特點
宏程序注重把機床功能參數和編程語言相結合,溶入了編程人員的智慧。編程人員根據零件的幾何信息建立相應的數學模型,完成模塊化的加工程序,除了便于調用外,還使編程人員從繁瑣的、大量的重復性工作中解脫出來,這是任何自動編程軟件都不能達到的效果。
而在CAD/CAM軟件中,當零件的幾何參數改變時,都要重新建模,重新設置加工參數,重新計算刀具軌跡,重新生成數控程序。
2、宏程序結構簡單、閱讀直觀、存儲方便
CAD/CAM軟件生成的程序少則上千行,多則上10萬行,可讀性差,存儲容量大,一般的機床上的內存都存不下,因此一般來說除了相對簡單的孔系加工、二維輪廓加工以外, 其余絕大部分程序都不得不以DNC方式進行在線加工,顯然機床與電腦之間的傳輸速度成為了影響加工速度的個“瓶頸”因素。除了那些機床系統內置硬盤、或機床與電腦之間以FDDI、以太網等形式進行組網的新型數控機床(主要是高速加工機床)之外,目前占總數8 0%以下的數控銑/加工中心都是通過RS2 32口的串口通訊求實現DNC在線加工的。在實際應用中,考慮到傳輸效果,DNC在線加工方式下的加工效率要大打折扣。
但宏程序可以彌補這種不足,它結構嚴緊、分析方便、可讀性好、短小精悍,任何合理的、優化的宏程序一般都少于6O行,換算成字節數,至多不過2KB的容量。即使是最廉價的機床數控系統,也*容納得下任何復雜的宏程序。
3、宏程序加工精度高、加工效率高
CAD/CAM軟件生成的數控程序,是用“直線去逼近曲線曲面”,必然存在計算誤差、后置處理誤差,就必然使加工精度受到影響,還存在大量的刀具路徑重復現象,使加工效率下降。
宏程序能直接調用數控系統的圓弧插補,螺旋插補等指令,能有效地控制刀具路徑,具有運算速度快、加工效率高、加工精度高等特點。
四、HNC-21/22M系統中宏程序的應用
例1 在銑床或加工中心上鉆削如圖1所示一70x90x15mm方形零件上的矩形網式群孔。鉆孔直徑¢7mm,孔數H=24。試編寫其宏程序。
解:
工藝設計
⑴建立工件坐標系,工件左下角為工件坐標系X、Y軸的零點,工件上表面為
工件坐標系Z軸的零點,機床坐標系偏置值設置在G54寄存器中。
⑵刀具與切削參數
選擇¢7mm的麻花鉆,取主軸轉速為800r/min,鉆削進給速度為150mm/min;主軸起始位置在零件上方50.0mm,刀具起始切削安全高度為4.0mm,最終加工深度為Z-20.0mm。
⑶加工路線(見圖2)
2、加工程序
OZW01; 文件名
%0001; 主程序號
N10 T1 M06; 調用1號刀
N20 G17 G90 G21 G54 G94 G40 G49 G80; 工藝加工狀態設置
N30 G43 G00 Z50.0 H01 S800 M03; 刀具長度補償,主軸正轉
N40 X0.0 Y0.0 M07; 刀具快速移動到工件坐標零點,打開切削液
N50 #2=20.0; 將20.0賦值給#2
#3=10.0; 將10.0賦值給#3
#4=1; 矩形網式孔群行計數器置1
#5=1; 矩形網式孔群列計數器置1
#30=4.0; 將行數4.0賦值給#30
#31=6.0; 將列數6.0賦值給#31
#32=15.0; 將角度15.0賦值給#32
#33=10.0; 將列孔距10.0賦值給#33
#34=10.0; 將行孔距10.0賦值給#34
#10=-20.0; 最終加工深度
#11=4.0; 安全距離
#12=150.0; 切削進給速度
N60 M98 P1000; 調用宏程序
N70 G00 Z100.0 M09; 刀具退到工件上表面100mm處,切削液關閉
N80 G49; 取消刀具長度補償
N90 X0 Y0 M05; 刀具退到工件坐標零點,主軸停止
N100 M30; 程序結束并返回程序起始段
%1000; 宏程序
N10 WHILE #5LE#31; 如果#5(孔列計數值)大于#31(孔列數),則跳轉到N210程序段
N20 WHILE #4LE#30; 如果#4(孔行計數值)大于#30(孔行數),則跳轉到N80程序段
N30 #101=[#4-1]*#33; 計算當前孔與個孔的孔中心行間距值
N40 #102=[#5-1]*#34; 計算當前孔與個孔的孔中心列間距值
N50 G01 X[#101*COS[#32*PI/180]+#102*SIN[#32*PI/180]+#2]
Y[#102*COS[#32*PI/180]+#101*SIN[#32*PI/180]+#3] F1000; 機床移動到當前加工孔中心的X、Y坐標
N60 G81 Z[-#10] R[#11] F[#12] K0; 調用固定循環程序鉆定位孔
N70 #4=#4+1; 孔行數加1
N80 ENDW; 返回循環體
N90 #4=#30; 將孔行數賦值給變量#4
N100 WHILE #4GE1; 如果#4小于1,則跳轉到N180程序段
N110 #101=[#4-1]*#33; 計算當前孔與個孔的孔中心行間距值
N120 #102=#5*#34; 計算當前孔與個孔的孔中心列間距值
N130 #103=[#31-1]*#34; 孔中心列間距值計算
N140 IF ABS[#102] GT ABS[#103]; 如果ABS[#102]大于ABS[#103],則跳轉到N220程序段
N150 G01 X[#101*COS[#32*PI/180]+#102*SIN[#32*PI/180]+#2]
Y[#102*COS[#32*PI/180]+#101*SIN[#32*PI/180]+#3] F1000;
機床移動到當前加工孔中心的X、Y坐標
N160 G81 Z[-#10] R[#11] F[#12] K0; 調用固定循環程序鉆定位孔
N170 #4=#4-1; 孔行數減1
N180 ENDW; 返回循環體
N190 #5=#5+2; 孔列數加2
N200 #4=1; 行計數器置1
N210 ENDW; 返回循環體
N220 ENDIF;
N230 M99; 子程序結束,并返回主程序
例2 在銑床或加工中心上鉆削如圖3所示一90x90x15mm方形零件上的圓弧點陣孔群。圓弧點陣孔群零件的圓弧中心坐標為X0=40.0mm,鉆孔直徑¢7mm,弧形半徑I=30.0mm,孔間隔角度D=30°,孔的起始角A=15°,孔數H=4。試編寫其宏程序。
解:
1、 工藝設計
⑴建立工件坐標系,工件左下角為工件坐標系X、Y軸的零點,工件上表面為
工件坐標系Z軸的零點,機床坐標系偏置值設置在G54寄存器中。
⑵刀具與切削參數
選擇¢7mm的麻花鉆,取主軸轉速為800r/min,鉆削進給速度為150mm/min;主軸起始位置在零件上方50.0mm,刀具起始切削安全高度為4.0mm,最終加工深度為Z-20.0mm。
⑶加工路線
采用逆時針位移鉆削方式鉆削圓弧點陣孔群。
2、加工程序
OZW02; 文件名
%0002; 主程序號
N10 T1 M06; 調用1號刀
N20 G17 G90 G21 G54 G94 G40 G49 G80; 工藝加工狀態設置
N30 G43 G00 Z50.0 H01 S800 M03; 刀具長度補償,主軸正轉
N40 X0.0 Y0.0 M07; 刀具快速移動到工件坐標零點,打開切削液
N50 #1=40.0; 圓弧中心的X坐標
#2=30.0; 圓弧中心的Y坐標
#3=30.0; 圓弧半徑
#4=15.0; 孔的起始角
#5=4.0; 圓周上孔數
#6=30.0; 均布孔間隔度數
#7=-20.0; 最終加工深度
#8=4.0; 安全距離
#9=150.0; 切削進給速度
N60 M98 P2000; 調用宏程序
N70 G00 Z100.0 M09; 刀具退到工件上表面100mm處,切削液關閉
N80 G49; 取消刀具長度補償
N90 X0 Y0 M05; 刀具退到工件坐標零點,主軸停止
N100 M30; 程序結束并返回程序起始段
%2000; 宏程序
N10 #100=1; 賦孔計數器初始值
N20 WHILE #100LE#5; 如果#100(孔計數值)大于#5(孔數),則跳轉到N110程序段
N30 #30=#3*COS[#4*PI/180]; 圓弧中心到圓弧上任意孔中心的橫坐標值
N40 #31=#1+#30; 圓弧上任意孔中心的工件橫坐標值
N50 #32=#3*SIN[#4*PI/180]; 圓弧中心到圓弧上任意孔中心的縱坐標值
N60 #33=#2+#32; 圓弧上任意孔中心的工件縱坐標值
N70 G90 G00 X[#31] Y[#33] F[#9]; 刀具直線插補到圓弧上任意孔中心上方
N80 G99 G81 Z[#7] R[#8] F[#9] K0; 調用固定循環程序鉆孔
N90 #100=#100+1; 孔計數器加1
N100 #4=#4+#6; 孔位置角度疊加一個角度均值
N110 ENDW; 返回循環體
N120 G80; 取消固定循環
N130 M99 子程序結束,并返回主程序
五、結語
宏程序在現在的加工中都能用到,而且在加工有規律的工件時無論是加工速度還是加工精度都比自動編程來得好,手工編程是基本功,任何時候都是必須掌握的。不能落在一邊,要利用起來,不能單純的依賴自動編程,現在的全國數控大賽只允許手工編程,而且國外的一些數控相關的考試都是采用手工編程,不允許使用CAD/CAM 軟件進行編程,可見宏程序是很重要的。能用手工編程的工件盡量用手工編程,我們在平時就應該在能用宏程序加工時把宏程序用上,以鍛煉操作者的編程能力,經過一定的努力宏程序一定能應用得很熟練。