逻辑运算指令逻辑运算是对无符号数按位进行与、或、异或和取反等操作。操作数的长度有B、W、DW。指令格式如表5-18所示。 1. 逻辑与(WAND)指令:将输入IN1,IN2按位相与,得到的逻辑运算结果,放入OUT指定的存储单元。 2. 逻辑或(WOR)指令:将输入IN1,IN2按位相或,得到的逻辑运算结果,放入OUT指定的存储单元。 3. 逻辑异或(WXOR)指令:将输入IN1,IN2按位相异或,得到的逻辑运算结果,放入OUT指定的存储单元。 4. 取反(INV)指令:将输入IN按位取反,将结果放入OUT指定的存储单元。 表5-18 逻辑运算指令格式
说明: (1)在表5-18中,在梯形图指令中设置IN2和OUT所指定的存储单元相同,这样对应的语句表指令如表中所示。若在梯形图指令中,IN2(或IN1)和OUT所指定的存储单元不同,则在语句表指令中需使用数据传送指令www.plcs.cn,将其中一个输入端的数据先送入OUT,在进行逻辑运算。如MOVB IN1,OUT ANDB IN2,OUT (2)ENO=0的错误条件:0006 间接地址,SM4.3 运行时间 (3)对标志位的影响:SM1.0(零) 【例5-15】逻辑运算编程举例,程序如图5-21所示。 //字节与操作 LD I0.0 ANDB VB1, VB2 //字或操作 MOVW VW100, VW300 ORW VW200, VW300 //双字异或操作 XORD AC0, AC1 //字节取反操作 MOVB VB5, VB6 INVB VB6
图5-21 例5-15题图 运算过程如下: VB1 VB2 VB2 0001 1100 WAND 1100 1101 → 0000 1100 VW100 VW200 VW300 0001 1101 1111 1010 WOR 1110 0000 1101 1100→ 1111 1101 1111 1110 VB5 VB6 0000 1111 INV 1111 0000 |