取指令與輸出指令(LD/LDI/LDP/LDF/OUT)
(1)LD(取指令) 一個常開觸點與左母線連接的指令,每一個以常開觸點開始的邏輯行都用此指令。
(2)LDI(取反指令) 一個常閉觸點與左母線連接指令,每一個以常閉觸點開始的邏輯行都用此指令。
(3)LDP(取上升沿指令) 與左母線連接的常開觸點的上升沿檢測指令,僅在指定位元件的上升沿(由OFF→ON)時接通一個掃描周期。
(4)LDF(取下降沿指令) 與左母線連接的常閉觸點的下降沿檢測指令。
(5)OUT(輸出指令) 對線圈進行驅動的指令,也稱為輸出指令。
取指令與輸出指令的使用說明:
1)LD、LDI指令既可用于輸入左母線相連的觸點,也可與ANB、ORB指令配合實現塊邏輯運算;
2)LDP、LDF指令僅在對應元件有效時維持一個掃描周期的接通。
3)LD、LDI、LDP、LDF指令的目標元件為X 、Y 、M 、T、C、S;
4)OUT指令可以連續使用若干次(相當于線圈并聯),對于定時器和計數器,在OUT指令之后應設置常數K或數據寄存器。
5)OUT指令目標元件為Y、M、T、C和S,但不能用于X。觸點串聯指令(AND/ANI/ANDP/ANDF)
a、AND(與指令) 一個常開觸點串聯連接指令,完成邏輯“與”運算。
b、ANI(與反指令) 一個常閉觸點串聯連接指令,完成邏輯“與非”運算。
c、ANDP 上升沿檢測串聯連接指令。
d、ANDF 下降沿檢測串聯連接指令。
觸點串聯指令的使用的使用說明:
1)AND、ANI、ANDP、ANDF都指是單個觸點串聯連接的指令,串聯次數沒有限制,可反復使用。
2)AND、ANI、ANDP、ANDF的目標元元件為X、Y、M、T、C和S。
3)OUT M101指令之后通過T1的觸點去驅動Y4稱為連續輸出。
觸點并聯指令(OR/ORI/ORP/ORF)
(1)OR(或指令) 用于單個常開觸點的并聯,實現邏輯“或”運算。
(2)ORI(或非指令) 用于單個常閉觸點的并聯,實現邏輯“或非”運算。
(3)ORP 上升沿檢測并聯連接指令。
(4)ORF 下降沿檢測并聯連接指令。
觸點并聯指令的使用說明:
1)OR、ORI、ORP、ORF指令都是指單個觸點的并聯,并聯觸點的左端接到LD、LDI、LDP或LPF處,右端與前一條指令對應觸點的右端相連。觸點并聯指令連續使用的次數不限;
2)OR、ORI、ORP、ORF指令的目標元件為X、Y、M、T、C、S。塊操作指令(ORB / ANB)
(1)ORB(塊或指令) 用于兩個或兩個以上的觸點串聯連接的電路之間的并聯。
ORB指令的使用說明:
1)幾個串聯電路塊并聯連接時,每個串聯電路塊開始時應該用LD或LDI指令;
2)有多個電路塊并聯回路,如對每個電路塊使用ORB指令,則并聯的電路塊數量沒有限制;
3)ORB指令也可以連續使用,但這種程序寫法不推薦使用,LD或LDI指令的使用次數不得超過8次,也就是ORB只能連續使用8次以下。
(2)ANB(塊與指令) 用于兩個或兩個以上觸點并聯連接的電路之間的串聯。
ANB指令的使用說明:
1)并聯電路塊串聯連接時,并聯電路塊的開始均用LD或LDI指令;
2)多個并聯回路塊連接按順序和前面的回路串聯時,ANB指令的使用次數沒有限制。也可連續使用ANB,但與ORB一樣,使用次數在8次以下。
置位與復位指令(SET/RST)
(1)SET(置位指令) 它的作用是使被操作的目標元件置位并保持。
(2)RST(復位指令) 使被操作的目標元件復位并保持清零狀態。SET、RST指令的使用,當X0常開接通時,Y0變為ON狀態并一直保持該狀態,即使X0斷開Y0的ON狀態仍維持不變;只有當X1的常開閉合時,Y0才變為OFF狀態并保持,即使X1常開斷開,Y0也仍為OFF狀態。
SET 、RST指令的使用說明:
1)SET指令的目標元件為Y、M、S,RST指令的目標元件為Y、M、S、T、C、D、V 、Z。RST指令常被用來對D、Z、V的內容清零,還用來復位積算定時器和計數器。
2)對于同一目標元件,SET、RST可多次使用,順序也可隨意,但最后執行者有效。微分指令(PLS/PLF)
(1)PLS(上升沿微分指令) 在輸入信號上升沿產生一個掃描周期的脈沖輸出。
(2)PLF(下降沿微分指令) 在輸入信號下降沿產生一個掃描周期的脈沖輸出。
利用微分指令檢測到信號的邊沿,通過置位和復位命令控制Y0的狀態。
PLS、PLF指令的使用說明:
1)PLS、PLF指令的目標元件為Y和M;
2)使用PLS時,僅在驅動輸入為ON后的一個掃描周期內目標元件ON,M0僅在X0的常開觸點由斷到通時的一個掃描周期內為ON;使用PLF指令時只是利用輸入信號的下降沿驅動,其它與PLS相同。
主控指令(MC/MCR)
(1)MC(主控指令) 用于公共串聯觸點的連接。執行MC后,左母線移到MC觸點的后面。
(2)MCR(主控復位指令) 它是MC指令的復位指令,即利用MCR指令恢復原左母線的位置。
在編程時常會出現這樣的情況,多個線圈同時受一個或一組觸點控制,如果在每個線圈的控制電路中都串入同樣的觸點,將占用很多存儲單元,使用主控指令就可以解決這一問題。
MC、MCR指令,利用MC N0 M100實現左母線右移,使Y0、Y1都在X0的控制之下,其中N0表示嵌套等級,在無嵌套結構中N0的使用次數無限制;利用MCR N0恢復到原左母線狀態。如果X0斷開則會跳過MC、MCR之間的指令向下執行。
MC、MCR指令的使用說明:
1)MC、MCR指令的目標元件為Y和M,但不能用特殊輔助繼電器。MC占3個程序步,MCR占2個程序步;
2)主控觸點在梯形圖中與一般觸點垂直。主控觸點是與左母線相連的常開觸點,是控制一組電路的總開關。與主控觸點相連的觸點必須用LD或LDI指令。
3)MC指令的輸入觸點斷開時,在MC和MCR之內的積算定時器、計數器、用復位/置位指令驅動的元件保持其之前的狀態不變。非積算定時器和計數器,用OUT指令驅動的元件將復位,22中當X0斷開,Y0和Y1即變為OFF。
4)在一個MC指令區內若再使用MC指令稱為嵌套。嵌套級數最多為8級,編號按N0→N1→N2→N3→N4→N5→N6→N7順序增大,每級的返回用對應的MCR指令,從編號大的嵌套級開始復位。堆棧指令(MPS/MRD/MPP)
堆棧指令是FX系列中新增的基本指令,用于多重輸出電路,為編程帶來便利。在FX系列PLC中有11個存儲單元,它們專門用來存儲程序運算的中間結果,被稱為棧存儲器。
a、MPS(進棧指令) 將運算結果送入棧存儲器的第一段,同時將先前送入的數據依次移到棧的下一段。
b、MRD(讀棧指令) 將棧存儲器的第一段數據(最后進棧的數據)讀出且該數據繼續保存在棧存儲器的第一段,棧內的數據不發生移動。
c、MPP(出棧指令) 將棧存儲器的第一段數據(最后進棧的數據)讀出且該數據從棧中消失,同時將棧中其它數據依次上移。
堆棧指令的使用說明:
1)堆棧指令沒有目標元件;
2)MPS和MPP必須配對使用;
3)由于棧存儲單元只有11個,所以棧的層次最多11層。
邏輯反、空操作與結束指令(INV/NOP/END)
a、INV(反指令) 執行該指令后將原來的運算結果取反。反指令的使用如圖10所示,如果X0斷開,則Y0為ON,否則Y0為OFF。使用時應注意INV不能象指令表的LD、LDI、LDP、LDF那樣與母線連接,也不能象指令表中的OR、ORI、ORP、ORF指令那樣單獨使用。
b、NOP(空操作指令) 不執行操作,但占一個程序步。執行NOP時并不做任何事,有時可用NOP指令短接某些觸點或用NOP指令將不要的指令覆蓋。當PLC執行了清除用戶存儲器操作后,用戶存儲器的內容全部變為空操作指令。
c、END(結束指令) 表示程序結束。若程序的最后不寫END指令,則PLC不管實際用戶程序多長,都從用戶程序存儲器的第一步執行到最后一步;若有END指令,當掃描到END時,則結束執行程序,這樣可以縮短掃描周期。在程序調試時,可在程序中插入若干END指令,將程序劃分若干段,在確定前面程序段無誤后,依次刪除END指令,直至調試結束。
1.步進指令(STL/RET)
步進指令是專為順序控制而設計的指令。在工業控制領域許多的控制過程都可用順序控制的方式來實現,使用步進指令實現順序控制既方便實現又便于閱讀修改。
FX2N中有兩條步進指令:STL(步進觸點指令)和RET(步進返回指令)。
STL和RET指令只有與狀態器S配合才能具有步進功能。如STL S200表示狀態常開觸點,稱為STL觸點,它在梯形圖中的符號為-|| ||- ,它沒有常閉觸點。我們用每個狀態器S記錄一個工步,例STL S200有效(為ON),則進入S200表示的一步(類似于本步的總開關),開始執行本階段該做的工作,并判斷進入下一步的條件是否滿足。一旦結束本步信號為ON,則關斷S200進入下一步,如S201步。RET指令是用來復位STL指令的。執行RET后將重回母線,退出步進狀態。
2.狀態轉移圖
一個順序控制過程可分為若干個階段,也稱為步或狀態,每個狀態都有不同的動作。當相鄰兩狀態之間的轉換條件得到滿足時,就將實現轉換,即由上一個狀態轉換到下一個狀態執行。我們常用狀態轉移圖(功能表圖)描述這種順序控制過程。用狀態器S記錄每個狀態,X為轉換條件。如當X1為ON時,則系統由S20狀態轉為S21狀態。
狀態轉移圖中的每一步包含三個內容:本步驅動的內容,轉移條件及指令的轉換目標。
步驅動Y0,當X1有效為ON時,則系統由S20狀態轉為S21狀態,X1即為轉換條件,轉換的目標為S21步。
3.步進指令的使用說明
1)STL觸點是與左側母線相連的常開觸點,某STL觸點接通,則對應的狀態為活動步;
2)與STL觸點相連的觸點應用LD或LDI指令,只有執行完RET后才返回左側母線;3)STL觸點可直接驅動或通過別的觸點驅動Y、M、S、T等元件的線圈;
4)由于PLC只執行活動步對應的電路塊,所以使用STL指令時允許雙線圈輸出(順控程序在不同的步可多次驅動同一線圈);
5) STL觸點驅動的電路塊中不能使用MC和MCR指令,但可以用CJ指令;6)在中斷程序和子程序內,不能使用STL指令。