1、進入子程序請使用CALL指令,即是FUN67指令,在子程序中要使用標簽:LBL指令即FUN65,子程序段結(jié)束后請使用RTS指令,即FUN68子程序返回指令。
2、使用中斷方式,中斷方式只要在對應(yīng)的中斷名稱后,加有“I”作為中斷子程序標簽,例如,做X上升沿中斷輸入,X上升沿中斷號為”;;X1+,那么對應(yīng)的中斷標簽即為:X1I,所以在子程序中用FUN65:LBL指令 指定為:LBL X1I 從此標簽開始即為X1輸入中斷子程序。中斷子程序末尾,使用FUN69:RTI 中斷子程序返回表示結(jié)束。
子程序調(diào)用指令CALL的編號為FNC01。操作數(shù)為P0~P127,此指令占用3個程序步。
子程序返回指令SRET的編號為FNC02。無操作數(shù),占用1個程序步。
如圖1所示,如果X0接通,則轉(zhuǎn)到標號P10處去執(zhí)行子程序。當執(zhí)行SRET指令時,返回到CALL指令的下一步執(zhí)行。
圖1 子程序調(diào)用與返回指令的使用 使用子程序調(diào)用與返回指令時應(yīng)注意:
1)轉(zhuǎn)移標號不能重復(fù),也不可與跳轉(zhuǎn)指令的標號重復(fù); 2)子程序可以嵌套調(diào)用,最多可5級嵌套
注:
FEND 是主程序結(jié)束指令,END 是所有程序結(jié)束的指令。
FEND之后,還會執(zhí)行子程序和中斷程序,前提是有調(diào)用子程序或有中斷。
plc停止子程序PLC200怎樣讓正在運行的程序暫停,直到去掉暫停信號,接著運行后面的步驟。
其實有個小技巧可以達到達到你的功能,把程序?qū)懙阶映绦蚶锩?,在MAIN調(diào)用時加一個暫停條件,需要暫停就停止調(diào)用,要恢復(fù)時就恢復(fù)調(diào)用!
加一個你沒有用過的位地址在前端。強制1或0。。需要斷電保持的可以用V地址。若是不想用電腦強制,可以用一個PLC的DI點,如備用點I5.2,,將它添加到需要暫停的前端,,就可以外部控制了。類似急停按鈕!
將你的程序分成幾個階段,使用標志位M來區(qū)分
比如 M0.0 - M0.7 就可以表示8個階段
每次上電時 因為M0.0-M0.7是可以斷電保持的。所以只要判斷一下標志位的狀態(tài)即可恢復(fù)斷電前得工作
如果你停止調(diào)用子程序,在你主程序中沒有涉及到任何這個子程序的內(nèi)容,這個子程序的內(nèi)容在你下一次調(diào)用前,或者PLC重新啟動前,這些內(nèi)容都是保持的。