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