西門子邏輯運算指令 西門子plc位邏輯運算指令

2021-10-17 01:25:07 字數 1538 閱讀 7107

位邏輯運算指令是「與」(and)、「或」(or)、「異或」(xor)指令及其組合。它對「0」或「1」這些布林運算元進行掃瞄,經邏輯運算後將邏輯操作結果送入狀態字的rlo位。

1)「與」(a)和「與非」(an)指令

邏輯「與」在梯形圖中是用串聯的觸點迴路表示的,被掃瞄的運算元則表示為觸點符號,運算元標在觸點上方。如果觸點是常開觸點(動合觸點),則對「1」掃瞄相應運算元。在plc中規定:若運算元是「1」,則常開觸點「動作」,即認為是「閉合」的;若運算元是「0」,則常開觸點「不動作」,即觸點仍然開啟。如果觸點是常閉觸點(動斷觸點),則對「0」掃瞄相應運算元。在plc中規定:若運算元是「1」,則常閉觸點「動作」,即觸點「斷開」;若運算元是「0」,則常閉觸點「不動作」,即觸點仍保持閉合。

如果串聯迴路中的所有觸點皆閉合,則該迴路就「通電」了。在圖0中,如果所有觸點閉合,即當輸入10.0和輸出q4.1的訊號狀態都是「1」(觸點閉合),且位儲存器m10.1為「0」(該觸點仍保持原閉合位置)時,輸出q4.0才為「1」;如果有乙個或多個觸點是開啟的,則輸出q4.0的訊號狀態就為「0」(繼電器觸點開啟)。

圖0 a和an指令

圖0右部為該梯形圖的語句表,在語句表中,運算元是被依次掃瞄的,其掃瞄的結果再進行邏輯「與」運算。對訊號狀態進行「1」掃瞄,並做邏輯「與」運算,則用助記符「a」來標識,相關的運算元指定了要掃瞄的物件。當運算元的訊號狀態是「1」時,其掃瞄結果也是「1」;如果運算元的訊號狀態是「0」,則掃瞄結果也是「0」。對訊號狀態進行「0」掃瞄,並做邏輯「與」運算,則用助記符an來標識取反的「與」邏輯操作。當運算元的訊號狀態是「0」時,其掃瞄結果就是「1」;如果運算元的訊號狀態是「1」,則掃瞄結果為「0」。

在第一條語句中,cpu掃瞄的是輸入10.01,本次掃瞄也被稱為首次掃瞄。首次掃瞄的結果被直接儲存在rlo(邏輯操作結果)中,在下一條語句中,掃瞄運算元輸出q4.1,這次掃瞄的結果和rlo中儲存的上一次結果相「與」,產生的新結果再存入rlo。如此逐一進行,在邏輯序列結束處的rlo可用作進一步處理,如用來激勵乙個輸出訊號。在上面的語句表中,把rlo的值賦給輸出q4.0(=q4.0)。

2)「或」(o)和「或非」(on)指令

邏輯「或」在梯形圖中是用併聯的觸點迴路表示的,被掃瞄的運算元標在觸點上方。在觸點併聯的情況下,若有乙個或乙個以上的觸點閉合,則該迴路就「通電」。在圖1中,驅動訊號通過併聯觸點迴路加到輸出q4.0。只要有乙個觸點閉合,輸出q4.0的訊號狀態就為「1」,如果所有的觸點都是開啟的,則輸出q4.0就為「0」。

圖1 o和on指令

當邏輯串是複雜組合時,cpu的掃瞄順序是先「與」後「或」。圖2中左圖和右圖分別是觸點先並後串和先串後並的例子。

圖2 觸點組的串、併聯

3)「異或」(x)和「異或非」(xn)指令

「異或」(x)和「異或非」(xn)指令類似於「或」和「或非」指令,用於掃瞄併聯迴路能否「通電」。

圖3中,僅當兩個觸點(輸入i1.0和輸入i1.1)的掃瞄結果不同,即只有乙個為「1」時,rlo才為「1」,並賦值給輸出,使q4.0為「1」。若兩個訊號的掃瞄結果相同(均為「1」或「0」),則q4.0為「0」。與o和on比較,x和xn排除了兩個訊號掃瞄結果為「1」時使輸出為「1」的可能性。

圖3 x和xn指令

西門子邏輯運算指令 西門子PLC邏輯運算指令

西門子s7系列plc邏輯運算指令下所示。位元組邏輯運算指令 andb in1,out 將位元組in1和out按位作邏輯與運算,out輸出結果 in1,in2,out vb,ib,qb,mb,sb,smb,lb,ac,vd,ac,ld in1和in2還可以是常數 orb in1,out 將位元組in1...

西門子atch指令詳解 西門子plc指令詳解

1 ld load 裝載 動合觸點 2 ldn load not 不裝載 動斷觸點 3 a and 與 動合 用於動合觸點串聯 4 an and not 與 動斷 用於動斷觸點串聯 5 o or 或 動合 用於動合觸點併聯 6 on or not 或 動斷 用於動斷觸點併聯 7 out 輸出 用於線...

西門子邏輯運算指令 基本邏輯運算

and是與指令,相同位都為1結果才是1,與你所說的串聯是同樣的意思 or是或指令,相同位有乙個1結果就為1,也就是併聯,不矛盾啊。回答者 2020 01 08 08 25 39 看下面截圖對這三者的介紹,你可以開啟程式設計軟體後按f1鍵去檢視這些指令的解釋。回答者 siemens automatio...