PLC邏輯運(yùn)算指令
發(fā)布于2022-12-22 11:00
47
2
標(biāo)簽:plc運(yùn)算
①邏輯運(yùn)算指令
由于編程軟件的不同,S7-200與S7-300/400系列PLC用于梯形圖編程的指令有所區(qū)別,具體情況如表3-12所示。表中有部分指令為非通用,只能在S7-200 中使用(或只能在S7-300/400中使用)。
②邏輯運(yùn)算指令說明
a.觸點(diǎn)裝載指令。在S7-200PLC中,與其他公司的PLC一樣,對于與梯形圖的母線相連接的開始觸點(diǎn),需要采用觸點(diǎn)裝載指令LD作為開始。但是,在S7-300/400中,則是直接以邏輯運(yùn)算指令代替觸點(diǎn)裝載指令,見圖3-29(a)。
【例3-21】 對于如圖3-29(a)所示的梯形圖,在S7-200中的指令表程序如圖3-29(b)所示,而在S7-300/400中的指令表程序如圖3-29(c)所示。
b.括號的使用。與數(shù)學(xué)運(yùn)算一樣,在S7-300/400PLC中,邏輯運(yùn)算遵守“先與后或”的原則進(jìn)行。因此,對于需要先進(jìn)行“或”運(yùn)算的場合,需要通過括號來調(diào)整運(yùn)算的先后次序,括號的意義與數(shù)學(xué)運(yùn)算相同。在PLC編程時(shí),對于左括號"(",應(yīng)緊跟邏輯指令代碼之后,如"A("、"O("等;右括號應(yīng)單獨(dú)作為一個(gè)指令行,參見例3-29(c)中S7-300/400中的指令表程序。
c.“異或”與“同或”指令。當(dāng)需要對兩個(gè)信號進(jìn)行“異或”或者“同或”運(yùn)算時(shí),在S7-300/400 PLC中可以直接使用“異或”與“同或”指令。
【例3-22】 對于如圖3-30(a)所示的梯形圖,在S7-200中由于沒有"異或"、"同或"指令,編程時(shí)只能使用"堆棧"操作指令"OLD"實(shí)現(xiàn),指令表程序如圖3-30(b)所示;但在S7-300/400中則可以直接使用“異或”、“同或”指令實(shí)現(xiàn),指令表程序如圖3-30(c)所示。
d.結(jié)果“置位”、“清除”、“保存”指令。在S7-300/400 PLC中,可以利用指令SET、CLR、SAVE直接對當(dāng)前的邏輯運(yùn)算結(jié)果進(jìn)行置位、復(fù)位與保存操作。
為了可靠地檢測、保存、記憶S7程序中的邏輯運(yùn)算、數(shù)學(xué)運(yùn)算指令的執(zhí)行結(jié)果狀態(tài),在S7-3M/400PLC中,設(shè)有一個(gè)專用的16位狀態(tài)寄存器。狀態(tài)寄存器中有2個(gè)狀態(tài)位與邏輯指令的結(jié)果有關(guān)。
(a)RLO位。RLO位稱為"邏輯運(yùn)算結(jié)果"狀態(tài)位,用于存放邏輯運(yùn)算、邏輯比較指令的執(zhí)行結(jié)果。
(b)BR位。BR位稱為“布爾運(yùn)算結(jié)果”狀態(tài)位。當(dāng)處理的程序段中既有位邏輯運(yùn)算,又有字邏輯運(yùn)算時(shí),BR用于存放字邏輯運(yùn)算指令的執(zhí)行狀況。當(dāng)“字邏輯”運(yùn)算指令被正確執(zhí)行時(shí),該位為"1",否則為"0"。
不論前面的執(zhí)行情況如何,都可以通過指令SET與CLR指令,無條件將PLC的邏輯指令執(zhí)行結(jié)果狀態(tài)寄存器的RLO位直接設(shè)置成“1”或“0”。通過指令SAVE指令,則可以將RLO位的狀態(tài)寫人到BR中。