江蘇鷹游紡機(jī)有限公司 劉永宏 王賽虎 張斯緯 /文
數(shù)控機(jī)床是按照事先編制好的機(jī)床系統(tǒng)可以識別的加工程序,對被加工零件進(jìn)行自動加工。加工程序的編制在數(shù)控加工中是十分重要的,在生產(chǎn)加工中數(shù)控程序的編制是數(shù)控機(jī)床操作人員必須掌握的一門技術(shù),也是我們在加工過程中提高機(jī)床效率的重要途徑。
數(shù)控程序的編制可以分為手工編程和軟件自動編程。手工編程首先要分析圖樣和技術(shù)要求,確定裝夾方式、加工基準(zhǔn)、工步次序以及刀具切削參數(shù)的工藝數(shù)據(jù),圖紙加工尺寸計算,此外,程序的編寫校對均是由人工完成的編程方法。適用于形狀簡單、計算簡單以及工序簡單的工件加工,它的特點是程序的可讀性比較好,且加工后的刀具路徑均勻,適用于大批量生產(chǎn)的產(chǎn)品中。自動編程用自動編程軟件生成零件圖形和給定加工參數(shù),軟件自動生成加工程序。適用于單件小批量的形狀復(fù)雜且難于計算手工編程困難的零件。
在生產(chǎn)中,如工件的形狀相對簡單,沒有復(fù)雜的曲面,且批量比較大,形狀比較固定,采用的是手工編程較為簡潔方便,充分發(fā)揮手工編程可讀性好、程序簡潔、路徑清晰、調(diào)試方便、加工后工件表面刀紋均勻、觀賞性好的優(yōu)點。在加工過程中要提高工作效率程序的簡化至關(guān)重要,程序的簡化主要是通過使用子程序和宏語句編程的方法。
子程序為在加工程序中不同位置上的一連串程序,這些程序具有完全相同或者相近的內(nèi)容,為了化簡程序段可以將重復(fù)程序段單獨抽出來,按照規(guī)定的格式編輯子程序。在工作中,主程序需要調(diào)用該子程序,則通過固定的子程序調(diào)令來調(diào)用該程序,執(zhí)行完子程序后返回主程序,繼續(xù)執(zhí)行后面程序命令。
子程序的使用可以減少程序段重復(fù)編程、編程的效率能夠大幅提高,編程出錯率也得到有效的降低。在生產(chǎn)過程中,主程序可以調(diào)用子程序,同時子程序也可以調(diào)用下一級子程序。主程序結(jié)束指令后建立子程序,該過程是一個固定循環(huán)過程,
子程序更進(jìn)一步的作用,如示例2多個零件的子程序,如在機(jī)床工作臺上安裝6個虎鉗,每個虎鉗會使用一個新的X、Y零值。在程序中,它們可以被調(diào)用為G54至G59。機(jī)床將告知每一個虎鉗的工作臺位置。通過使用一個邊緣探測器或者指示器,就可以確定每一個工件的零點。使用工作坐標(biāo)系補(bǔ)償頁面內(nèi)的部件零設(shè)置鍵,以記錄每一個X、Y位置,一旦每個虎鉗的X、Y零位處于補(bǔ)償頁面,就可以開始編程。
(1)在處理工件外形輪廓相同的零件時,這時只需編寫一個子程序,主程序調(diào)用該子程序命令即可。
(2)工件在加工過程中,出現(xiàn)相同的走刀路線,并且反復(fù)的出現(xiàn)該軌跡;在某一區(qū)域內(nèi)被加工的工件刀具需要分層或反復(fù)的走刀,走刀軌跡出現(xiàn)特定形狀,此時編輯子程序比較方便,該環(huán)節(jié)注意使用增量方式編程。
(3)加工過程中,每個子程序的內(nèi)容是相對獨立的。在加工復(fù)雜工件時,會調(diào)用多個獨立的子程序,優(yōu)化加工過程。編輯獨立的子程序,在加工過程中主程序只需要調(diào)用換刀命令和調(diào)用子程序命令。
在整個生產(chǎn)過程中 ,主程序?qū)ψ映绦蛑噶畹恼{(diào)用是一個程序段,它的調(diào)用格式隨著機(jī)床的數(shù)控系統(tǒng)格式而定,一下我們以HASS(哈斯)系統(tǒng)為例。
子程序一般格式如下:
子程序號的開頭從繼“N”開始到M99結(jié)束,完成整個子程序運行過程。
子程序調(diào)用使用如下格式
其中M97為程序調(diào)用子程序的指令,P的后面數(shù)字是子程序的號,L后面數(shù)字是指令被重復(fù)調(diào)用的次數(shù),當(dāng)程序只被調(diào)用一次也可以省略不寫。
示例1:
圖1沉框加工圖
圖1中三沉框尺寸一樣,所以用子程序后的程序要簡潔好懂些,G52是偏移工件坐標(biāo)系,將坐標(biāo)系分別設(shè)在三個沉框的左下角。上圖中沉框的尺寸較簡單,程序優(yōu)勢不太明顯,如果圖形尺寸復(fù)雜些,程序優(yōu)勢就會更加明顯。
示例2:
圖2表示多個工件安裝。一旦在程序內(nèi)指定了虎鉗,每一個虎鉗就會有一個絕對零值。通過G54至G59以及G110至G129,就可以實現(xiàn)這一點。
圖2中心位置鉆孔
宏語句是若干行碼,它允許編程者像使用任何標(biāo)準(zhǔn)編程語言那樣來操作控制器。通過應(yīng)用變量、運算符、函數(shù)名以及控制語句其中應(yīng)用最多的為控制語句。
在變量運算過程中,變量和常量之間可進(jìn)行多種運算,優(yōu)先運算的順序如下:
(1)函數(shù);
(2)乘除,邏輯與;
(3)加減,邏輯或,邏輯異或。
可以用[]來改變順序。
控制語句允許編程者進(jìn)行有條件或無條件轉(zhuǎn)移,也可按一定條件重復(fù)執(zhí)行一段代碼。
2.3.1 無條件轉(zhuǎn)移
在HASS(哈斯)控制器中,有直接轉(zhuǎn)移和計算后轉(zhuǎn)移兩種無條件轉(zhuǎn)移方法。
直接轉(zhuǎn)移就是通過指令直接轉(zhuǎn)移到指定的程序段中。如 GOTO15 就是直接轉(zhuǎn)移到N15行。這種轉(zhuǎn)移很簡單使用。
計算后轉(zhuǎn)移就是允許將控制轉(zhuǎn)換至同一子程序的另一程序段去,轉(zhuǎn)移程序段可以通過GOTO #n的形式,以局部變量給出或GOTO[表達(dá)式]形式表出。
2.3.2 條件轉(zhuǎn)移
條件轉(zhuǎn)移允許程序?qū)⒖刂妻D(zhuǎn)移至同一程序內(nèi)的另一碼段,只有宏有效的情況才能進(jìn)行條件轉(zhuǎn)移。其形式為IF[條件表達(dá)式] GOTO n,其中條件表達(dá)式為一個利用布爾運算(不等于NE,等于EQ,小于LT,大于GT,小于或等于LE,大于或等于GE,)的任意表達(dá)式
2.3.3 循環(huán)(WHILE)語句
語句格式為:
在條件語句為真時,程序執(zhí)行語句從D0 m到END m該程序段。在條件語句為假時,程序執(zhí)行END m程序段。DO和END后的數(shù)字只能使用阿拉伯?dāng)?shù)字,若為其他數(shù)字程序則會報警,該數(shù)字表示循環(huán)執(zhí)行的范圍。根據(jù)生產(chǎn)需要,D0-END循環(huán)語句可以被需執(zhí)行多次。
圖3中各個槽寬和間距均等,用宏語言編的程序比較簡潔直觀,比較好懂。
圖3 槽板加工圖
在加工一些形狀規(guī)則,沒有曲面的零件時,手工編程要優(yōu)于自動編程,可縮短編程時間,刀具路徑較規(guī)則,沒有多余的走刀路徑,可以得到想要得到的走刀路徑,加工后的表面規(guī)整。在編程過程中,合理的應(yīng)用子程序和宏語言,可縮短編程時間和閱讀程序時間,達(dá)到提高工作效率的目的。