您现在的位置是:首页 > PLC技术 > PLC技术
S7-300 PLC移位和循环移位指令
来源:艾特贸易2017-06-05
简介移位指令将累加器 1 低字中或整个累加器 1 的内容左移或右移。左移相当于对累加器的内容乘以 2n ,右移相当于对累加器的内容除以 2n 。移动的次数 n 在累加器 2 中或直接在指令中以
移位指令将累加器1低字中或整个累加器1的内容左移或右移。左移相当于对累加器的内容乘以2n,右移相当于对累加器的内容除以2n。移动的次数n在累加器2中或直接在指令中以常数给出。
累加器1移位后空出的位,填以0或符号位,被移动的最后一位保存在状态字中的CC1里,CC0和OV被复位为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.0为1。
图5-19 循环方块指令用法
点击排行
