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