馮大鵬
(佛山科學(xué)技術(shù)學(xué)院,廣東佛山528000)
宏程序在復(fù)雜軸類零件加工中的應(yīng)用越來越廣泛。宏程序具有靈活、通用和智能的特點(diǎn)。宏程序編寫體現(xiàn)出設(shè)計(jì)人員工藝設(shè)計(jì)水平和編程能力,要求設(shè)計(jì)者不但要具備基本機(jī)械工藝數(shù)控編程知識(shí),還要有深厚的數(shù)學(xué)建模和計(jì)算機(jī)語言知識(shí),這無疑增加宏程序編寫難度。而在數(shù)控編程加工領(lǐng)域,具有上述綜合知識(shí)和能力的一線工程技術(shù)人員并不多。為此,可以借助一定的方法來提高技術(shù)人員的宏程序編程設(shè)計(jì)能力,程序流程圖就是其中的方法之一。無論采用哪一種數(shù)控系統(tǒng)軟件,不論是富有經(jīng)驗(yàn)的設(shè)計(jì)人員還是剛剛涉及宏程序的新手,都可以采用程序流程圖作為設(shè)計(jì)和檢查宏程序的依據(jù)。對于復(fù)雜零件的編程,流程圖的指導(dǎo)作用更是必不可少。如果能對流程圖的設(shè)計(jì)及其對宏指令編程的指導(dǎo)作用分析透切,將使設(shè)計(jì)者少走彎路,有助于編程人員順利編出準(zhǔn)確合理的宏程序。
流程圖是程序設(shè)計(jì)者對解決零件加工工藝問題的方法、思路或算法的一種描述,和一般的程序流程圖相比,數(shù)控加工流程圖具有一般流程圖的基本結(jié)構(gòu):順序、選擇、循環(huán)。其中,循環(huán)結(jié)構(gòu)是較為復(fù)雜的一種結(jié)構(gòu),數(shù)控加工所有的程序都離不開循環(huán)。由于數(shù)控加工的特點(diǎn),加工循環(huán)又呈現(xiàn)出多樣性和復(fù)雜性。因此,在研究宏程序流程圖設(shè)計(jì)方法時(shí),可從分析循環(huán)結(jié)構(gòu)入手,探討數(shù)控加工流程圖的構(gòu)成及變化規(guī)律。
數(shù)控加工流程圖設(shè)計(jì)的基本方法是根據(jù)加工工藝路線,提取出變量,根據(jù)變量變化規(guī)律,建立循環(huán)體并確定循環(huán)流出條件。
數(shù)控加工循環(huán)有單循環(huán)和多重嵌套循環(huán)模式。
不同的數(shù)控系統(tǒng)所定義的變量含義較廣,從程序設(shè)計(jì)角度來看,變量不過是程序中數(shù)據(jù)的臨時(shí)存放場所,是可以改變的數(shù),需要通過賦值或代入方法來確定。在設(shè)計(jì)流程圖時(shí),變量的選擇取決于加工工藝的需要,這就需要將零件加工路線列出來,分清楚哪些是程序編制過程中的變量,哪些是常量。一般來說,變量主要有以下幾類:切削余量變量,一般以單向遞減的形式出現(xiàn),如果是復(fù)合循環(huán)指令內(nèi)含宏程序,變量就會(huì)以指令所指定的切深遞減的形式表現(xiàn)出來;數(shù)學(xué)函數(shù)上的自變量,也是以遞減或遞增的形式出現(xiàn)的。有一些變量并不以增量形式變化,僅用于傳遞參數(shù),如當(dāng)宏表達(dá)式復(fù)雜時(shí),出現(xiàn)用于過渡的中間變量。另外一些變量是用于控制加工精度、調(diào)整工藝參數(shù),如步距變量、切削速度、切深變量,這些變量的形成與加工工藝有密切關(guān)聯(lián)。
單循環(huán)由以下要素構(gòu)成:初始化;增量;條件表達(dá)式。初始化就是對循環(huán)控制變量賦初值;增量就是定義循環(huán)控制變量每循環(huán)一次后,按什么方式變化;條件表達(dá)式用于決定什么時(shí)候退出循環(huán)。在應(yīng)用流程圖設(shè)計(jì)宏程序時(shí),循環(huán)結(jié)構(gòu)可以用if 語句與條件表達(dá)式聯(lián)合表示,也可以用while 語句與條件表達(dá)式聯(lián)合表示,其含義與一般程序設(shè)計(jì)中的循環(huán)語句類似,設(shè)計(jì)者可根據(jù)需要來決定使用哪一種方式。
從單循環(huán)的結(jié)構(gòu)可以看出,循環(huán)實(shí)質(zhì)上是指變量以增量方式變化,達(dá)到設(shè)定條件后就退出循環(huán)。單循環(huán)主要用于一些特殊加工,如切槽和切斷。
例如,切斷直徑為d的軸,采用間歇進(jìn)刀方式,其切削速度與被加工直徑成正比。這種切斷模式有利于保持合理的切斷速度,防止切斷時(shí)出現(xiàn)的切削后角突然加大的現(xiàn)象。
采用單循環(huán),其中變量d 反映了直徑遞減變化狀態(tài),變量f反映了切削速度隨被加工直徑減少而變小的規(guī)律。單循環(huán)基本模式見圖1。
圖1 單循環(huán)基本模式
1.3.1 兩重嵌套循環(huán)的基本模式
一個(gè)循環(huán)語句的循環(huán)體內(nèi)包含另一個(gè)完整的循環(huán)結(jié)構(gòu),稱為循環(huán)嵌套。一個(gè)程序中宏循環(huán)嵌套最多三重,不過數(shù)控加工多采用兩重嵌套循環(huán),用于粗加工流程。
在兩重循環(huán)中,外循環(huán)的變量一般為切削余量變量,由于大多數(shù)零件的廓形都可以通過建立數(shù)學(xué)模型,用基本函數(shù)的形式表示出來,因此,內(nèi)循環(huán)一般為函數(shù)自變量增量變化,通過方程變換得出因變量,計(jì)算出刀具插補(bǔ)運(yùn)動(dòng)坐標(biāo),其軌跡符合加工路線要求。自變量的取值范圍根據(jù)加工零件的尺寸來選定,在流程圖上,用賦初值作為變量取值的開始,用條件判斷語句結(jié)束循環(huán)。
在兩重循環(huán)的基本模式(圖2)中,外循環(huán)包含一個(gè)內(nèi)循環(huán)。作為結(jié)束循環(huán)的測試,內(nèi)循環(huán)和外循環(huán)各含有一個(gè)條件判斷結(jié)構(gòu),以此確定變量的變化范圍或取值條件。
圖2 兩重循環(huán)的基本模式
在工程實(shí)踐上,由于加工工藝需要,兩重循環(huán)還有多種變化形式。
1.3.2 嵌套循環(huán)中內(nèi)循環(huán)的串聯(lián)設(shè)計(jì)
一個(gè)外層循環(huán)體中可以包含多個(gè)內(nèi)層循環(huán)結(jié)構(gòu),即為內(nèi)循環(huán)串聯(lián)。
圖3所示零件分別由非圓曲線A和B組成,如果以單一方向作為自變量進(jìn)行增量循環(huán),無論對于曲線A或曲線B而言,自變量的變化幅度太大,導(dǎo)致零件表面粗糙度相差較大,加工質(zhì)量不佳。為解決這一問題,在設(shè)計(jì)流程圖時(shí),曲線A以x為自變量,曲線B以z為自變量,在同一外循環(huán)中,自變量與因變量進(jìn)行互換。因此,在這種自變量互換的內(nèi)循環(huán)中,結(jié)束循環(huán)的判斷條件分別是x 和z坐標(biāo),此時(shí),流程圖見圖4。
圖3 實(shí)例零件一
圖4 內(nèi)循環(huán)串聯(lián)的基本模式一
加工圖5所示指數(shù)型超聲變幅桿時(shí),AB段曲率變化較快,對放大性能影響較敏感,無論是粗加工還是精加工都需要較小步距和進(jìn)給速度;而加工BC段時(shí),為避免數(shù)控系統(tǒng)計(jì)算量加大,影響速度的提升和加工效率,需要采用較大的步距和進(jìn)給速度。因此,在進(jìn)行同一路線切削時(shí),分段采用兩種步距和進(jìn)給速度,BC段采用較大的步距,而AB段采用較小的步距。點(diǎn)B坐標(biāo)要預(yù)先根據(jù)曲線斜率變化及實(shí)驗(yàn)數(shù)據(jù)設(shè)置,其流程圖見圖6。
圖5 實(shí)例零件二
圖6 內(nèi)循環(huán)串聯(lián)的基本模式二
當(dāng)內(nèi)循環(huán)串聯(lián)時(shí),第一個(gè)內(nèi)循環(huán)的流出應(yīng)指向另一個(gè)內(nèi)循環(huán)的起點(diǎn),此時(shí)應(yīng)注意防止刀位的突變,并與加工工藝相符。
1.3.3 復(fù)合循環(huán)指令中的內(nèi)循環(huán)設(shè)計(jì)
這是嵌套循環(huán)的另一種表達(dá)方式。其中,宏程序作為一種內(nèi)循環(huán),而外循環(huán)由復(fù)合循環(huán)指令控制,如G71。通過對流程圖的分析,這是一種特殊的兩重嵌套循環(huán),適合用于部分?jǐn)?shù)控系統(tǒng)上,如華中數(shù)控系統(tǒng),其中復(fù)合循環(huán)指令G71 承擔(dān)了類似于外循環(huán)的功能,此時(shí),內(nèi)循環(huán)的運(yùn)動(dòng)不限于作平行于z軸的進(jìn)給運(yùn)動(dòng)。循環(huán)開始賦值是開始段號(hào),轉(zhuǎn)跳條件是結(jié)束段號(hào),見圖7。
1.3.4 內(nèi)循環(huán)的流出設(shè)計(jì)
一般來說,內(nèi)循環(huán)到達(dá)曲線終點(diǎn),插補(bǔ)完成,需要回到下一層繼續(xù)加工。
在流程圖設(shè)計(jì)中,必然會(huì)遇到控制循環(huán)次數(shù)的問題,否則循環(huán)程序?qū)o法結(jié)束,即陷入“死循環(huán)”。通常采用條件控制辦法,這種條件控制語句可能有一個(gè),也可能有多個(gè),并按一定順序出現(xiàn)。其出現(xiàn)原因有以下幾種:
(1)工藝參數(shù)的變換,包括步距、進(jìn)給速度等。
(2)減少空刀,提高加工效率。
同時(shí)出現(xiàn)的多個(gè)條件控制語句在邏輯上存在著“或”的關(guān)系,即只要達(dá)到條件之一即可跳出內(nèi)循環(huán)。因此,其出現(xiàn)順序應(yīng)符合編程人員的設(shè)計(jì)需要。
圖7 復(fù)合循環(huán)指令中的內(nèi)循環(huán)設(shè)計(jì)
例如,加工雙曲線輪廓零件,其直徑單調(diào)增加,材料毛坯為等徑軸。
由于宏程序形成的刀路實(shí)際上是等距線,與毛坯形狀相差大,為了避免空程走刀,循環(huán)中設(shè)置了提前轉(zhuǎn)跳條件——循環(huán)控制直徑,如果刀位超出該直徑,則提前結(jié)束循環(huán),轉(zhuǎn)入下一層加工,其粗加工流程圖見圖8。
圖8 內(nèi)循環(huán)的流出設(shè)計(jì)示例
當(dāng)需要運(yùn)用到三重循環(huán)或以上時(shí),可考慮運(yùn)用子程序調(diào)用的方式來實(shí)現(xiàn),這樣可使流程圖簡化。即將最內(nèi)層的循環(huán)做成一個(gè)子程序,通過上一層循環(huán)調(diào)用,這樣可解決所在程序嵌套數(shù)量的限制問題,同時(shí)也可以提高所在層程序的簡潔性。
在當(dāng)前數(shù)控加工技術(shù)逐漸成熟的背景下,零件的數(shù)控加工工藝也趨于成熟和穩(wěn)定,其程序流程圖的設(shè)計(jì)也將遵循一定的模式,只要把握好流程圖的設(shè)計(jì)規(guī)律,設(shè)計(jì)人員就不難設(shè)計(jì)出簡潔合理的流程圖,這將對編程人員應(yīng)用宏指令編制復(fù)雜零件程序有較大的幫助,通過流程圖,可以認(rèn)識(shí)數(shù)據(jù)或變量的流動(dòng)狀態(tài),確定循環(huán)的嵌套形式和轉(zhuǎn)跳路線,在應(yīng)對不同的數(shù)控系統(tǒng)和語言規(guī)范時(shí),思路更清楚,程序表達(dá)更合理。
【1】鄭英,劉讓賢,王艷.基于流程圖的加工中心模塊化數(shù)控編程[J].組合機(jī)床與自動(dòng)化加工技術(shù),2007(1):97-99.
【2】朱顯明,馬洪波.華中數(shù)控車削系統(tǒng)拋物線宏程序編制解析[J].CAD/CAM與制造業(yè)信息化,2010(1):104-105.
【3】陳銀清.宏程序編程在數(shù)控加工中的應(yīng)用研究[J].機(jī)床與液壓,2009,37(5):42-45.
【4】王宏.數(shù)控宏程序編程的三個(gè)關(guān)鍵步驟[J].機(jī)械制造與自動(dòng)化,2007(5):48-50.
【5】王衍,王桂平,馮睿.程序設(shè)計(jì)方法及在線實(shí)踐指導(dǎo)[M].杭州:浙江大學(xué)出版社,2010.