三菱PLC逻辑运算指令的介绍
今天这篇文章继续讲一下三菱FX 5U PLC的一些功能指令,今天就讲一下逻辑运算指令吧,三菱FX 5U PLC的逻辑运算指令包括逻辑与指令WAND、逻辑或指令WOR、逻辑异或指令WXOR,这些指令可能你都在3U或其他系列指令中见过,除此之外,还有逻辑异或非指令WXNR、块数据逻辑与BKAND、块数据逻辑或BKOR、块数据逻辑异或BKXOR、块数据逻辑异或非BKXNR,下面我们就分别介绍一下这些指令吧。(更多PLC课程免费看)
逻辑与WAND、逻辑或WOR、逻辑异或WXOR 逻辑与WAND:对两个输入数值的对应位执行“与”运算操作。两个位同为1时结果为1,其余为0。
逻辑或WOR:对两个输入数值的对应位执行“或”运算操作。两个位中只要有一个位为1,其结果就为1。
逻辑异或WXOR:指令对两个输入数值的对应位执行“异或”运算操作。两个位相同为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是正数,M55为1;D60是负数,M55为0。
逻辑异或非WXNR 逻辑异或非WXNR:指令对两个输入数值的对应位执行“异或非”运算操作。两个位相同为1,相异为0。
从上图的程序可以看出,D4和D5的二进制位是相反的,也就是说WXNR和WXOR其实是相反的功能,WXOR是两个位相同为0,相异为1,WXNR是两个位相同为1,相异为0,而DXNR是32位的逻辑异或非指令。
块数据逻辑与BKAND/或BKOR/异或BKXOR/异或非指令BKXNR 这些指令是对s1中指定的软元件开始的n点的内容与s2中指定的软元件开始的n点的内容进行逻辑与/或/异或/异或非运算,将结果存储到d中指定的软元件开始的n点地址里面。注意:块数据逻辑运算指令只有16位的,没有32位指令。下面以块数据逻辑与BKAND指令为例看看,其他指令同理。
比如BKAND D12 D14 D16 K2,这里的K2代表连续两个存储器地址,也就是D12和D14、D13和D15分别进行逻辑与运算,运算的结果存储到分别D16 、D17中,我们可以看出这些指令执行的是批量的逻辑运算,称为块数据逻辑运算。 |