熊飛龍,晁 云
(江西理工大學能源與機械工程學院,南昌330013)
西門子系統R參數編程是一種基于變量編程的高級語言編程,類似于FANUC系統的宏程序。這是數控編程人員掌握了數控基本編程指令后需要繼續學習的一種高級指令。數控車工國家職業資格也要求高級工以上資格人員掌握能運用變量編制數控加工程序[1]。
合理運用西門子系統R參數編程能大大減少程序的內容,減少輸入程序的工作量。修改R參數后不用重新編制程序就能適應同一類型不同尺寸零件的加工。本文結合實際生產內容,以生產過程中常常加工的槽為例,介紹系統子系統802D中R參數編程在數控車槽加工中的運用。
如果一個數控程序中對于數值要求具有可修改性或者利用數控系統的計算功能來計算數值,從而讓數控程序適應同一類型不同尺寸零件的加工,則可以使用西門子系統的R參數編程。
1)西門子802D系統中共有300個R計算參數可以使用,用字母R后跟數字來表示變量地址。其中R0-R99由用戶定義可以自由使用,R100-R299為加工循環時循環指令中的參數使用。如程序中無循環指令,則這部分參數也可以使用。為避免程序指令中R參數沖突,一般不用R100-R299。
2)R參數的賦值,除地址N、G、L外,可以用數值、算術表達式或者R參數對任意數控程序地址賦值。賦值時在地址符之后加上符號“=”,計算參數的賦值范圍(0.000 001…99 999 999)。

N10程序中把數值50賦值給R1,N20快速定位移動X方向的數值為R1,根據上面的R1=50,所以X的坐標為50。N30就是把算術表達式(R1+100)賦值給Y,根據兩個程序可得Y值等于150。
3)運算的規定在進行表達式運算時遵循數學運算法則。圓括號內的運算優先進行,然后按照先乘除后加減進行運算[2]。
通常數控機床運行程序時是按照程序錄入的順序來執行的,但有時程序需要改變執行順序,此時則要用程序跳轉指令來實現程序的多分支運行。實現程序控制跳轉指令需要指定跳轉目標和跳轉條件兩個要素。
跳轉目標只能是有標記符的程序段。標記符由2~8個字母或數字組成,其中開始兩個字符必須是字母或下劃線。標記符位于一個程序段的開頭,后面必須加上冒號。
程序控制跳轉指令包括絕對跳轉和有條件跳轉。程序運行到絕對跳轉指令后不再按照程序運行順序執行,而是按照指令跳轉到有標記符的程序段。絕對跳轉指令的格式為:向前跳轉GOTOF標記符(按程序運行的順序,從程序頭到程序結束的方向跳轉),向后跳轉GOTOB標記符(與程序運行的方向相反,從程序開頭的方向跳轉)。絕對跳轉示例如圖1所示[3]。
有條件跳轉則是使用IF條件語句來實現有條件跳轉,如果滿足條件那么執行跳轉,不滿足條件,依然按照先后順序來執行程序。其程序格式為:IF(跳轉條件)GOTO F(標記符);滿足條件向前跳轉。或IF(跳轉條件)GOTOB(標記符);滿足條件向后跳轉。條件跳轉示例如圖2所示[4]。

圖1 絕對跳轉指令示例

圖2 條件跳轉指令示例
采用手工編程編寫以下實例工件加工程序,若是使用西門子系統提供的槽加工指令編程時,則程序內容冗長,容易出錯。而采用自動編程方式編寫時,當同一類型不同尺寸的零件加工時,還得重新繪圖、設置工藝參數、后處理程序、輸入到機床,適應性差。采用西門子系統R參數編程,不僅可以簡化程序內容,而且具有很強的適應性。操作者只要修改程序中R參數數值,就可以實現同一類型不同尺寸零件的加工[3]。
如圖3所示零件圖,槽的形狀相同槽寬5mm槽深2.5 mm,外圓直徑及長度尺寸都已加工到位。用R參數編程編寫加工程序。

圖3 均布槽零件圖
此例中我們可以找到零件圖槽的變換規律:每個槽寬為5mm槽深2.5mm槽間距都是3mm,每個槽的加工動作相同,因此我們將Z軸作為變量R參數,用程序描述槽的加工動作,多次循環調用來簡化編程。Z坐標R1初始值為-8,每個槽的間距是8mm,所以運算表達式R1=R-8。程序示例如下所示。

如圖4所示階梯槽類零件圖,槽寬3mm,槽深5mm,圓錐及長度尺寸加工完成,用參數編程編寫切槽程序。

圖4 階梯槽零件圖
本例中的變化規律:X和Z軸方向都是變化,每個槽的形狀一樣,所以槽的加工步驟還是一樣。X方向變化設置為R1,初始值為12.8。Z方向變化設置為R2,初始值為-12。根據槽的變化量R1=R1+4.54;R2=R-8。根據變化規律用程序描述出加工的動作,結合參數編程循環調用即可。程序示例如下所示。

如圖5所示槽間距為等差數列排列的軸類零件,槽寬3mm槽深4mm,外圓柱面及長度尺寸加工完成,用參數編程編寫切槽程序。

圖5 等差槽零件圖
本例中的變化規律是槽的間隔成等差數列,槽又是同一大小。把槽間距Z方向設定為變量,初始值R1=6。間距遞增量為3,用相對編程G91方式來表示遞增,描述出加工的動作,用R參數重復調用。程序示例如下。


通過以上實例,西門子系統R參數編程的重點是要找到其中的變化規律,將加工動作描述起來,用變量計算方式來定義多次使用,不必每個槽都編寫程序。變量可以是一個軸發生改變,也可以是多個軸同時發生改變。多個軸就用多個R參數即可[5]。
也可以總結歸納出西門子R參數編程一般包括5個步驟:首先在程序中要先定義R參數初始值,寫出程序跳轉目標的標記符,用程序語言對加工動作進行描述,R參數運算,用條件跳轉語句來實現加工動作的多次調用[6]。參數編程加工步驟如圖6所示[3]。

圖6 參數編程加工步驟流程圖
以上實例中若槽的大小改變,或者加工槽的數量有變化,我們只是需要更改R參數數值或者對加工動作描述做些修改,就可以滿足,而不需要重新編寫程序,大大節約了編程時間,提高了程序的適用性。合理使用R參數編程可以通過運算指令來多次調用程序,從而優化程序、簡化程序,提高了程序的適用性,在數控加工中運用廣泛。通過對R參數的修改,就可以實現對同一類型不同尺寸零件的加工[7]。