大家好,这节课我们开始学习“移位指令”.先来看一下指令说明:

左移位和右移位指令说明:

1、移位指令有左移也有右移,移位指令也分为有字节、字、双字类型的移位;

2、移位指令格式里面有使能输入、输入、输出和移位位数N。字节右移SHR_B和字节左移SHL_B指令是将输入字节(或字、或双字)数值根据移位位数向左或向右移动,并将结果输出到字节(或字或双字)。我们要注意的是,对一个数左移一位相当于乘以2,右移移位相当于除以2.

3、移位指令是对每个移出的位进行自动补0的。如果移位位数大于或等于8(或字操作16或双字操作32),那么数值最多被移位8(或字操作16或双字操作32)次的。当移位位数大于或等于最大允许值时,其实就相当于进行清零的操作。

这里我们以字节为例,解释说明:

西门子s7200plc传送指令怎么用(西门子S7-200系列PLC实操)(1)

数据位自右向左,分别排布.从最右端位置开始,"1"的数值,每次向左移动一个位,而原来的位置,则用0来弥补代替.就形成了下面这个图示:

西门子s7200plc传送指令怎么用(西门子S7-200系列PLC实操)(2)

可以看到,当1从最低位移到最高位后,如果移出本组数列的话,则是不循环方式.如果从最高位跳转到最低位的话,则构成循环.

大家可以尝试解读一下,下面这段程序的意思么?

西门子s7200plc传送指令怎么用(西门子S7-200系列PLC实操)(3)

解读一下:首先是I0.0为Q0.0置位,然后会在触发I0.1的情况下,每按1次,使得左移指令执行步进1位的方式,将QB0进行输出,直至1的值被移除8位之外为止。

而下面这个图,是实现什么功能呢?

大家可以在程序里编辑完之后,下载到PLC里看下效果。

西门子s7200plc传送指令怎么用(西门子S7-200系列PLC实操)(4)

下节课,我们学习“转换指令

,