1)MC(主控指令) 用于公共串聯(lián)觸點(diǎn)的連接。執(zhí)行MC后,左母線移到MC觸點(diǎn)的后面。
2)MCR(主控復(fù)位指令) 它是MC指令的復(fù)位指令,即利用MCR指令恢復(fù)原左母線的位置。
在編程時(shí)常會出現(xiàn)這樣的情況,多個(gè)線圈同時(shí)受一個(gè)或一組觸點(diǎn)控制,如果在每個(gè)線圈的控制電路中都串入同樣的觸點(diǎn),將占用很多存儲單元,使用主控指令就可以解決這一問題。
MC、MCR指令利用MC N0 M100實(shí)現(xiàn)左母線右移,使Y0、Y1都在X0的控制之下,其中N0表示嵌套等級,在無嵌套結(jié)構(gòu)中N0的使用次數(shù)無限制;利用MCR N0恢復(fù)到原左母線狀態(tài)。如果X0斷開則會跳過MC、MCR之間的指令向下執(zhí)行。
MC、MCR指令的使用說明:
1)MC、MCR指令的目標(biāo)元件為Y和M,但不能用特殊輔助繼電器。MC占3個(gè)程序步,MCR占2個(gè)程序步;
2)主控觸點(diǎn)在梯形圖中與一般觸點(diǎn)垂直。主控觸點(diǎn)是與左母線相連的常開觸點(diǎn),是控制一組電路的總開關(guān)。與主控觸點(diǎn)相連的觸點(diǎn)必須用LD或LDI指令。
3)MC指令的輸入觸點(diǎn)斷開時(shí),在MC和MCR之內(nèi)的積算定時(shí)器、計(jì)數(shù)器、用復(fù)位/置位指令驅(qū)動的元件保持其之前的狀態(tài)不變。非積算定時(shí)器和計(jì)數(shù)器,用OUT指令驅(qū)動的元件將復(fù)位,22中當(dāng)X0斷開,Y0和Y1即變?yōu)镺FF。
4)在一個(gè)MC指令區(qū)內(nèi)若再使用MC指令稱為嵌套。嵌套級數(shù)最多為8級,編號按N0→N1→N2→N3→N4→N5→N6→N7順序增大,每級的返回用對應(yīng)的MCR指令,從編號大的嵌套級開始復(fù)位。
堆棧指令(MPS/MRD/MPP)
堆棧指令是FX系列中新增的基本指令,用于多重輸出電路,為編程帶來便利。在FX系列PLC中有11個(gè)存儲單元,它們專門用來存儲程序運(yùn)算的中間結(jié)果,被稱為棧存儲器。
(1)MPS(進(jìn)棧指令) 將運(yùn)算結(jié)果送入棧存儲器的第一段,同時(shí)將先前送入的數(shù)據(jù)依次移到棧的下一段。
(2)MRD(讀棧指令) 將棧存儲器的第一段數(shù)據(jù)(最后進(jìn)棧的數(shù)據(jù))讀出且該數(shù)據(jù)繼續(xù)保存在棧存儲器的第一段,棧內(nèi)的數(shù)據(jù)不發(fā)生移動。
(3)MPP(出棧指令) 將棧存儲器的第一段數(shù)據(jù)(最后進(jìn)棧的數(shù)據(jù))讀出且該數(shù)據(jù)從棧中消失,同時(shí)將棧中其它數(shù)據(jù)依次上移。
堆棧指令的使用說明:
1)堆棧指令沒有目標(biāo)元件;
2)MPS和MPP必須配對使用;
3)由于棧存儲單元只有11個(gè),所以棧的層次最多11層。
邏輯反、空操作與結(jié)束指令(INV/NOP/END)
1)INV(反指令) 執(zhí)行該指令后將原來的運(yùn)算結(jié)果取反。反指令的使用如圖10所示,如果X0斷開,則Y0為ON,否則Y0為OFF。使用時(shí)應(yīng)注意INV不能象指令表的LD、LDI、LDP、LDF那樣與母線連接,也不能象指令表中的OR、ORI、ORP、ORF指令那樣單獨(dú)使用。
2)NOP(空操作指令) 不執(zhí)行操作,但占一個(gè)程序步。執(zhí)行NOP時(shí)并不做任何事,有時(shí)可用NOP指令短接某些觸點(diǎn)或用NOP指令將不要的指令覆蓋。當(dāng)PLC執(zhí)行了清除用戶存儲器操作后,用戶存儲器的內(nèi)容全部變?yōu)榭詹僮髦噶睢?
3)END(結(jié)束指令) 表示程序結(jié)束。若程序的最后不寫END指令,則PLC不管實(shí)際用戶程序多長,都從用戶程序存儲器的第一步執(zhí)行到最后一步;若有END指令,當(dāng)掃描到END時(shí),則結(jié)束執(zhí)行程序,這樣可以縮短掃描周期。在程序調(diào)試時(shí),可在程序中插入若干END指令,將程序劃分若干段,在確定前面程序段無誤后,依次刪除END指令,直至調(diào)試結(jié)束。