彩灯循环点亮的plc控制梯形图位移程序怎么修改位数?

题目: 霓虹灯广告屏控制器的设计 要求用PLC对霓虹灯广告屏实现控制,其具体要求如下:
该广告屏中间8个灯管亮灭的时序为 第1根亮→第2根亮→第3根亮→…→第8根亮,时间间隔为1s,全亮后,显示10s,再反过来从8→7→…→1顺序熄灭。全灭后,停亮2s,再从第8根灯管开始亮起,顺序点亮7→6→…→1,时间间隔为1s,显示20s,再从→2→…→8。 顺序熄灭。全熄灭后,停亮2s,再从头开始运行,周而复始。 用I0.0控制接在Q0.0~Q0.7上的8个彩灯循环移位,从左到右以0.5s的速度依次点亮,保持任意时刻只有一个指示灯亮,到达最右端后,再从左到右依次点亮。 分析: 8个彩灯循环移位控制,可以用字节的循环移位指令。 根据控制要求,首先应置彩灯的初始状态为QB0=1,即左边第一盏灯亮;接着灯从左到右以0.5s的速度依次点亮,即要求字节QB0中的“1”用循环左移位指令每0.5s移动一位,因此须在ROL-B指令的EN端接一个0.5s的移位脉冲(可用定时器指令实现)。梯形图程序和语句表程序如图1所示。    

粒子工社-还技术以尊重

循环移位指令将字节、字或双字中的各位向右或向左循环移动N位后,再送给指令的输出单元。循环移位是环形的,即被移出来的位将返回到另一端空出来的位(见图4-18)。

带进位的右、左循环移位指令各位的数据与进位位一起(16位指令时一共17位)向右(或向左)循环移动n位。

(1) 16位节日彩灯的循环移位控制设计循环移位的16位彩灯控制程序,移位的时间间隔为1s,首次扫描时用M8002来设置彩灯的初值,X20为OFF时循环右移1位,为ON时循环左移1位。TO用来产生周期为1s的移位脉冲序列,下面是实现上述要求的程序:

(2) 10位彩灯循环左移

要求用S7-200的oo.o - oi.1来控制10位彩灯的循环左移,即从Q1.1移出的位要移人oo.o。值得注意的是在owo中,QBO在高字节,QB1在低字节(见图4-20)。10位循环移位的关键是将Q1.1移到Q1.2的数传送到QO.O中。CPU 224的Q1.2虽然不对外输出,但是它的输出过程映像寄存器可以供用户程序使用。如果在设置彩灯初值时令oo.o为1,它会被Q1.2置为0,造成实际点亮的灯比设置的灯少一个的现象。

假设用S7-200的QO.O - Q0.7来控制自动无功补偿装置投切电容器的8个交流接触器。为了使各交流接触器均衡使用,一般采用循环投切的工作方式,即先投入的电容器被先切除。用8位循环移位指令可以实现这一功能。假设按QO.O至Q0.7的顺序投切电容器,当前投入了3组电容器,Q0.2- Q0.4为1,Q0.2先投入。需要投切电容时,首先将QBO循环左移1位,变为Q0.3- QO.5为1。如果需要切除电容器,将移位前后两个字节的值相“与”,由表4-3可知,“与”运算后仅Q0.3和Q0.4为l,Q0.2被切除。如果需要投入电容器,将移位前后两个字节的值相“或”,由表4-3可知,“或”运算后Q0.2-oo.s为1,所以将投入Q0.5。

戳上方 蓝字  "技成电工课堂”  关注我们哦!

在上一篇文章中介绍了逻辑运算指令,这篇文章就开始介绍一下移位和循环移位指令吧。

这几个指令跟S7-200/200 SMART PLC是一样的,如果学习过这几个指令的同学也可以重新温习一下,或者直接拉到后面看流水灯控制的程序案例编写~

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

下面我们就分别来看一下这几个指令吧!

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

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

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

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

关于循环移位指令支持的数据类型只要位字符串的数据类型哦。

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

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

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

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

我们分析一下以上的程序!

当按下启动按钮时,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都复位掉。

以上就是移位和循环移位指令的相关介绍,到此为止就已经将数据处理指令介绍完了,在下一篇文章再继续介绍一下程序控制指令,欢迎大家继续关注~

(技成培训网原创,作者:蔡慧荥,未经授权不得转载,违者必究)


西门子S7-1200基础入门专辑,学会如此简单! 三菱PLC基础入门,看了记得点赞收藏喔~ S7-1200 PLC常用的移动操作指令有哪些? 2020年电工必备考试卷题(加密) 你的分享、点赞、在看我都喜欢

我要回帖

更多关于 彩灯循环点亮的plc控制梯形图 的文章

 

随机推荐