浔之漫智控技术(上海)有限公司总部
主营西门子模块 , PLC模块 , 变频器模块 , 触摸屏模块
CPU1211C模块代理商

CPU1211C模块代理商西门子PLC模块代理商电源模块代理商

西门子Smart700IE触摸屏6AV6648-0BC11-3AX0

西门子Smart1000IE触摸屏6AV6648-0BE11-3AX0   9.19

西门子CPU1211C处理器模块6ES7211-1AE40-0XB0

6ES7211-1AE40-0XB0

SIMATIC S7-1200,CPU 1211C, 紧凑型 CPU,DC/DC/DC, 机载 I/O: 6 个 24V DC 数字输入;4 个 24V DC 数字输出; 2 AI 0-10V DC, 电源:DC 20.4-28.8V DC, 程序存储器/数据存储器 75 KB

在S7-1200 PLC中的移位和循环移位指令指令包括了移位指令SHL和SHR,循环移位指令ROL和ROR。

移位指令分为左移指令SHL和右移指令SHR这两个,它们执行的过程是一致的,只是移动的方向不同而已,左移指令是由低位往高位移动,右移指令是由高位往低位移动。

我们以左移指令来看一下,指令中的N是移位的位数,是将输入操作数IN中的二进制位按N位向左进行移位,从而输出到输出端OUT中,注意移位指令移出的位是自动丢去的,而低位中空出的位是自动补零的。

关于移位指令使用时支持的数据类型,除了支持位字符串的数据类型之外,还可以支持整数的数据类型。

2、循环移位指令

循环移位指令分为循环左移ROL和循环右移ROR这两个指令,同样的它们的移动方向是不同的,循环左移指令是由低位往高位移动,循环右移指令是由高位往低位移动。

关于循环移位指令支持的数据类型只要位字符串的数据类型哦。下面我们以循环左移指令来看一下指令的执行过程,指令中的N同样的是用于指定移动的位数,指令是将输入操作数IN中的二进制位按N位进行循环左移,这个指令和移位指令的区别是,循环移位指令移出的位并不会丢失,而是会放回到地位中空出的位置中的。


我们下面讲一个流水灯控制,是以循环移位指令实现的,主要是为了让大家能够熟悉指令的使用哦。

下面就先看看控制要求吧!

控制要求:有八盏指示灯分别对应于PLC输出Q0.0~Q0.7,按下启动按钮,从第一盏灯开始每隔1s点亮,点亮下一盏的同时熄灭上一盏。

当第八盏灯点亮后延时5秒,然后以反反向点亮,回到第一盏时又延时5秒进行下一轮循环,按下停止按钮所有指示灯都熄灭。

微信截图_20220913143552.png

我们分析一下以上的程序,当按下启动按钮时,M20.0接通,M20.0接通同时随1s时钟脉冲每隔一秒进行向左移位,依次点亮一盏灯并熄灭上一盏灯,当第八盏灯点亮了则Q0.7接通,置位切换方向信号M20.1,M20.1触点接通并开始延时5秒,5秒时间到后M20.2线圈接通,M20.2触点接通同时随1s时间脉冲每隔1秒进行向右移位,直到点亮第一盏灯时,不再执行ROR右移指令,而去执行程序段5,Q0.0触点接通,定时器开始延时5秒时间,延时时间到后复位M20.1,也就是复位切换方向的信号,同时置位启停标志M20.0,接着又开始下一次的轮回。

当按下停止按钮时,MOVE指令将0移动到QB0,进行清零,使所有输出都复位,指示灯全部熄灭,同时也将启停标志M20.0和切换方向信号M20.1都复位掉。

CPU1211C模块代理商西门子PLC模块代理商电源模块代理商变频器代理商西门子电源模块代理商北京西门子PLC模块代理商CPU1211C模块代理商西门子PLC模块代理商电源模块代理商变频器代理商电源模块代理商变频器代理商

展开全文