歡迎來到海藍(lán)智能科技有限公司!
三菱PLC子程序調(diào)用
在主程序完成前調(diào)用子程序CALL,主程序結(jié)束FEND;在接下去的可在左母線的左空位置設(shè)置子程序標(biāo)號,作為子程序的入口,在子程序的結(jié)尾使用SRET;
什么是三菱PLC主程序和子程序?
主程序是指PLC主要正常運(yùn)行就不受其他程序段影響其掃描的程序段,就是說主程序只要在PLC正常的時(shí)候就是一直執(zhí)行每次都掃描的,除非有中斷程序發(fā)生。
子程序就是受主程序調(diào)用的程序,只有主程序里的邏輯允許子程序運(yùn)行時(shí),子程序才能運(yùn)行,但是子程序就涉及一個(gè)信號保持的問題,所以在涉及子程序時(shí)一定要注意在主程序里對某些關(guān)鍵數(shù)據(jù)和關(guān)鍵信號輸出的復(fù)位,否則子程序停了,某些數(shù)據(jù)和輸出還會(huì)保持。
寫完主程序,在最后一句寫上FEND
接下來在左母線寫下P幾
記得每個(gè)P結(jié)束后都要寫上SRET才能繼續(xù)寫下一個(gè)子程序或者END
至于跳轉(zhuǎn)到子程序,只需要在主程序里用CALL指令,注意,這個(gè)指令的內(nèi)容如果斷電,子程序就會(huì)馬上斷電。
三菱PLC子程序怎么調(diào)用
CallPxxx
xxx范圍應(yīng)該是0-
子程序第一行母線左邊輸入子程序號Pxxx.
結(jié)束返回用SRET
關(guān)于三菱PLC子程序的問題
什么時(shí)候復(fù)位呢?從程序上看,也只能調(diào)用一次啊,而且調(diào)用一次后要清子程序中寄存器的狀態(tài)
子程序調(diào)用指令CALL的編號為。操作數(shù)為P0~,此指令占用3個(gè)程序步。
子程序返回指令SRET的編號為。無操作數(shù),占用1個(gè)程序步。
如圖1所示,如果X0接通,則轉(zhuǎn)到標(biāo)號處去執(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級嵌套。
在上面已經(jīng)說明如何放置子程序,放在最后面。如果有多個(gè)子程序,有P0,P1,---只能最多63個(gè)個(gè),如果使用GX
Developer的話,直接在一行的最左邊輸入“P0”即可。