原則上講,一個子程序的結(jié)構(gòu)與一個零件程序一樣。它由帶運(yùn)行指令和開關(guān)指令的 NC程序段組成。
從本質(zhì)上說,主程序與子程序沒有區(qū)別。子程序中包含了要多次運(yùn)行的工作過程或者工作步驟。
1、使用子程序
總是反復(fù)出現(xiàn)的加工步驟在子程序中僅編程一次。比如說某個確定的輪廓,它們總是反復(fù)出現(xiàn),或者是一個加工循環(huán)。
子程序可以在任意一個主程序中調(diào)用和執(zhí)行。
2、子程序結(jié)構(gòu)
子程序的結(jié)構(gòu)與主程序的結(jié)構(gòu)一樣,子程序用 M17結(jié)束程序。這就表示返回到所調(diào)用的程序界面。
3、以 RET結(jié)束子程序
在子程序中也可以編程指令 RET 代替 M17返回到程序調(diào)用處。
RET要求一個自身的程序段。 如果一個 G64軌跡控制運(yùn)行不要由于返回而中斷,則需要使用RET指令。這只有當(dāng)此子程序沒有 SAVE性能時才可以。
如果在一個獨(dú)立的程序段中編程 M17,則中斷G64 并產(chǎn)生準(zhǔn)停。
解決方法:
不要在一個子程序的程序段中單獨(dú)寫 M17,而是寫一個程序段帶有其它指令,比如運(yùn)行位移:G1 X=YY M17 必須通過機(jī)床數(shù)據(jù)設(shè)置:
“沒有M17來自 PLC”。