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