摘 要:在數控機床上加工工件時,通過一次裝夾加工多個相同零件或同一個零件上有多個相同加工部分,在編寫零件加工程序時,可使用子程序編程。采用子程序之后,可以縮短程序的長度及簡化零件加工程序。
關鍵詞:數控編程; 子程序; M98指令; M99指令
中圖分類號:TG659 文獻標識碼:A 文章編號:1006-3315(2015)03-129-001
在編寫零件的加工程序時,如果零件輪廓由許多相同的形狀組成,并且該零件通過一次安裝就能完成多個相同輪廓形狀的加工,那么我們在編寫零件的加工程序時只需要編寫一個輪廓形狀的加工程序,然后把編寫好的這個加工程序作為子程序,再用主程序來調用子程序,從而實現該零件的加工。采用主程序調用子程序的方式進行編程,不僅可以實現簡化編程,而且還可以減少重復性工作,從而提高零件的編程效率。
一、淺談子程序的有關概念
數控機床的零件加工程序有主程序和子程序兩種。主程序是一個完整的零件加工程序,或者理解為主程序是零件加工程序的主體部分,作為獨立的加工程序使用。而子程序一般都不可以作為獨立的加工程序進行使用,它只能通過子程序來進行調用,實現加工中的局部動作。所謂的子程序就是指在編制加工程序時,有時會遇到一組程序段在一個程序中多次出現,或者在幾個不同程序中都要使用它,那么,這組程序段就稱為子程序。
主程序和子程序在程序段和程序內容兩個方面基本相同,而程序的結束標志有所不同。在主程序中用M02指令或M30指令來表示主程序結束;而子程序中則用M99指令表示子程序結束,并實現自動返回主程序的功能。另外,在編寫零件加工程序時,為了進一步簡化加工程序,可以允許一個子程序調用另一個子程序,這種編程功能稱為子程序嵌套。根據數控系統不同,則子程序的嵌套次數是不一樣的,在FANUC 0i數控系統當中,子程序一般可以嵌套4級。我們編寫的子程序必須在主程序結束指令后來建立,其作用相當于一個固定循環。
二、淺談子程序的應用
在數控加工編程中,子程序的應用非常廣泛。比如,在同一平面內,通過工件的一次裝夾來完成多個相同的輪廓形狀的工件,我們在編寫該零件的加工程序時就可以采用子程序的編程方式編寫零件的加工程序。再比如,加工中要實現零件的分層切削,在編程時就可以先編寫加工該輪廓的刀具軌跡子程序,然后通過子程序調用的方式來實現該零件的分層切削。另外,我們在數控車床上加工槽時,如果需要切削多個槽,并且每個槽的結構尺寸和形狀完全相同,那么我們在編寫該零件的加工程序時,就可以將某一個槽的加工程序作為子程序來進行編程,其它槽的加工通過子程序調用來實現,這樣可以簡化零件的加工程序,提高編程效率。
在FANUC系統中,子程序的調用可以通過輔助功能M98指令進行,并且在調用格式中將程序的程序號地址改為P。我們常用的子程序調用格式有兩種:
1.M98 P×××× L××××
在程序段中,P后面的四位數字表示子程序號,L后面的數字表示調用的次數,子程序號和調用次數前的0可以省略不寫。如果只調用一次,則L及后面的數字可以省略。例如:M98 P345 L8;表示調用子程序O0345,調用8次。
2.M98P××××××××
在程序段中,P后面的八位數字中,前四位表示調用的次數,后四位表示子程序名,調用次數前面的0可以省略不寫,但是子程序號前面的0不可省略。例如:M98 P230026;表示調用子程序O0026,調用23次。
需要注意的是,如果是在同一數控系統中,則兩種子程序調用格式不能混合使用。并且在每次調用子程序時,坐標系、刀具半徑補償值、坐標位置、切削用量等可根據具體情況進行改變。也可以對子程序進行鏡像、縮放、旋轉、拷貝等操作。
三、淺談子程序應用時的注意事項
在編寫子程序的過程中,最好采用增量坐標方式進行編程,這樣可以減少編程的錯誤,提高編程效率。在編程過程中需注意以下幾點:
1.注意主程序和子程序間絕對坐標G90和增量坐標G91代碼的變換。
2.刀具半徑補償模式在主程序及子程序中不能被分支執行。在編程過程中,應盡量避免編寫刀具半徑補償模式在主程序及子程序中被分支執行的程序。
3.如果編程時,在子程序的返回指令M99中加上Pn指令,則子程序在返回主程序時,將返回到主程序段中程序段段號為n的那個程序段,而不直接返回主程序。例如:M99 P30;則返回到程序段號為30的程序段開始執行。
4.M99指令也可以用于主程序最后程序段,執行程序時則程序將返回到主程序的開始程序段并繼續執行主程序,所以此程序將一直重復執行,除非按下RESET鍵才能中斷執行。
5.在子程序調用過程中,用M99 L××指令,可強制改變子程序重復執行的次數,其中L××表示子程序調用的次數。例如:如果主程序用M98P1234 L66,而子程序采用M99 L5返回,則子程序重復執行的次數為5次。
四、結束語
總之,采用子程序編程不僅可以簡化零件的加工程序,而且還可以減少重復性工作,提高編程效率。我們在編寫零件的加工程序時,需要正確合理的應用子程序功能。
參考文獻:
[1]陳洪濤主編.數控加工工藝與編程,北京:高等教育出版社, 2003
[2]沈建峰主編. 數控機床編程與操作:FANUC系統車床分冊,北京:中國勞動社會保障出版社,2008