蔣 毅
(四川職業(yè)技術(shù)學(xué)院 智能制造學(xué)院,四川 遂寧 629000)
數(shù)控系統(tǒng)通過(guò)幾十年的發(fā)展,市面上已有眾多數(shù)控系統(tǒng),包括:西門子、法拉克、華中數(shù)控等等,雖然每種系統(tǒng)在編程格式、編程指令上存在部分差異,但不可否認(rèn)這些系統(tǒng)都已經(jīng)達(dá)到了成熟、穩(wěn)定和可靠的水平。在計(jì)算機(jī)輔助編程誕生之前通常采用的是手工編程方式,就是從分析零件圖樣、確定加工工藝過(guò)程、數(shù)值計(jì)算、編寫加工程序單直至程序校驗(yàn)均由人工來(lái)完成。它要求編程人員要具備相關(guān)工藝知識(shí)和數(shù)值計(jì)算能力,熟悉數(shù)控指令及編程規(guī)則,程序最終的準(zhǔn)確性、可靠性與編程者水平息息相關(guān)。近些年隨著計(jì)算機(jī)技術(shù)的進(jìn)一步的發(fā)展,計(jì)算機(jī)輔助編程也日漸成熟。計(jì)算機(jī)輔助編程也被稱為自動(dòng)編程,通過(guò)利用計(jì)算機(jī)專用軟件來(lái)編制數(shù)控加工程序,編程人員只需根據(jù)零件圖樣的要求繪制圖形,選擇加工方法,進(jìn)行參數(shù)設(shè)置,通過(guò)后置處理程序由計(jì)算機(jī)自動(dòng)生成零件的數(shù)控加工程序。
在實(shí)際生產(chǎn)過(guò)程中,使用較多的是數(shù)控車床、數(shù)控銑床/加工中心。數(shù)控銑床/加工中心能夠?qū)崿F(xiàn)三軸聯(lián)動(dòng),當(dāng)無(wú)需三軸聯(lián)動(dòng)實(shí)現(xiàn)加工要求的簡(jiǎn)單零件可以采用手工編程;需要三軸聯(lián)動(dòng)才能滿足加工要求的零件往往需要用CAM 制造軟件進(jìn)行自動(dòng)編程,而手工編程則望塵莫及。數(shù)控車床加工的范圍主要以軸類工件為主,僅需兩軸聯(lián)動(dòng)就能滿足加工要求,因此數(shù)控車床加工時(shí)自動(dòng)編程與手工編程相比,自動(dòng)編程優(yōu)勢(shì)沒有在數(shù)控銑床加工中那么明顯。自動(dòng)編程與手工編程各有優(yōu)勢(shì)、各有不足,下面就數(shù)控車床編程中自動(dòng)編程與手工編程各自的優(yōu)缺點(diǎn)和編程差異進(jìn)行探討和分析。
數(shù)控車床手工編程過(guò)程完全由操作人員先根據(jù)圖紙要求編寫好程序,再將編寫好的程序通過(guò)面板輸入機(jī)床,程序里的每個(gè)字符都需操作者逐一輸入,那么就存在編程錯(cuò)誤或者輸入錯(cuò)誤的可能,對(duì)于形狀復(fù)雜的零件,程序往往很長(zhǎng),如需一次編程成功,不出一點(diǎn)錯(cuò)誤是很難做到的,在編程過(guò)程中可能出現(xiàn)本文書寫錯(cuò)誤、算式錯(cuò)誤、程序格式錯(cuò)誤等等情況。靠人工逐句檢查錯(cuò)誤是困難的,費(fèi)時(shí)又費(fèi)力。特別是具有非圓曲線、列表曲線及曲面組成的零件,需要采用直線段或圓弧段來(lái)逼近,這時(shí)用手工計(jì)算節(jié)點(diǎn)就有一定困難,出錯(cuò)的概率增大,甚至無(wú)法編出程序[1]。例如圖1 所示,該圖標(biāo)注了工件外表面四個(gè)依次相切的圓弧,圓弧的圓心均不在工件的對(duì)稱軸上,該工件若采用手工編程計(jì)算量將巨大,并且該工件的內(nèi)孔尺寸并未直接標(biāo)注,僅標(biāo)注了外圓與內(nèi)空的壁厚尺寸2mm,如果采用手工編程,那么內(nèi)壁圓弧切點(diǎn)坐標(biāo)和內(nèi)壁圓弧與直徑23 內(nèi)孔交點(diǎn)坐標(biāo)幾乎無(wú)法計(jì)算。即使借助計(jì)算器等輔助辦法強(qiáng)行計(jì)算,大量的計(jì)算也會(huì)增加出錯(cuò)的可能,甚至有時(shí)必須通過(guò)二次檢查或模擬加工才能最終確定,這便要求操作者既要較高的編程能力,還有心思縝密的習(xí)慣。
圖1 圓弧的計(jì)算
自動(dòng)編程則全完全不同,操作者只需根據(jù)圖紙要求正確繪制加工圖形和設(shè)置好后處理程序,無(wú)論零件有多復(fù)雜,只要繪圖無(wú)誤,都可以很快的成生準(zhǔn)確率極高的加工程序。仍以圖1 為例,采用CAXA 繪圖,外圓相切圓弧的繪制只需采用“切點(diǎn)+切點(diǎn)+半徑”的畫圓方式便可輕松完成,至于內(nèi)孔只需在外圓的基礎(chǔ)上使用“平移”或“平行線”功能即可輕松而又快速的完成。所以采用自動(dòng)編程可最大限度地減少尺寸節(jié)點(diǎn)的計(jì)算,不但可保證形狀的準(zhǔn)確性,也降低了出錯(cuò)的幾率。
同時(shí)在設(shè)置刀尖半徑補(bǔ)償方面,自動(dòng)編程也更加簡(jiǎn)單,無(wú)需使用刀具半徑補(bǔ)償?shù)闹噶睿ㄈ鏔ANUC 系統(tǒng)數(shù)控的G40、G41、G42 指令),以CAXA CAM 數(shù)控車自動(dòng)編程軟件為例,只需在加工方式的對(duì)話框中選中“編程時(shí)考慮半徑補(bǔ)償”,如圖2所示,在生成軌跡的時(shí)候,計(jì)算機(jī)會(huì)根據(jù)操作者所輸入的刀尖半徑大小自動(dòng)偏移相應(yīng)部位的刀具軌跡,同時(shí)不需要設(shè)置刀尖方位,進(jìn)一步降低了出錯(cuò)的可能,從而保證工件的精度。
圖2 刀尖半徑補(bǔ)償
同時(shí)自動(dòng)編程的程序由軟件生成,具有可信度高,數(shù)據(jù)準(zhǔn)確,在軟件中生存軌跡的時(shí)候已經(jīng)進(jìn)行了干涉檢查和圖形檢查,所以無(wú)需再在機(jī)床上進(jìn)行圖形模擬來(lái)檢查程序的準(zhǔn)確性。
同一工件采用手工編程或自動(dòng)編程,編程效率又存在差異:由于手工編程只要編程者熟悉指令,便可直接在機(jī)床上編程加工;自動(dòng)編程前期準(zhǔn)備時(shí)間較長(zhǎng),需要計(jì)算機(jī)上用軟件完成繪圖,再設(shè)置刀具和毛坯等等才能加工。如果一個(gè)簡(jiǎn)單的工件也采用自動(dòng)變成,那么前期準(zhǔn)備工作所花費(fèi)的時(shí)間相對(duì)于整個(gè)加工時(shí)間將占用較高的比值。所以通常簡(jiǎn)單工件采用手工編程,復(fù)雜工件或節(jié)點(diǎn)計(jì)算較多的工件采用自動(dòng)編程。
如圖3 所示的工件,該圖為川渝地區(qū)某次技能大賽樣題,圖中共有7 處需進(jìn)行槽加工,屬于比較復(fù)雜的工件。以FANUC 系統(tǒng)數(shù)控車床為例,手工編程中效率最高的辦法是采用G75 指令進(jìn)行編輯,即便如此仍需使用7 次G75 指令,也意味著操作者需設(shè)置7 次G75 加工參數(shù)。如果采用自動(dòng)編程就顯得簡(jiǎn)單很多,操作者只需要一次把所有尺寸繪制出來(lái)完后,通過(guò)后處理一次性將7 個(gè)槽生成一個(gè)或多個(gè)加工程序進(jìn)行加工,加工軌跡如圖4 所示。通過(guò)對(duì)加工軌跡的檢查,也節(jié)省了在機(jī)床上模擬圖形檢查程序的環(huán)節(jié),從而也節(jié)約時(shí)間。
圖3 多槽工件
圖4 槽的自動(dòng)編程軌跡
在該次川渝地區(qū)的技能比賽后,裁判長(zhǎng)也又做過(guò)一次統(tǒng)計(jì):根據(jù)比賽要求,選手可以采用手工編程,也可采用CAXA CAM 數(shù)控車自動(dòng)編程,比賽采用了華中數(shù)控操作系統(tǒng)的數(shù)控車床,當(dāng)時(shí)46位參賽選手中約有百分之五十的選手采用手工編程方式加工,另外百分之五十的選手采用了CAXA CAM 數(shù)控車自動(dòng)編程方式加工,最終能在大賽規(guī)定的3 個(gè)小時(shí)內(nèi)完成工件加工的選手均是采用自動(dòng)編程方式加工的選手,同時(shí)獲得大賽一、二、三等獎(jiǎng)的14 位選手均是采用的自動(dòng)編程方式加工的選手。所以自動(dòng)編程與手工編程相比,在加工復(fù)雜工件的時(shí)候后,在加工效率方面具有絕對(duì)的優(yōu)勢(shì)。通過(guò)兩種編程方式對(duì)同一零件加工程序的進(jìn)行編制,加工復(fù)雜工件時(shí),采用自動(dòng)編程所用時(shí)間將比手工編程的時(shí)間節(jié)省20%至50%,大大提高了編程的效率。所以自動(dòng)編程特別適合在技能比賽或加工形狀較為復(fù)雜的情況下使用[2]。
手工編程與自動(dòng)編程在編程編程邏輯上也存在較大不同:以FANUC 系統(tǒng)數(shù)控車床為例,手工編程時(shí)往往會(huì)采用復(fù)合循環(huán)指令,如G71、G72、G73、G75、G76 等指令,加工過(guò)程則由機(jī)床根據(jù)復(fù)合循環(huán)指令中的參數(shù)設(shè)置自動(dòng)完成具體的加工軌跡,以此減少編程工作量和減小程序書寫量。對(duì)于非直線和非圓表面的復(fù)雜工件,有的時(shí)候還必須采用“用戶宏程序”進(jìn)行編輯,但“用戶宏程序”對(duì)于操作者對(duì)變量的運(yùn)算、轉(zhuǎn)向語(yǔ)句、和曲線宏程序編程思路都有較高的要求,對(duì)于初學(xué)者或者無(wú)計(jì)算機(jī)語(yǔ)言基礎(chǔ)的學(xué)者具有一定的難度,如果存在非常規(guī)曲面或類似如圖1 的復(fù)雜工件,甚至無(wú)法編輯。
自動(dòng)編程由于是計(jì)算機(jī)編程,通常情況下無(wú)需考慮編程工作量和程序書寫量,采用自動(dòng)編程生成的程序通常由最簡(jiǎn)單最基礎(chǔ)的加工指令構(gòu)成,不會(huì)采用復(fù)合循環(huán)指令和“用戶宏程序”[3]。特別是對(duì)于復(fù)雜曲線和非常規(guī)曲面,只要能繪制出圖形就能輕松編輯出程序。
如圖5 所示的工件,如果采用手工編程加工工件右端時(shí),除了使用G73 指令外,還必須使用“用戶宏程序”進(jìn)行編程,其中涉及變量和條件轉(zhuǎn)移語(yǔ)句的運(yùn)用,編寫難度也比較大,如果編程者沒有一定的文化基礎(chǔ)或計(jì)算機(jī)語(yǔ)言的思維邏輯,對(duì)于“用戶宏程序”的學(xué)習(xí)和編寫都具有一定的難度,所以這類工件的程序編寫對(duì)編程人員能力有著較高的要求[4]。如果采用自動(dòng)編程,計(jì)算機(jī)只需要使用G00、G01、G03 和G32 等最簡(jiǎn)單的就可以完成輪廓的編輯,不需要使用變量和條件轉(zhuǎn)移語(yǔ)句,處理過(guò)程與一般工件幾乎沒有區(qū)別,故此時(shí)采用自動(dòng)編程方式編寫程序就顯得格外簡(jiǎn)單。
圖5 公式曲線工件
但正是由于自動(dòng)編程沒有采用復(fù)合循環(huán)指令和“用戶宏程序”,所生成的程序往往冗長(zhǎng),加工程序需占用加大的存儲(chǔ)空間,并且存在加工路徑不靈活,可能會(huì)有很多空行程情況,這也導(dǎo)致在后期修改程序的時(shí)候自動(dòng)編程不如手工編修改方便,特別是對(duì)于形狀較為復(fù)雜的工件一旦程序生成后很難將圖形中各個(gè)尺寸和程序語(yǔ)句快速而又準(zhǔn)確地對(duì)應(yīng)關(guān)聯(lián),使得修改工作變地?zé)o從下手。例如圖6 為圖5 工件右端部分的加工軌跡,同樣是對(duì)加工軌跡修改,采用手動(dòng)編程僅有20 余段代碼,修改程序也十分便捷,只需對(duì)相應(yīng)節(jié)點(diǎn)坐標(biāo)或公式進(jìn)行修改便可快速完成修改工作;
圖6 公式曲線工件的自動(dòng)編程軌跡
然而自動(dòng)編程所生成的程序由于沒有采用G73 或CYCLE95 循環(huán)指令,也沒有使用用戶宏程序進(jìn)行編程,無(wú)論是快速定位還是插補(bǔ),每一段軌跡都有與之對(duì)應(yīng)的程序,導(dǎo)致程序代碼總行數(shù)多達(dá)數(shù)百段,很難將每段代碼與其相應(yīng)段軌跡一一對(duì)應(yīng)起來(lái),程序一旦輸入機(jī)床很難再對(duì)其輪廓進(jìn)行修改[5]。所以自動(dòng)編程往往只進(jìn)行簡(jiǎn)單的指令修改,如果程序確需較大幅度的修改,往往只能回到最初的繪圖或參數(shù)設(shè)置環(huán)節(jié),通過(guò)重新繪圖或重置參數(shù)的方式才能完成程序的修改[6]。
隨著各個(gè)國(guó)家對(duì)制造業(yè)的重視,各國(guó)也在不斷地研發(fā)自己的數(shù)控操作系統(tǒng),比如德國(guó)有西門子和海德漢數(shù)控系統(tǒng),日本有FANUC、三菱數(shù)控系統(tǒng)[7],近些年我國(guó)在數(shù)控系統(tǒng)領(lǐng)域也有著巨大的進(jìn)步,我們國(guó)家也有華中數(shù)控、廣州數(shù)控、北京凱恩帝數(shù)控技術(shù)等等,總之如今數(shù)控系統(tǒng)領(lǐng)域?qū)儆诎倩R放的現(xiàn)狀。不同數(shù)控系統(tǒng)的指令形式不盡相同,編程格式有著各自的規(guī)則,機(jī)床的輔助功能也不一樣[8],伺服系統(tǒng)的性能也存在差別。同一個(gè)零件在不同的數(shù)控機(jī)床上加工,所需編程的數(shù)控加工程序或多或少也存在差異。如在法拉克系統(tǒng)中進(jìn)給速度單位的設(shè)定指令是G98、G99,每分鐘進(jìn)給量采用G98,每轉(zhuǎn)進(jìn)給量采用的是G99;而在華中數(shù)控的車床操作系統(tǒng)中進(jìn)給速度單位的設(shè)定指令是G94、G95,每分鐘進(jìn)給量采用G94,每轉(zhuǎn)進(jìn)給量采用的是G95[9]。不同系統(tǒng)之間指令的差異還遠(yuǎn)遠(yuǎn)不止于此,但一般操作人員很難掌握所有數(shù)控操作系統(tǒng)的編程指令,通常只對(duì)學(xué)習(xí)過(guò)的操作系統(tǒng)才能熟練的編程。如果采用自動(dòng)編程這個(gè)問題便可以完美地解決,對(duì)于不同的操作系統(tǒng),自動(dòng)編程具有很強(qiáng)地適應(yīng)性,在采用自動(dòng)編程時(shí),所有數(shù)控操作前期的繪圖都完全一致,只要有對(duì)應(yīng)系統(tǒng)的后處理程序就能自動(dòng)生成適用于不同數(shù)控機(jī)床的數(shù)控程序[10]。所以采用自動(dòng)編程時(shí),即使面對(duì)多種不同系統(tǒng)的數(shù)控機(jī)床,只需后期采用相應(yīng)的后置處理程序,就得到適用于不同系統(tǒng)的加工程序,極大地?cái)U(kuò)展了自動(dòng)編程系統(tǒng)的使用范圍。
總之,當(dāng)加工幾何形狀較為簡(jiǎn)單,編寫的程序量不多,坐標(biāo)計(jì)算也較簡(jiǎn)單時(shí),采用手工編程既經(jīng)濟(jì)又省時(shí);當(dāng)加工形狀復(fù)雜的零件時(shí),特別是具有非圓曲線、列表曲線及曲面組成的零件,采用自動(dòng)編程軟件在程序的準(zhǔn)確性和效率方面也更具優(yōu)勢(shì)。所以,在必要時(shí)候采用手工編程與自動(dòng)編程相結(jié)合的方式也可將兩種方式優(yōu)點(diǎn)相結(jié)合,達(dá)到互補(bǔ)不足、相互補(bǔ)充的目的,從而編寫出加工速度快、程序準(zhǔn)確性高的程序。
手工編程和自動(dòng)編程各有所長(zhǎng),但也存在各自的不足,不能絕對(duì)地評(píng)價(jià)哪一種方式更好,操作者可根據(jù)實(shí)際情況采用適當(dāng)?shù)木幊谭绞健5珶o(wú)論采用哪種編程方式,操作者都應(yīng)該先掌握手工編程的技能,因?yàn)榧词棺詣?dòng)編程相比于手工編程有很多明顯的優(yōu)點(diǎn),但手工編程才是實(shí)際操作的基礎(chǔ),自動(dòng)編程也離不開基本程序指令的支撐。無(wú)論采用何種方式編程,掌握了手工編程在加工的時(shí)候才能更加得心應(yīng)手,甚至還可以幫助理解和修改自動(dòng)編程的程序。所以只有同時(shí)掌握手工編程和自動(dòng)編程,在編寫加工程序時(shí)才能更加得心應(yīng)手。