劉曄
摘要:以FANUC系統(tǒng)經(jīng)濟型數(shù)控車床為例,著重介紹了子程序的概念、編寫格式以及應(yīng)用注意事項,并結(jié)合實例詳解子程序在數(shù)控車削編程中的具體應(yīng)用。
關(guān)鍵詞: 子程序;數(shù)控車床;編程
引言
在程序段中,當某一程序反復(fù)出現(xiàn)(即工件上有好幾個部分相同的切削路線)時,把同類的程序段單獨編制,并按一定格式單獨加以命名,作為子程序,編程時調(diào)用,這樣便可使程序簡單清楚。正確使用子程序,可以有效簡化手工編程的工作量,減少程序所占內(nèi)存,提高加工效率。
隨著我國數(shù)控技術(shù)的迅猛發(fā)展,數(shù)控機床的普及率越來越高。特別是一些無功能浪費、可靠性好、價格低廉的普及型機床,已成為市場上眾多企業(yè)渴求的產(chǎn)品,市場前景相當廣闊,且市場占有率較高。經(jīng)濟型數(shù)控車床的數(shù)控加工程序一般通過手工編程方式獲得。在滿足零件的加工精度要求下編程人員應(yīng)盡量編制寫較短的加工程序,選用合理的數(shù)控編程指令。
用數(shù)控機床加工具有相同、相似的幾何要素的零件時,為了簡化程序,編程人員應(yīng)盡可能地縮短程序的長度,使程序簡單清楚。而熟練的應(yīng)用子程序編程就是簡化程序的方法之一。
一、子程序的概念、格式及調(diào)用
1.子程序的概念
在一個加工程序中,若一組程序段多次出現(xiàn),為了簡化程序,可以把這組程序段抽出來,按規(guī)定的格式寫成一個新的程序單獨存儲,這種程序就叫子程序。主程序執(zhí)行過程中如果需要某一個子程序,可以通過一定的格式來調(diào)用該子程序,執(zhí)行完后返回到主程序,繼續(xù)執(zhí)行后面的程序段。同時,子程序也可以調(diào)用另一個子程序。這樣可以大大簡化程序的編制和節(jié)省CNC系統(tǒng)內(nèi)存空間。
2.編程中子程序的格式
O×××× ????子程序號
M99 ??子程序結(jié)束
3.調(diào)用子程序的格式
格式一 M98 P××××L××××;
格式二 ?M98 P××××××××;
指令說明:
格式一:P××××表示要調(diào)用的子程序號
L××××表示重復(fù)調(diào)用子程序的次數(shù),若只調(diào)用一次子程序則L及其后的數(shù)字可省略不寫。
子程序號及調(diào)用次數(shù)前的0可以省略不寫。
例:M98 P100 L5
格式二:地址P后面的8位數(shù)字中前四位表示調(diào)用次數(shù),后四位為要調(diào)用
子程序號。調(diào)用次數(shù)前的0可以省略不寫,但子程序號前的0不可省略。
例:M98 P50010;
系統(tǒng)允許主程序重復(fù)調(diào)用子程序次數(shù)一般為1~9999次。此外,子程序調(diào)用另一個子程序一般最多可調(diào)用4層子程序(不同的系統(tǒng)其執(zhí)行的次數(shù)及層次不同)。
執(zhí)行到子程序結(jié)束M99指令后,返回至主程序,繼續(xù)執(zhí)行M98 P××××L××××程序段下面的主程序。(注意:M99指令也可用于主程序最后程序段,區(qū)別于M30指令的是此時程序執(zhí)行光標會跳回主程序的第一程序段繼續(xù)執(zhí)行此程序,此程序?qū)⒁恢敝貜?fù)執(zhí)行,除非按下RESET鍵才能中斷執(zhí)行)
二、子程序的應(yīng)用原則
①零件上有若干處相同的輪廓外形。在這種情況下只編寫一個子程序,然后用主程序調(diào)用該子程序就可以了,此時通常要以增量方式編程。
②程序的內(nèi)容具有相對的獨立性。在加工較復(fù)雜的零件時,往往包含很多獨立的工序,有時工序之間的調(diào)整也是允許的。為了優(yōu)化加工順序,把每一個工序編成一個獨立子程序,主程序中只需加入換刀和調(diào)用子程序等指令即可。
三、子程序應(yīng)用實例
編寫如圖所示零件的精車加工程序。已知毛坯直徑φ32mm,長度L=80mm,材料為45號鋼。
刀具的選擇:按題目要求,加工圖示零件精車程序一共需要用2把刀。
(1)90°外圓車刀:設(shè)為一號刀安裝在刀架的一號刀位上(T0101);
(2)切斷刀:二號刀為刀尖寬度2mm,設(shè)為二號刀安裝在刀架的二號刀位上(T0202),以左刀尖為刀位點。
(3)工件原點的確定:工件原點設(shè)在零件右端面的中心。
裝夾定位:以工件左端外徑作為定位基準,用三爪自定心卡盤裝夾定位。
O2000;;;;;;;;(主程序)
N010 T0101;;;;;;(調(diào)外圓車刀)
N020 M03 S1200;
N030 G00 X30.0 Z2.0;
N040 G01 X30.0 Z-50.0 F0.5;(精車外圓表面)
N050 G00 X32.0 Z-50.0;
N060 G00 X200.0 Z200.0;
N070 T0202;;;;;;;(調(diào)切斷刀)
N080 G00 X32.0 Z0.0;;;(子程序循環(huán)起點)
N090 M98 P3000L2;;;;(調(diào)子程循環(huán)2次)
N100 G00 X200.0 Z200.0;
N110 M05;
N120 M30;
O3000; (子程序)
N010 G00 X32.0 W-12.0;
N020 G01 X20.0 F0.5;
N030 G04 X1.5;
N040 G01 X32.0 W0.0;
N050 G00 X32.0 W-8.0;
N060 G01 X20.0 W0.0;
N070 G04 X1.5;
N080 G01 X32.0 W0.0;
N090 M99;
四、子程序的注意事項
①子程序與主程序的命名方式?jīng)]有區(qū)別,子程序無須定義子程序開始指令,但子程序必須以M99指令表示結(jié)束返回。
②子程序中不得有循環(huán)指令;
③為使子程序編程中數(shù)值計算方便,子程序最好采用增量方式編程,但在編程中往往又容易忽略在子程序結(jié)束前或在主程序中取消增量編程,因為在主程序中用絕對方式編程計算比較方便。
結(jié)語
在數(shù)控車床中合理采用子程序編程可以縮短程序段,減少編程所占內(nèi)存,提高數(shù)控加工編程速度,減輕程序員編程任務(wù)量,但并不能縮短零件加工時間。另外,在如數(shù)控銑床等其他加工編程中,采用子程序編程可以減少零件輪廓坐標計算的工作量。對企業(yè)生產(chǎn)來說,加工通用類零件時,可以充分利用系統(tǒng)中已儲存的子程序,只需對其進行相應(yīng)坐標值的修改,這樣就可大大減少編程時間,提高生產(chǎn)效率,在具體的加工應(yīng)用中,只有靈活應(yīng)用了程序,才使其更有實用價值。
參考文獻
[1]高進祥.數(shù)控機床編程與操作(數(shù)控車床分冊)中國勞動和社會保障出版社,2018.