陳益林,盧端敏
(張家界航空工業(yè)職業(yè)技術(shù)學(xué)院數(shù)控系,湖南張家界 427000)
系統(tǒng)變量在數(shù)控銑削加工中的應(yīng)用研究*
陳益林,盧端敏
(張家界航空工業(yè)職業(yè)技術(shù)學(xué)院數(shù)控系,湖南張家界 427000)
提出利用系統(tǒng)變量和宏程序?qū)Φ毒甙霃窖a(bǔ)償值實時讀、寫操作的方法,詳細(xì)說明了程序編寫思路和步驟,實際操作表明可以代替人工在加工過程輸入刀具補(bǔ)償參數(shù),能避免人工修改刀具補(bǔ)償產(chǎn)生的錯誤,減少加工過程中多次停機(jī)和操作工人的勞動強(qiáng)度,有效地提高加工效率、產(chǎn)品合格率、數(shù)控機(jī)床的利用率和自動化程度。特別是在批量生產(chǎn)中,能為企業(yè)帶來非??捎^的經(jīng)濟(jì)效益,可以推廣至其他數(shù)控系統(tǒng)。
系統(tǒng)變量;宏程序;數(shù)控銑削加工;刀具半徑補(bǔ)償
在數(shù)控銑削加工中,一般直接根據(jù)零件的實際輪廓編程,而不需考慮實際刀具尺寸的影響,然后通過在數(shù)控系統(tǒng)中設(shè)置正確的刀具補(bǔ)償(簡稱刀補(bǔ))值來完成加工,并能在加工過程中更改刀補(bǔ)值來實現(xiàn)零件的粗加工和精加工[1-4]。更改刀補(bǔ)值的操作一般由操作工人來完成,需經(jīng)過“MDI方式輸入刀補(bǔ)值——啟動程序——加工完成停機(jī)”過程,而這一過程要占用有效機(jī)時,會降低工作效率和機(jī)床利用率,在批量生產(chǎn)中,這種情況更為突出。而且在操作的過程中,需記住所需修改的刀補(bǔ)值,且有時還會出現(xiàn)輸入錯誤的情況,若刀補(bǔ)值記錯或輸錯,很可能會導(dǎo)致加工出來的產(chǎn)品為廢品。為提高數(shù)控機(jī)床的利用率和自動化程度,減少操作工人的勞動強(qiáng)度或操作工人數(shù),使一個工人可以看管多臺數(shù)控機(jī)床,提高產(chǎn)品的合格率,利用數(shù)控系統(tǒng)的宏程序及其系統(tǒng)變量代替人工修改系統(tǒng)的刀補(bǔ)值可以有效解決這些問題。
本文以FANUC數(shù)控系統(tǒng)為例,闡述了刀具補(bǔ)償原理及操作,宏程序及相關(guān)系統(tǒng)變量,說明利用數(shù)控系統(tǒng)的宏程序及其系統(tǒng)變量代替人工修改刀補(bǔ)值的編程思路和步驟。實例表明,效果良好,其解決問題的思路可以推廣其他數(shù)控系統(tǒng),為編程員提供編程思路,特別是在批量生產(chǎn)中能為企業(yè)帶來非??捎^的經(jīng)濟(jì)效率。
在數(shù)控加工過程中,數(shù)控系統(tǒng)的實際控制對象是刀具中心或刀架相關(guān)點,數(shù)控系統(tǒng)通過直接控制刀具中心或刀架相關(guān)點的運動軌跡來間接地實現(xiàn)零件輪廓加工。然而,實際刀具參與切削的部位是刀尖或刀刃邊緣,它們與刀具中心或刀架相關(guān)點之間存在著尺寸偏差,因此數(shù)控系統(tǒng)必須根據(jù)刀尖或刀刃邊緣的實際坐標(biāo)位置(即零件輪廓的實際坐標(biāo)位置)來計算出刀具中心或刀架參考點的相對坐標(biāo)位置,這種計算過程稱為刀具補(bǔ)償[5]。
對于具有刀具補(bǔ)償功能的數(shù)控系統(tǒng),在編制加工程序時,按加工零件的實際輪廓編程,加工前測量實際的刀具半徑、長度和位置等,作為刀具補(bǔ)償參數(shù)輸入數(shù)控系統(tǒng),可以加工出合乎尺寸要求的零件輪廓[6]。所以刀具補(bǔ)償功能不僅可以大大簡化數(shù)控加工程序的編寫工作,而且還可以提高數(shù)控加工程序的利用率滿足加工工藝的一些要求,如因為刀具磨損、重磨和刀具更換等原因致使刀具尺寸發(fā)生變化時,只需修改相應(yīng)的刀具參數(shù),仍用原程序就能保證零件的加工要求。再如對同一零件輪廓進(jìn)行粗加工、半精加工和精加工等多道工序時,不必編寫三種加工程序,可以通過逐次改變刀具半徑補(bǔ)償值大小的辦法,調(diào)整每次進(jìn)給量,并將各道工序所預(yù)留的加工余量加入刀具參數(shù),即可達(dá)到利用同一程序?qū)崿F(xiàn)不同工序的加工要求。
刀具補(bǔ)償分為刀具長度補(bǔ)償和刀具半徑補(bǔ)償2種[2]。
刀具長度補(bǔ)償通過執(zhí)行含有G43(G44)和H指令來實現(xiàn),而指令G49是取消G43(G44)指令的。G43表示存儲器中補(bǔ)償量與程序指令的終點坐標(biāo)值相加,G44表示相減。若程序段為G43 Z56 H05,05存儲器中值為16,則表示終點坐標(biāo)值為56+16=72mm。
在輪廓加工時,刀具中心運動軌跡與被加工零件的實際輪廓要偏移一定距離,這種偏移稱為刀具半徑補(bǔ)償,又稱刀具中心偏移。當(dāng)?shù)毒咧行能壽E在程序規(guī)定的前進(jìn)方向的左邊時稱為左刀補(bǔ),用G41表示,如圖1a所示;當(dāng)?shù)毒咧行能壽E在程序規(guī)定的前進(jìn)方向的右邊時稱為右刀補(bǔ),用G42表示,如圖1b所示;G40為取消刀具半徑補(bǔ)償指令。
刀具補(bǔ)償所使用的刀具半徑、刀具長度等刀具參數(shù),應(yīng)該在程序運行前預(yù)先存入刀具參數(shù)表中,如圖2所示。刀具補(bǔ)償值輸入到CNC存儲器中的常用方法是從CRT面板手動輸入[3],但這一做法必須在停車后才能輸入,且要經(jīng)過計算,經(jīng)常會出現(xiàn)輸錯的情況,并占用大量的加工時間。為了避免加工出錯和提高生產(chǎn)效率,采用系統(tǒng)變量對其讀寫。
通過對變量進(jìn)行賦值及處理的方法達(dá)到程序功能的程序叫宏程序。在數(shù)控加工中,用戶宏程序使用得相當(dāng)普遍,使用好宏程序,對于提高編程效率、降低出錯率和提高加工機(jī)床占用率有著十分顯著的作用[7]。不同的系統(tǒng)的宏程序的語法有所區(qū)別,在FANUC、華中數(shù)控系統(tǒng)中,以#加地址來表示變量,在SIEMENS數(shù)控系統(tǒng)中變量則稱為R參數(shù)。
用戶宏程序是以變量的組合,通過各種算術(shù)和邏輯運算、轉(zhuǎn)移和循環(huán)等命令,而編制的一種可以靈活運用的程序,只要改變變量的值,即可完成不同的加工或操作。用戶宏程序可以簡化程序的編制,提高工作效率。加工程序中可以像調(diào)用子程序一樣用一個簡單指令即可調(diào)用宏程序。
一般數(shù)控系統(tǒng)將變量分為局部變量、公用變量和系統(tǒng)變量。局部變量的變量號為#1~#33,它是在宏程序中局部使用的變量,用于自變量轉(zhuǎn)移,只能在一個宏程序中使用。公用變量:用戶可以自由使用,它對于由主程序調(diào)用的各子程序及各宏程序來說是可以公用的。其中#100~#149在關(guān)掉電源后,變量值全部被清除;而#500~#549在關(guān)掉電源后,變量值則可以保存。
系統(tǒng)變量由#后跟4位或5位數(shù)字來定義,它能獲取包含在機(jī)床處理器或NC內(nèi)存中的只讀或讀/寫信息,包括與機(jī)床處理器有關(guān)的交換參數(shù)、機(jī)床狀態(tài)參數(shù)、加工參數(shù)等系統(tǒng)信息。不同的數(shù)控系統(tǒng)其系統(tǒng)變量的規(guī)定不一樣,使用時應(yīng)查閱相關(guān)使用手冊或說明書。以FANUC 0i-M銑床數(shù)控系統(tǒng)為例,系統(tǒng)變量#2001~#2200(#11001~#11400)存儲刀具長度H磨損值,#2201~#2400(#10001~#10400)存儲刀具長度H形狀值,#12001~#12400存儲刀具直徑D磨損值,#13001~#13400存儲刀具直徑D形狀值,這些值分別對應(yīng)圖2中的(形狀)H、(磨耗)H、(形狀)D、(磨耗)D列,變量名的前兩位表示刀補(bǔ)類型,后三位表示刀補(bǔ)號,即刀具參數(shù)表中的番號,如圖2所示。
如圖3所示,要銑出一條槽寬有精度要求的封閉溝槽,在數(shù)控銑床上可用一把鍵槽銑刀完成。通過圖形和工藝分析可知應(yīng)選一把φ12的鍵槽銑刀。按常規(guī)方法編程,就是要把槽內(nèi)、外輪廓上各點坐標(biāo)先計算出來,再把加工內(nèi)輪廓編寫一個程序、加工外輪廓編寫一個程序,然后分別加工。顯而易見,這種方法非常浪費時間。
圖3 加工零件實例
若巧妙地應(yīng)用刀具半徑補(bǔ)償和刀具長度補(bǔ)償可使工作量大大減少,既能節(jié)約時間,又能合理地加工出合格零件。即只需按尺寸標(biāo)注計算出圖3中內(nèi)輪廓上各節(jié)點的坐標(biāo),并編寫一個加工內(nèi)輪廓的程序即可。當(dāng)加工內(nèi)輪廓時,把刀補(bǔ)值設(shè)為刀具的實際半徑;而加工外輪廓時,把刀補(bǔ)值要設(shè)為(槽寬-刀具半徑)。采用此方法加工內(nèi)外壁的特點就是只需編寫一個程序,通過不斷修改刀補(bǔ)值來完成內(nèi)外壁的粗精加工。若粗加工后需要進(jìn)行精加工,則粗加工內(nèi)、外輪廓時,設(shè)置刀補(bǔ)值要把精加工余量考慮進(jìn)去,而且加工內(nèi)輪廓時刀補(bǔ)值應(yīng)加上余量、外輪廓刀補(bǔ)值應(yīng)減去余量。
采用上述方法進(jìn)行加工,在一個切深的情況下需要經(jīng)過四次“MDI方式輸入刀補(bǔ)值——啟動程序——加工完成停機(jī)”的過程,在N個切深的情況下,則需要4N個操作循環(huán)過程。若采用系統(tǒng)變量自動修改刀補(bǔ)值,則只需1次操作循環(huán)過程,此時,輸入的刀補(bǔ)值為刀具的實際長度和半徑。其加工過程如下:
(1)刀具補(bǔ)償值的輸入在MDI方式下,將刀具的實際長度和半徑輸入刀具補(bǔ)償表,即圖2中番號對應(yīng)的(形狀)H列和(形狀)D列中。若刀具存在磨損,則將其長度磨損值和半徑磨損值分別輸入圖1中番號對應(yīng)的的磨損H列和磨損D列中。
(2)用宏變量通過系統(tǒng)變量記錄刀具的實際形狀值和磨損值以T02刀號為例:
#101=#2002;(存儲2號刀具長度H磨損值)
#102=#2202;(存儲2號刀具長度H形狀值)
#103=#12002;(存儲2號刀具半徑D磨損值)
#104=#13002;(存儲2號刀具半徑D形狀值)
(3)建立分層切削加工循環(huán)每加工完一個切深,在存儲刀具長度H形狀值的系統(tǒng)變量上增加一個切深值Δh,即#2202=#2202+Δh,該循環(huán)執(zhí)行到最終加工尺寸,即最后進(jìn)行精加工循環(huán)。在倒數(shù)第2個循環(huán)時應(yīng)同時考慮精加工余量和切深來修改H形狀值的系統(tǒng)變量。
(4)建立內(nèi)、外輪廓粗、精加工的加工循環(huán)加工時按內(nèi)輪廓編程,即內(nèi)輪廓為刀具中心軌跡,則槽內(nèi)側(cè)的內(nèi)輪廓精加工時,刀具半徑補(bǔ)償直接按實際刀具半徑R進(jìn)行補(bǔ)償即可,如圖4所示。
圖4 刀補(bǔ)值計算示意圖
內(nèi)輪廓的粗加工應(yīng)為精加工預(yù)留精加工余量dr,故此刀具半徑補(bǔ)償應(yīng)為刀具實際半徑R與精加工余量之和,即R+dr。由圖4可知,要對外輪廓進(jìn)行精加工,首先刀具應(yīng)向槽外側(cè)方向偏移1個槽寬B的距離,然后再向槽內(nèi)側(cè)偏移1個刀具半徑R即可,故此外輪廓精加工的刀具的偏移值應(yīng)為B-R。而粗加工同樣要為精加工留有加工余量,故刀具的偏移值應(yīng)在精加工的基礎(chǔ)上再向內(nèi)偏移精加工余量dr,即偏移量為B-R-dr。圖4中的R值即為第二步中存儲在系統(tǒng)變量#13002中的值,即變量#104中的值。具體計算公式如表1所示,值得注意的是表1中的公共變量#104不能由系統(tǒng)變量#13002取代,這是因為#104存儲的是刀具實際半徑,而系統(tǒng)變量#13002的值為滿足加工不同的輪廓及粗、精加工的要求需通過程序不斷的修改。
表1 系統(tǒng)變量的計算公式
(5)調(diào)用內(nèi)輪廓子程序進(jìn)行加工。為使系統(tǒng)變量修改的刀具補(bǔ)償值在加工時起作用,在子程序的開頭應(yīng)調(diào)用刀具并建立長度補(bǔ)償和半徑補(bǔ)償,而在子程序結(jié)束時應(yīng)取消刀具長度補(bǔ)償和半徑補(bǔ)償。
(6)結(jié)束內(nèi)、外輪廓粗、精加工的加工循環(huán)
(7)結(jié)束分層切削加工循環(huán)
(8)將刀具補(bǔ)償表中的值恢復(fù)為加工前的實際值。即
由于在每個零件的加工過程中都要通過數(shù)控系統(tǒng)的系統(tǒng)變量修改刀具幾何形狀值,所以在此之前,程序應(yīng)設(shè)變量記下當(dāng)前的刀具幾何形狀值,等到零件加工完成后再恢復(fù)以前的幾何形狀值,這樣才可以保證在刀具使用一段時間后,數(shù)控機(jī)床操作技術(shù)人員輸入的實際刀具磨損值仍然有效。
通過以上過程和編程步驟可知,并設(shè)零件的分層次數(shù)為5次,那么按常規(guī)方法,需要操作工人進(jìn)行20次“MDI方式輸入刀補(bǔ)值——啟動程序——加工完成停機(jī)”的操作過程,用本文介紹的方法只需進(jìn)行一次上述操作過程即可完成該零件的加工,且完全可以避免操作過程中由于人為因素帶來的錯誤。
提出通過靈活運用數(shù)控系統(tǒng)的系統(tǒng)變量對刀具半徑的補(bǔ)償值的實時讀和寫操作,代替人工在加工過程輸入刀具補(bǔ)償參數(shù)的過程,減少了加工過程中多次進(jìn)行“MDI方式輸入刀補(bǔ)值——啟動程序——加工完成停機(jī)”的操作過程,減少操作工人的勞動強(qiáng)度,有效地提高了加工效率、數(shù)控機(jī)床的利用率和自動化程度。以零件在FANUC數(shù)控系統(tǒng)的加工為例,詳細(xì)說明了程序編寫思路和步驟,通過多次在實際機(jī)床上操作,表明該方法完全可以避免人工修改刀補(bǔ)產(chǎn)生的錯誤,提高產(chǎn)品的合格率,特別是在批量生產(chǎn)中,能為企業(yè)帶來非??捎^的經(jīng)濟(jì)效率。其解決問題的思路可以推廣其他數(shù)控系統(tǒng),也可為編程員提供借鑒和指導(dǎo)作用。
[1]余英良.數(shù)控加工編程及操作[M].北京:高等教育出版社,2005.
[2]王愛玲.現(xiàn)代數(shù)控編程技術(shù)及應(yīng)用[M].北京:國防工業(yè)出版社,2003.
[3]北京發(fā)那科機(jī)電有限公司.FANUC-0系統(tǒng)操作說明書[M].2009.
[4]晏初宏.數(shù)控加工工藝與編程[M].北京:化學(xué)工業(yè)出版社,2004.
[5]陳益林.環(huán)形陣列圖形的編程技巧在數(shù)控銑削加工中的應(yīng)用[J].組合機(jī)床與自動化加工技術(shù),2009(11):109-113.
[6]陳益林,胡細(xì)東,侯德政.兩相交面圓弧輪廓轉(zhuǎn)接圓弧的數(shù)控加工研究[J].制造技術(shù)與機(jī)床,2010(6):94-97.
[7]劉耀林,賈濤.橢圓宏程序編制方法與應(yīng)用研究[J].制造業(yè)自動化,2009(7):92-94.
(編輯 李秀敏)
Research On System Variables in CNC Milling App lication
CHEN Yi-lin,LU Duan-min
(ZhangJiaJie Aeronautical Vocational and Technical College,NC Department,HuNan,Zhangjiajie 427000,China)
Themethod ofmaking use ofsystem variables and macros program real-time reading and w riting tool radius compensation value is provided.The steps and ideas of programming are specified.Through the actualmachining,it can replace the manual input parameters of tool compensation in the processing,avoid errors that changing value of tool compensation,reduce processing times and labor intensity ofworkers.It also can improve processing efficiency,rate ofqualified products,utilization and automation of CNCmachine tools.Especially in mass production,the company may obtain considerable economic efficiency.Themethod can be promoted other CNC systems.
system variables;macros program;CNCmilling;tool radius compensation
TH16
A
1001-2265(2011)06-0081-04
2010-11-04
湖南省教育廳資助科研項目(09C1307)
陳益林(1972—),男,土家族,湖南人,張家界航空工業(yè)職業(yè)技術(shù)學(xué)院副教授,碩士,主要從事數(shù)控技術(shù)的教學(xué)與研究工作,(E-mail)cly2133@126.com。