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