西门子S7-200PLC移位指令

西门子S7-200PLC移位指令

首页休闲益智移动的乘法门更新时间:2024-08-03

1. 左移位指令

2.右移位指令

3.循环左移位

4.循环右移位

5.寄存器移位

(1)左移位指令

原理:使能输入有效时,将输入IN的无符号数字节、字或双字中的各位向左移N位后(右端补0),将结果输出到OUT所指定的存储单元中,如果移位次数大于0,最后一次移出位保存在“溢出”存储器位SM1.1 置1。

种类:按参与移位数据的位数分为:字节左移、字左移、双字左移三种。

作用:左移位具有二进制数乘法运算作用,左移移位相当于乘2,左移n位相当乘2n。

例:1.用左移指令实现流水灯控制

用常量每次移动不同位数可以实现循环移位控制形成流水灯效果。

当移位到最高位后,移位变量自动清零,从而实现了循环左移,也可以实现循环右移控 制。

如图

2.利用自动归位变量移位实现循环左移

用变量和条件赋值实现循环左移控制。

当移位到最高位后,再执行一次移位时会发生溢出,置位SM1.1,用SM1.1再次赋值,可以循环移位流水灯控制。

如图

(2)右移位指令(SHR)

原理:使能输入有效时,将输入IN的无符号数字节、字或双字中的各位向右移N位后,将结果输出到OUT所指定的存储单元中,移出位补0,最后一移出位保存在SM1.1 中

种类:按参与移位数据的位数分为:字节右移、字右移、双字右移三种。

应用:右移位具有二进制数乘法运算作用,左移移位相当于除2,左移n位相当除2n。

如图

例:右移位指令应用

同样可以实现循环移位控制。也可以用于实现多台电动机的顺序启动,逆序停止控制。

电路功能:顺序启动,同时停止。

如要实现顺序启动顺序停止控制,可采用两个子程序实现。

如图

注:数据处理指令

如图

(3)循环左移(ROL)

说明:移位数据存储单元移出端(最高位)与移入端(最低位)相连,同时最高位又与SM1.1(溢出)相连。

种类:字节循环左移、字循环左移、双字循环左移三种。

例如:移位数据的最右端位移入最左端,同时又进入SM1.1。SM1.1始终存放最后一次被移出的位。

如图

例:1.用循环移位实现单按钮控制

基本思路:给中间字节变量MB0赋以花数,用控制开关控制其移位。然后进行位连接。

如图

2.用循环左移实现流水灯控制

变量每次移动一位实现循环左移流水灯控制。

如图

3.常数每次移动不同位数实现流水灯控制

移位次数自动调节如采用加1指令,可以实现循环左移。

移位次数自动调整采用减1指令,可实现循环右移。

如图

(4)循环右移(ROR)

说明:移位数据存储单元的移出端(最低位)与移入端(最高位)相连,同时最低位又与SM1.1(溢出)相连。种类:字节循环左移、字循环左移、双字循环左移三种。

例如:移位数据的最右端位移入最左端,同时又进入SM1.1。SM1.1始终存放最后一次被移出的位。

如图

注:移位及循环移位指令

如图

例:使用循环移位指令,可以实现流水灯效果,可以产生步进电动机的驱动脉冲,移位方向用于控制步进电动机转动方向。

利用移位指令也可以实现起保停单按钮控制。

如图

(5)移位寄存器指令(SHRB)

移位寄存器是将串行数据转化成并行数据的器件,在S7-200中设有移位寄存器指令,而且移位寄存的位数可以在1~64位之间任意选择。但是移位方向只能左移不能右移。

其中EN是使能输入控制

端,DATA是数据输入端

为位地址,S_BIT是移位

寄存器的最低位,N是移

位寄存器的长度

如图

例:移位寄存器指令的应用

使用移位寄存器指令可以从DATA位地址输入端输入串行信号,从移位寄存器中得到转换后的并行数据。

实例:用移位寄存器指令实现多台电动机的顺序启动顺序停止控制。

如图

例:应用实例

用寄存器移位指令实现流水灯效果。

将寄存器的首位连接起来,可实现循环左移位,不能显示循环右移。

如图

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved