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