上海西門子S7-200SMART模塊代理價(jià)格

西門子S7-200 PLC的邏輯堆棧指令
邏輯堆棧指令用于語(yǔ)句表(STL)編程,使用梯形圖(LAD)、功能塊圖(FDB)編程時(shí),編輯器會(huì)自動(dòng)插入相關(guān)的指令處理堆棧操作。對(duì)復(fù)雜的邏輯關(guān)系進(jìn)行編程時(shí),要用到邏輯堆棧指令,包括ALD、OLD、LPS、LRD、LPP、LDS,均不需操作數(shù)。LPS和LPP必須配對(duì)使用且連續(xù)套用不得超過9次,而在它們之間可以多次使用LRD指令,合理運(yùn)用LPS、LRD、LPP指令可簡(jiǎn)化程序。
(1)棧裝載與(ALD,俗稱“塊與”)指令。ALD (Andload)指令表示兩個(gè)或兩個(gè)以上的觸點(diǎn)組的串聯(lián)編程,執(zhí)行ALD指令,將邏輯堆棧中的*層和第二層的值進(jìn)行邏輯與操作,結(jié)果放人棧頂(*層),并將堆棧中的第三層至第九層的值依次上彈一層(堆棧深度減1)。
(2)棧裝載或(OLD,俗稱“塊或”)指令。OLD (Or Load)指令表示兩個(gè)或兩個(gè)以上的觸點(diǎn)組的并聯(lián)編程,執(zhí)行OLD指令,將邏輯堆棧中的*層和第二層的值進(jìn)行邏輯或操作,結(jié)果放入棧頂(*層),并將堆棧中的第三層至第九層的值依次上彈一層。
棧裝載與( ALD)和棧裝載或(OLD)指令的操作過程。
(a)并聯(lián)電路串聯(lián)的編程;(b)串聯(lián)電路并聯(lián)的編程
(3)邏輯推人棧(LPS)指令。執(zhí)行LPS (Logic Push)邏輯推人棧指令,復(fù)制棧頂?shù)闹挡⑦@個(gè)值推人棧頂,原堆棧中各層棧值依次下壓一層,棧底值被推出而丟失。
(4)邏輯讀棧(LRD)指令。執(zhí)行LRD (Logic Read)邏輯讀棧指令,把堆棧中第二層的值復(fù)制到棧頂,堆棧沒有推人棧或彈出棧操作,但原來(lái)的棧頂值被新的復(fù)制值取代。
(5)邏輯彈出棧(LPP)指令。執(zhí)行LPP (Logic POP)邏輯彈出棧指令,堆棧做彈出棧操作,將棧頂?shù)闹祻棾?,原堆棧各?jí)棧值依次上彈一級(jí),堆棧第二級(jí)的值成為新的棧頂值。
(6)裝入堆棧(LDS)指令。執(zhí)行LDS (Load Stack)裝入堆棧指令,復(fù)制堆棧中的第n級(jí)的值到棧頂,原堆棧的各級(jí)棧值依次下壓一級(jí),棧底值丟失。
LPS、LRD、LPP、LDS指令的堆棧操作過程如圖3-10所示。
圖3-10 LPS、LRD、LPP、LDS指令的堆棧操作過程

