三菱PLC邏輯運(yùn)算指令的介紹
肖菲
發(fā)布于2024-01-24 17:28
395
5
標(biāo)簽:PLC,三菱PLC,PLC邏輯運(yùn)算指令
今天這篇文章繼續(xù)講一下三菱FX 5U PLC的一些功能指令,今天就講一下邏輯運(yùn)算指令吧,三菱FX 5U PLC的邏輯運(yùn)算指令包括邏輯與指令WAND、邏輯或指令WOR、邏輯異或指令WXOR,這些指令可能你都在3U或其他系列指令中見過,除此之外,還有邏輯異或非指令WXNR、塊數(shù)據(jù)邏輯與BKAND、塊數(shù)據(jù)邏輯或BKOR、塊數(shù)據(jù)邏輯異或BKXOR、塊數(shù)據(jù)邏輯異或非BKXNR,下面我們就分別介紹一下這些指令吧。(更多PLC課程免費(fèi)看)
邏輯與WAND、邏輯或WOR、邏輯異或WXOR
邏輯與WAND:對兩個(gè)輸入數(shù)值的對應(yīng)位執(zhí)行“與”運(yùn)算操作。兩個(gè)位同為1時(shí)結(jié)果為1,其余為0。
邏輯或WOR:對兩個(gè)輸入數(shù)值的對應(yīng)位執(zhí)行“或”運(yùn)算操作。兩個(gè)位中只要有一個(gè)位為1,其結(jié)果就為1。
邏輯異或WXOR:指令對兩個(gè)輸入數(shù)值的對應(yīng)位執(zhí)行“異或”運(yùn)算操作。兩個(gè)位相同為0,相異為1。即用“異或1”則置反,用“異或0”則保留。
下圖的程序中WAND H0000 D0 D0 是對D0清零,WAND H00FF D10 D20是取D10的低8位存D20,WAND H0010 D30 K4M0是取D30的b4位送M4,WOR HFFFF D40 D40是對D40全置1,WOR HFFDF D50 K4M20是取D50的b5位送M25,WXOR H8000 D60 K4M40是D60是正數(shù),M55為1;D60是負(fù)數(shù),M55為0。

邏輯異或非WXNR
邏輯異或非WXNR:指令對兩個(gè)輸入數(shù)值的對應(yīng)位執(zhí)行“異或非”運(yùn)算操作。兩個(gè)位相同為1,相異為0。

從上圖的程序可以看出,D4和D5的二進(jìn)制位是相反的,也就是說WXNR和WXOR其實(shí)是相反的功能,WXOR是兩個(gè)位相同為0,相異為1,WXNR是兩個(gè)位相同為1,相異為0,而DXNR是32位的邏輯異或非指令。
塊數(shù)據(jù)邏輯與BKAND/或BKOR/異或BKXOR/異或非指令BKXNR
這些指令是對s1中指定的軟元件開始的n點(diǎn)的內(nèi)容與s2中指定的軟元件開始的n點(diǎn)的內(nèi)容進(jìn)行邏輯與/或/異或/異或非運(yùn)算,將結(jié)果存儲到d中指定的軟元件開始的n點(diǎn)地址里面。注意:塊數(shù)據(jù)邏輯運(yùn)算指令只有16位的,沒有32位指令。下面以塊數(shù)據(jù)邏輯與BKAND指令為例看看,其他指令同理。


比如BKAND D12 D14 D16 K2,這里的K2代表連續(xù)兩個(gè)存儲器地址,也就是D12和D14、D13和D15分別進(jìn)行邏輯與運(yùn)算,運(yùn)算的結(jié)果存儲到分別D16 、D17中,我們可以看出這些指令執(zhí)行的是批量的邏輯運(yùn)算,稱為塊數(shù)據(jù)邏輯運(yùn)算。