數控機牀數控系統的原則上講主程序和子程序之間並沒有區別。用於程序編寫經常重複進行的加工,比如某一確定的輪廓形狀。子程序位於主程序中適當的地方.在需要時進行調用、運行,可簡化程序編制。
程序結束除了用M2指令外,還可以用RET指令結束子程序。RET要求佔用一個單獨的程序段,不能和其他內容寫在同一行。用RET指令結束子程序、返回主程序時不會中斷G64連續路徑運行方式,用M2指令則會中斷G64運行方式.並進入停止狀態。
2.子程序名
爲了方便地調用某一子程序,必須給子程序取一個程序名。程序名可以自由選取,但必須符合以下規定:開始兩個符號必須是字母:其他符號爲字母或數字;最多16個字符;沒有分隔符。其方法與主程序中程序名的選取方法一樣。例如:FRAME7。另外,在子程序中還可以使用地址字L-,其後的值可以有7位數字(只能爲整數)。
注意:地址字L之後的每個零均有意義,不可省略。例如:L16並非L016!這是兩個不同的子程序。
註釋:子程序名L6專門用於刀具更換。
3.子程序調用
在一個程序中(主程序或子程序)可以直接用程序名調用子程序。子程序調用要求佔用一個獨立的程序段。
例如:
N20 L258:調用子程序L258
N30 LFRAME7:調用子程序LFRAM7
4.子程序重複調用次數p
如果要求多次連續地執行某一子程序,則在編程時必須在所調用子程序的程序名後地址P下寫入調用次數,址大次數可以爲9999,即P1-P9999。
例如:
Nl0L258 P3:調用子程序L258,運行3次
注意:西門子在調用子程序時,格式正好與FANUC系統相反,在FANCU系統中.如果調用第258號子程序,運行3次,則應是N10 P258 L30。