幾個(gè)串聯(lián)支路并聯(lián)時(shí),其支路的起點(diǎn)以LD、LDN開始,支路終點(diǎn)用OLD指令;如需將多個(gè)支路并聯(lián),則從第二條支路開始,在每一條支路后面加OLD指令;幾個(gè)并聯(lián)支路串聯(lián)時(shí),其支路的起點(diǎn)也以LD、LDN開始,支路終點(diǎn)用ALD指令,如果有多個(gè)并聯(lián)支路串聯(lián),則順次以ALD指令與前面的支路連接,兩種指令的支路數(shù)均沒有限制。
置位/復(fù)位操作的梯形圖是由置位/復(fù)位線圈及其位地址、數(shù)目N構(gòu)成的。置位/復(fù)位操作的語(yǔ)句表是由置位/復(fù)位操作碼S或R及其位地址、數(shù)目N構(gòu)成的。
在梯形圖(LAD)或功能塊圖(FDB)中,只要“能流”到達(dá),就能執(zhí)行置位(N位)或復(fù)位(N位)指令,執(zhí)行置位或復(fù)位(N位)指令時(shí),從指令操作數(shù)( bit)的地址開始的N個(gè)點(diǎn)都被置位或復(fù)位且自保持,置位或復(fù)位后即使“能流”斷開,仍能保持置位或復(fù)位狀態(tài)。置位或復(fù)位點(diǎn)數(shù)N的范圍是1N 255。
在語(yǔ)句表( STL)中,當(dāng)邏輯堆棧棧頂值為1時(shí),才能執(zhí)行置位指令“S bit,N”或復(fù)位指令“R bit,N”,執(zhí)行置位或復(fù)位(N位)指令時(shí),從指令操作數(shù)(bit)的地址開始的N個(gè)點(diǎn)都置位或復(fù)位且自保持,置位或復(fù)位后即使能邏輯堆棧棧頂值變?yōu)?/span>0,仍能保持置位或復(fù)位狀態(tài)。
置位/復(fù)位指令為S/R (Set/Reset)。置位復(fù)位指令梯形圖、語(yǔ)句表及功能見表3-2。
表3-2 置位/復(fù)位指令梯形圖、語(yǔ)句表及功能

置位/復(fù)位指令的操作數(shù)范圍:
(1)置位/復(fù)位線圈bit:I、Q、M、SM、T、C、V、S、L(位)。
(2)置位/復(fù)位線圈數(shù)目N:VB、IB、QB、MB、SB、LB、AC、常數(shù)、*VD、*AC、*LD。
置位/復(fù)位指令說明:①置位或復(fù)位指令可用于電動(dòng)機(jī)的啟、??刂瞥绦?,如圖3-6所示;②觸點(diǎn)一旦被置位則保持接通狀態(tài),直到對(duì)其進(jìn)行復(fù)位操作為止,而觸點(diǎn)一旦被復(fù)位則變?yōu)閿嚅_狀態(tài),直到對(duì)其進(jìn)行置位操作為止;③如果用復(fù)位指令“Rbit,N”對(duì)定時(shí)器或計(jì)數(shù)器進(jìn)行復(fù)位操作,則被的T或C的位被復(fù)位,同時(shí)其當(dāng)前值被清零;④S、R指令可多次使用相同編號(hào)的各類觸點(diǎn),使用次數(shù)不限。

圖3-6 置位/復(fù)位指令的應(yīng)用程序段
當(dāng)執(zhí)行立即置位指令“SI bit,N”或立即復(fù)位指令“RI bit,N”時(shí),從指令操作數(shù)( bit)的地址開始的N個(gè)物理輸出點(diǎn)將被立即置位或立即復(fù)位且自保持;在語(yǔ)句表( STL)中,當(dāng)邏輯堆棧棧頂值為1時(shí),從指令操作數(shù)的地址開始的N個(gè)物理輸出點(diǎn)被立即置位且自保持,即使棧頂值變?yōu)?/span>0,繼續(xù)置位。直至執(zhí)行立即復(fù)位指令,才把從指令操作數(shù)的地址開始的N個(gè)物理輸出點(diǎn)立即復(fù)位且自保持,即使棧頂值變?yōu)?/span>0,也保持復(fù)位。數(shù)目N的范圍是1~128。圖3-7所示是立即置位/立即復(fù)位指令的應(yīng)用實(shí)例。

