您现在的位置是:首页 > PLC技术 > PLC技术
S7 300/400字逻辑运算指令
来源:艾特贸易2017-06-05
简介字逻辑运算指令(见表 3-21 )对两个 16 位字或 32 位双字逐位进行逻辑运算,一个操作数在累加器 1 ,另一个操作数在累加器 2 ,或在指令中用立即数的形式给出。字逻辑运算的结果在
字逻辑运算指令(见表3-21)对两个16位字或32位双字逐位进行逻辑运算,一个操作数在累加器1,另一个操作数在累加器2,或在指令中用立即数的形式给出。字逻辑运算的结果在累加器1的低字,双字逻辑运算的结果在累加器1。
如果字逻辑运算的结果为0,状态字的CC1位为1,反之为0。在任何情况下,状态字的CC0和OV位都被清零。
表3-21 字逻辑运算指令
语句表
梯形图
描 述
语句表
梯形图
描 述
AW
WAND_W
字与
AD
WAND_DW
双字与
OW
WOR_W
字或
OD
WOR_DW
双字或
XOW
WXOR_W
字异或
XOD
WXOR_DW
双字异或
“与”运算时两个操作数的同一位如果均为1,运算结果的对应位为1,否则为0(见表3-22)。“或”运算时两个操作数的同一位如果均为0,运算结果的对应位为0,否则为1。
“异或”运算的两个操作数的同一位如果不相同,运算结果的对应位为1,否则为0。
表3-22 字逻辑运算的结果
位
15 0
逻辑运算前累加器1的低字
0101 1001 0011 1011
逻辑运算前累加器2的低字或常数
1111 0110 1011 0101
“与”运算后累加器1的低字
0101 0000 0011 0001
“或”运算后累加器1的低字
1111 1111 1011 1111
“异或”运算后累加器1的低字
1010 1111 1000 1110
下面是用语句表编写的实现字逻辑“或”运算的程序,该操作将QW10的低4位置为1,其余各位保持不变:
L QW 10 //QW10的内容装入累加器1的低字
OW W#16#000F //累加器1低字的内容与W#16#000F逐位相或,结果在累加器l低字
T QW 10 //累加器1低字中的运算结果传送到QW10中
下面是累加器1低字的内容与字逻辑与指令中的立即数逐位作“与”运算的程序,该操作将IW20中的高4位置为0,低12位的数据保持不变:
L IW 20 //IW20的内容装入累加器1的低字
AW W#16#0FFF //累加器1低字的内容与W#16#0FFF逐位相与
T MW 10 //运算结果保存在MW10