歡迎來(lái)到海藍(lán)智能科技有限公司!
1.子程序的定義
在編加工程序中,有時(shí)會(huì)遇到一組程序段在-個(gè)程序中多次出現(xiàn),或者在幾個(gè)程序中都要使用它。這個(gè)典型的加工程序可以做成固定程序,并單獨(dú)加以命名,這組程序段就稱為子程序。
2.使用子程序的目的和作用
使用子程序可以減少不必要的編程重復(fù),從而達(dá)到減化編程的目的。主程序可以調(diào)用子程序,一個(gè)子程序也可以調(diào)用下一級(jí)的子程序。子程序必須在主程序結(jié)束指令后建立,其作用相當(dāng)于一個(gè)固定循環(huán)。
3.子程序的調(diào)用
在主程序中,調(diào)用子程序的指令是一個(gè)程序段,其格式隨具體的數(shù)控系統(tǒng)而定,F(xiàn)ANUC-6T系統(tǒng)子程序調(diào)用格式為
P--L--
式中--子程序調(diào)用字;
p--子程序號(hào);
L--子程序重復(fù)調(diào)用次數(shù)。
由此可見,子程序由程序調(diào)用字、子程序號(hào)和調(diào)用次數(shù)組成。
4.子程序的返回
子程序返回主程序用指令,它表示子程序運(yùn)行結(jié)束,請(qǐng)返回到主程序。
5.子程序的嵌套子程序調(diào)用下一級(jí)子程序稱為嵌套。上一級(jí)子程序與下一級(jí)于程序的關(guān)系,與主程序與第一層子程序的關(guān)系相同。子程序可以嵌套多少層由具體的數(shù)控系統(tǒng)決定,在FANUC-6T系統(tǒng)中,只能有兩次嵌套。
子程序調(diào)用指令CALL的編號(hào)為。操作數(shù)為P0~,此指令占用3個(gè)程序步。
子程序返回指令SRET的編號(hào)為。無(wú)操作數(shù),占用1個(gè)程序步。
如圖1所示,如果X0接通,則轉(zhuǎn)到標(biāo)號(hào)處去執(zhí)行子程序。當(dāng)執(zhí)行SRET指令時(shí),返回到CALL指令的下一步執(zhí)行。
圖1子程序調(diào)用與返回指令的使用
使用子程序調(diào)用與返回指令時(shí)應(yīng)注意:
1)轉(zhuǎn)移標(biāo)號(hào)不能重復(fù),也不可與跳轉(zhuǎn)指令的標(biāo)號(hào)重復(fù);
2)子程序可以嵌套調(diào)用,最多可5級(jí)嵌套。
在上面已經(jīng)說(shuō)明如何放置子程序,放在最后面。如果有多個(gè)子程序,有P0,P1,---只能最多63個(gè)個(gè),如果使用GX
Developer
的話,直接在一行的最左邊輸入“P0”即可。
主程序是指PLC主要正常運(yùn)行就不受其他程序段影響其掃描的程序段,就是說(shuō)主程序只要在PLC正常的時(shí)候就是一直執(zhí)行每次都掃描的,除非有中斷程序發(fā)生。
子程序就是受主程序調(diào)用的程序,只有主程序里的邏輯允許子程序運(yùn)行時(shí),子程序才能運(yùn)行,但是子程序就涉及一個(gè)信號(hào)保持的問(wèn)題,所以在涉及子程序時(shí)一定要注意在主程序里對(duì)某些關(guān)鍵數(shù)據(jù)和關(guān)鍵信號(hào)輸出的復(fù)位,否則子程序停了,某些數(shù)據(jù)和輸出還會(huì)保持。