熊飛龍,晁 云
(江西理工大學(xué)能源與機械工程學(xué)院,南昌330013)
西門子系統(tǒng)R參數(shù)編程是一種基于變量編程的高級語言編程,類似于FANUC系統(tǒng)的宏程序。這是數(shù)控編程人員掌握了數(shù)控基本編程指令后需要繼續(xù)學(xué)習(xí)的一種高級指令。數(shù)控車工國家職業(yè)資格也要求高級工以上資格人員掌握能運用變量編制數(shù)控加工程序[1]。
合理運用西門子系統(tǒng)R參數(shù)編程能大大減少程序的內(nèi)容,減少輸入程序的工作量。修改R參數(shù)后不用重新編制程序就能適應(yīng)同一類型不同尺寸零件的加工。本文結(jié)合實際生產(chǎn)內(nèi)容,以生產(chǎn)過程中常常加工的槽為例,介紹系統(tǒng)子系統(tǒng)802D中R參數(shù)編程在數(shù)控車槽加工中的運用。
如果一個數(shù)控程序中對于數(shù)值要求具有可修改性或者利用數(shù)控系統(tǒng)的計算功能來計算數(shù)值,從而讓數(shù)控程序適應(yīng)同一類型不同尺寸零件的加工,則可以使用西門子系統(tǒng)的R參數(shù)編程。
1)西門子802D系統(tǒng)中共有300個R計算參數(shù)可以使用,用字母R后跟數(shù)字來表示變量地址。其中R0-R99由用戶定義可以自由使用,R100-R299為加工循環(huán)時循環(huán)指令中的參數(shù)使用。如程序中無循環(huán)指令,則這部分參數(shù)也可以使用。為避免程序指令中R參數(shù)沖突,一般不用R100-R299。
2)R參數(shù)的賦值,除地址N、G、L外,可以用數(shù)值、算術(shù)表達(dá)式或者R參數(shù)對任意數(shù)控程序地址賦值。賦值時在地址符之后加上符號“=”,計算參數(shù)的賦值范圍(0.000 001…99 999 999)。
N10程序中把數(shù)值50賦值給R1,N20快速定位移動X方向的數(shù)值為R1,根據(jù)上面的R1=50,所以X的坐標(biāo)為50。N30就是把算術(shù)表達(dá)式(R1+100)賦值給Y,根據(jù)兩個程序可得Y值等于150。
3)運算的規(guī)定在進(jìn)行表達(dá)式運算時遵循數(shù)學(xué)運算法則。圓括號內(nèi)的運算優(yōu)先進(jìn)行,然后按照先乘除后加減進(jìn)行運算[2]。
通常數(shù)控機床運行程序時是按照程序錄入的順序來執(zhí)行的,但有時程序需要改變執(zhí)行順序,此時則要用程序跳轉(zhuǎn)指令來實現(xiàn)程序的多分支運行。實現(xiàn)程序控制跳轉(zhuǎn)指令需要指定跳轉(zhuǎn)目標(biāo)和跳轉(zhuǎn)條件兩個要素。
跳轉(zhuǎn)目標(biāo)只能是有標(biāo)記符的程序段。標(biāo)記符由2~8個字母或數(shù)字組成,其中開始兩個字符必須是字母或下劃線。標(biāo)記符位于一個程序段的開頭,后面必須加上冒號。
程序控制跳轉(zhuǎn)指令包括絕對跳轉(zhuǎn)和有條件跳轉(zhuǎn)。程序運行到絕對跳轉(zhuǎn)指令后不再按照程序運行順序執(zhí)行,而是按照指令跳轉(zhuǎn)到有標(biāo)記符的程序段。絕對跳轉(zhuǎn)指令的格式為:向前跳轉(zhuǎn)GOTOF標(biāo)記符(按程序運行的順序,從程序頭到程序結(jié)束的方向跳轉(zhuǎn)),向后跳轉(zhuǎn)GOTOB標(biāo)記符(與程序運行的方向相反,從程序開頭的方向跳轉(zhuǎn))。絕對跳轉(zhuǎn)示例如圖1所示[3]。
有條件跳轉(zhuǎn)則是使用IF條件語句來實現(xiàn)有條件跳轉(zhuǎn),如果滿足條件那么執(zhí)行跳轉(zhuǎn),不滿足條件,依然按照先后順序來執(zhí)行程序。其程序格式為:IF(跳轉(zhuǎn)條件)GOTO F(標(biāo)記符);滿足條件向前跳轉(zhuǎn)?;騃F(跳轉(zhuǎn)條件)GOTOB(標(biāo)記符);滿足條件向后跳轉(zhuǎn)。條件跳轉(zhuǎn)示例如圖2所示[4]。
圖1 絕對跳轉(zhuǎn)指令示例
圖2 條件跳轉(zhuǎn)指令示例
采用手工編程編寫以下實例工件加工程序,若是使用西門子系統(tǒng)提供的槽加工指令編程時,則程序內(nèi)容冗長,容易出錯。而采用自動編程方式編寫時,當(dāng)同一類型不同尺寸的零件加工時,還得重新繪圖、設(shè)置工藝參數(shù)、后處理程序、輸入到機床,適應(yīng)性差。采用西門子系統(tǒng)R參數(shù)編程,不僅可以簡化程序內(nèi)容,而且具有很強的適應(yīng)性。操作者只要修改程序中R參數(shù)數(shù)值,就可以實現(xiàn)同一類型不同尺寸零件的加工[3]。
如圖3所示零件圖,槽的形狀相同槽寬5mm槽深2.5 mm,外圓直徑及長度尺寸都已加工到位。用R參數(shù)編程編寫加工程序。
圖3 均布槽零件圖
此例中我們可以找到零件圖槽的變換規(guī)律:每個槽寬為5mm槽深2.5mm槽間距都是3mm,每個槽的加工動作相同,因此我們將Z軸作為變量R參數(shù),用程序描述槽的加工動作,多次循環(huán)調(diào)用來簡化編程。Z坐標(biāo)R1初始值為-8,每個槽的間距是8mm,所以運算表達(dá)式R1=R-8。程序示例如下所示。
如圖4所示階梯槽類零件圖,槽寬3mm,槽深5mm,圓錐及長度尺寸加工完成,用參數(shù)編程編寫切槽程序。
圖4 階梯槽零件圖
本例中的變化規(guī)律:X和Z軸方向都是變化,每個槽的形狀一樣,所以槽的加工步驟還是一樣。X方向變化設(shè)置為R1,初始值為12.8。Z方向變化設(shè)置為R2,初始值為-12。根據(jù)槽的變化量R1=R1+4.54;R2=R-8。根據(jù)變化規(guī)律用程序描述出加工的動作,結(jié)合參數(shù)編程循環(huán)調(diào)用即可。程序示例如下所示。
如圖5所示槽間距為等差數(shù)列排列的軸類零件,槽寬3mm槽深4mm,外圓柱面及長度尺寸加工完成,用參數(shù)編程編寫切槽程序。
圖5 等差槽零件圖
本例中的變化規(guī)律是槽的間隔成等差數(shù)列,槽又是同一大小。把槽間距Z方向設(shè)定為變量,初始值R1=6。間距遞增量為3,用相對編程G91方式來表示遞增,描述出加工的動作,用R參數(shù)重復(fù)調(diào)用。程序示例如下。
通過以上實例,西門子系統(tǒng)R參數(shù)編程的重點是要找到其中的變化規(guī)律,將加工動作描述起來,用變量計算方式來定義多次使用,不必每個槽都編寫程序。變量可以是一個軸發(fā)生改變,也可以是多個軸同時發(fā)生改變。多個軸就用多個R參數(shù)即可[5]。
也可以總結(jié)歸納出西門子R參數(shù)編程一般包括5個步驟:首先在程序中要先定義R參數(shù)初始值,寫出程序跳轉(zhuǎn)目標(biāo)的標(biāo)記符,用程序語言對加工動作進(jìn)行描述,R參數(shù)運算,用條件跳轉(zhuǎn)語句來實現(xiàn)加工動作的多次調(diào)用[6]。參數(shù)編程加工步驟如圖6所示[3]。
圖6 參數(shù)編程加工步驟流程圖
以上實例中若槽的大小改變,或者加工槽的數(shù)量有變化,我們只是需要更改R參數(shù)數(shù)值或者對加工動作描述做些修改,就可以滿足,而不需要重新編寫程序,大大節(jié)約了編程時間,提高了程序的適用性。合理使用R參數(shù)編程可以通過運算指令來多次調(diào)用程序,從而優(yōu)化程序、簡化程序,提高了程序的適用性,在數(shù)控加工中運用廣泛。通過對R參數(shù)的修改,就可以實現(xiàn)對同一類型不同尺寸零件的加工[7]。