您现在的位置是:首页 > PLC技术 > PLC技术

S7-300 PLC移位和循环移位指令

来源:艾特贸易2017-06-05

简介移位指令将累加器 1 低字中或整个累加器 1 的内容左移或右移。左移相当于对累加器的内容乘以 2n ,右移相当于对累加器的内容除以 2n 。移动的次数 n 在累加器 2 中或直接在指令中以

    移位指令将累加器1低字中或整个累加器1的内容左移或右移。左移相当于对累加器的内容乘以2n,右移相当于对累加器的内容除以2n。移动的次数n在累加器2中或直接在指令中以常数给出。

    累加器1移位后空出的位,填以0或符号位,被移动的最后一位保存在状态字中的CC1里,CC0OV被复位为0。可使用条件跳转指令,对CC1进行判断。循环移位指令与一般移位指令的差别是:循环移位指令的空位填以从累加器中移出的位。

    1.无符号数移位指令(见表5-26

    5-26    无符号数移位指令

指令

     

SLW

将累加器1低字中的内容逐位左移,空出位填0

SRW

1低字中的内容逐位右移,空出位填0

SLD

将累加器1整个内容逐位左移,空出位填0

SRD

将累加器1整个内容逐位右移,空出位填0

    2.有符号数移位指令(见表5-27

    5-27    有符号数移位指令

指令

     

SSI

将累加器1低字中的内容逐位右移,空出位填以符号位(正填0,负填1

SSD

将累加器1整个内容逐位右移,空出位填以符号位(正填0,负填1

    3.循环移位指令(见表5-28

    5-28    循环移位指令

  指令

    说 

RLD

将累加器1整个内容逐位左移,空出位填以从累加器1移出的位

RRD

将累加器1整个内容逐位右移,空出位填以从累加器1移出的位

RLDA

将累加器1整个内容带CC1位逐位左移一位,空出位填以从CC1移出的位

RRDA

将累加器1整个内容带CC1位逐位右移一位,空出位填以从CC1移出的位

    4.移位和循环方块指令

    以上介绍的语句表字逻辑运算指令,都有对应的梯形图方块指令。在编程器上,使用梯形图指令浏览器,可以选择需要的方块指令。下面举例说明移位和循环方块指令的用法。

    【例5-6  移位和循环方块指令的用法。

    【解】  如图5-19所示,输入端I0.0的信号状态为1,指令启动,存储器双字MD0装入累加器1并向右循环,循环的位数由MW4中指定。结果存入MD10,如果最后移出位为1,则输出Q4.01

    5-19    循环方块指令用法