劉好勝
(焦作市技師學院,河南 焦作 454003)
在實際生產加工中許多機械零件具有對稱性、結構的重復性、形狀的全等性,如果純粹應用G00、G01、G02、G03等指令一步一步的編程,不但會使程序冗長繁瑣,且在大量的程序段輸入時很容易出錯。如果在手工編程中應用子程序的調用來實現,將大大提高編程效率,簡化程序編制,節約數控系統內部資源,降低生產成本。下面以生產中應用較廣泛的FANUC系統為例進行探討。
(1)子程序的概念。在編制加工程序中,有時會遇到一組程序段在一個程序中多次出現,或者在幾個程序中都要用到,那么將這一組加工程序段編制成固定程序,并單獨予以命名,這組程序段即稱為子程序。
原則上主程序和子程序結構上沒有什么區別,只是程序結束指令不同,主程序結束指令為M02或M30,子程序結束指令為M99。如某一確定的輪廓形狀,對稱性、結構的重復性、形狀的全等性的零件,就可以利用子程序編程,使子程序位于主程序中適當的位置,在需要時進行調用、運行。
(2)子程序的調用格式,如表1所示。

表1 子程序的調用格式表
在數控編程中,不論是主程序還是子程序,所編寫出的程序都是描繪刀位點的走刀軌跡的過程,不過在編寫子程序時,所描繪的刀位點的走刀軌跡是利用相對坐標的形式實現的,即是增量(相對)指令編程。
具體方法步驟如:①確定子程序的起刀點(一般在主程序中說明);②根據起刀點的位置和最終加工尺寸的位置,確定總加工余量;③根據總加工余量來確定每次子程序循環的切削深度,并確定子程序的循環次數。此處選用的切削深度范圍應在所用刀具和被加工工件所適應的范圍之內,為了計算方便一般取整數;④描述被加工工件的輪廓,即運用增量編程描述刀位點的走刀軌跡;⑤描述刀位點退刀軌跡;⑥描述刀位點到下一次循環的起始點。一般選擇下一次循環的起始點與該次循環中下切點重合,形成一個封閉的循環。
在FANUC系統數控車床上,有一些功能強大的復合循環指令,如:G70、G71、G72、G73 指令等。在教學過程中發現這些復合循環指令也可以用子程序調用方法實現。現舉例說明,如圖1所示:

圖1 某工件加工面
具體方法如:對刀設置工件前端面中心為工件零位,七個基點的坐標依次為:(18,0),(22,-2),(22,22.8),(22,24.86),(34.7,-53.7),(34.7,-57.7),(42,-62.2),在寫子程序時沿加工路線X向用增量坐標寫出走刀路線,Z向坐標值可用增量坐標也可用絕對坐標。為了留精車余量0.5mm,從Φ44.5mm處開始車削,最終粗車倒角處直徑Φ18.5mm,粗車總余量26mm,每次進刀2mm,加工13次到粗車最終直徑Φ18.5mm。調用子程序13次,倒角為2×45°,在這里忽略刀尖圓角補償,毛坯直徑Φ43mm。
加工中所選用刀具1號刀位為粗車刀,2號刀位為精車刀;粗加工中留0.5mm的精加工余量。在主程序中調用子程序13次來實現對該零件的粗加工,相當于運用FANUC 0I系統中的G71復合循環指令加工;在主程序中調子程序用1次來實現對該零件的精加工,相當于運用FANUC 0I系統中的G70復合循環指令加工。
[1]崔兆華.數控車工加工工藝與編程操作[M].江蘇:江蘇教育出版社,2010.