您现在的位置是:首页 > 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。在任何情况下,状态字的CC0OV位都被清零。

    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