圖3-7 立即置位/立即復(fù)位指令的應(yīng)用實(shí)例
立即置位/立即復(fù)位操作的操作數(shù)范圍:
(1)立即置位/立即復(fù)位線圈bit:Q(位)。
(2)立即置位/立即復(fù)位線圈數(shù)目N:VB、IB、QB、MB、SB、LB、AC、常數(shù)、*VD、*AC、*LD。

順便提及RS、SR指令:①RS復(fù)位優(yōu)先鎖存器,當(dāng)置位信號(hào)和復(fù)位信號(hào)都有效時(shí),復(fù)位信號(hào)優(yōu)先,輸出線圈不接通;②SR置位優(yōu)先鎖存器,當(dāng)置位信號(hào)和復(fù)位信號(hào)都有效時(shí),置位信號(hào)優(yōu)先,輸出線圈接通。
邏輯或操作的梯形圖由標(biāo)準(zhǔn)觸點(diǎn)或立即觸點(diǎn)并聯(lián)構(gòu)成,并聯(lián)觸點(diǎn)的類型有動(dòng)合、動(dòng)斷、立即動(dòng)合、立即動(dòng)斷4種情況。邏輯或操作的語(yǔ)句表由操作碼和觸點(diǎn)的位地址bit構(gòu)成,操作碼為O (Or)、ON (Or Not)、OI( Or Immediately)、ONI (Or Not Immediately)分別表示并聯(lián)觸點(diǎn)類型依次為動(dòng)合、動(dòng)斷、立即動(dòng)合、立即動(dòng)斷。
(a)O的應(yīng)用;(b) ON的應(yīng)用;(c)OI的應(yīng)用;(d) ONI的應(yīng)用
邏輯或操作用于單個(gè)觸點(diǎn)的并聯(lián)連接,并聯(lián)的觸點(diǎn)狀態(tài)只要有一個(gè)是高電平就有輸出,而當(dāng)觸點(diǎn)狀態(tài)都是低電平時(shí)才無(wú)輸出,可以應(yīng)用于滿足條件之一就要求進(jìn)行某項(xiàng)操作的控制。例如水輪發(fā)電機(jī)組在一般事故停機(jī)同時(shí)導(dǎo)葉剪斷銷被剪斷或轉(zhuǎn)速上升至140%額定轉(zhuǎn)速兩個(gè)條件僅滿足其一時(shí),就要求機(jī)組進(jìn)行緊急事故停機(jī)。
在語(yǔ)句表中,O、ON、OI、ONI分別用于對(duì)表示動(dòng)合、動(dòng)斷、立即動(dòng)合、立即動(dòng)斷觸點(diǎn)的并聯(lián)編程。CPU執(zhí)行0指令,將操作數(shù)的位(bit)值同堆棧棧頂值相“或”,運(yùn)算結(jié)果仍然存入棧頂;CPU執(zhí)行ON指令,將操作數(shù)的位(bit)值取反后同堆棧棧頂值相“或”,運(yùn)算結(jié)果仍然存入棧頂;CPU執(zhí)行OI指令,立即把物理輸入點(diǎn)的位(bit)值同堆棧棧頂值相“或”,運(yùn)算結(jié)果仍然存人棧頂;CPU執(zhí)行ONI指令,立即把物理輸入點(diǎn)的位(bit)值取反后同堆棧棧頂值相“或”,運(yùn)算結(jié)果仍然存人棧頂。執(zhí)行O、ON、OI、ONI指令時(shí),堆棧沒有壓入和彈出操作。
邏輯或操作數(shù)范圍:I、Q、M、SM、T、C、V、S、L(位)。
應(yīng)該指出的是:①O、ON指令作為一個(gè)觸點(diǎn)的并聯(lián)連接指令,緊接在LD、LDN指令之后使用,即對(duì)其前面LD、LDN指令所的觸點(diǎn)再并聯(lián)觸點(diǎn);②O、ON指令可以連續(xù)使用進(jìn)行多重并聯(lián);③OI、ONI等立即指令不可盲目使用。

上海西門子S7-200SMART模塊代理價(jià)格