第六章5循环移位指令_第1页
第六章5循环移位指令_第2页
第六章5循环移位指令_第3页
第六章5循环移位指令_第4页
第六章5循环移位指令_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、教学目标1、了解循环指令的使用2、掌握移位寄存器的指令使用3、掌握利用可编程序控制器来实现数码管显示控制的程序设计 循环移位与移位指令项目:彩灯的循环控制如何完成控制要求?(1)利用基本指令完成编程。(2)利用步进指令完成编程。(3)利用移位指令完成编程。现有16个彩灯,摆放成圆形,按下启动按钮,彩灯以顺时针方向间隔1秒轮流点亮,循环三次后彩灯转换成逆时针方向间隔2秒轮流点亮,循环三次后自动停止工作。按下停止按钮,立即停止工作。 利用基本指令完成编程,程序如下: 利用步进指令完成编程任务,参考程序如下: 利用移位指令完成编程任务,参考程序如下:一、循环移位指令一、循环移位指令 左、右循环移位指

2、令左、右循环移位指令 循环右移(循环右移(D)ROR(P)()(Rotation Right)()(16/32) 循环左移循环左移(D) ROL(P) (Rotation Left)()(16/32) v 操作数操作数DD:KnY、KnM、KnS、T、C、D、V、Zv 说明说明执行这两条指令时,各位的数据向右(或向左)循环移动执行这两条指令时,各位的数据向右(或向左)循环移动n n位(位(n n为常数),为常数),1616位指令和位指令和3232位指令中位指令中n n应分别小于应分别小于1616和和3232。每次移出来的那一位同时存入每次移出来的那一位同时存入进位标志进位标志M8022M802

3、2中。中。循环右移说明 循环位移指令使用说明循环位移指令使用说明【例题】 循环左移指令ROL的应用举例如图所示。求输出位组件K4Y0在一个循环周期中各位状态的变化。各位状态的变化输 入输 出输入继电器输 入 元 件作 用输出继电器控 制 对 象X0SB1启动按钮Y7Y0HL8HL1X1SB2停止按钮Y17Y10HL16HL9Y27Y20H24HL17【例题】 利用PLC实现流水灯控制。某灯光招牌有24个灯,要求按下启动按钮X0时,灯以正、反序每0.1s间隔轮流点亮;按下停止按钮X1时,停止工作。【解】 由于输出动作频繁,应选择晶体管或晶闸管输出类型的PLC。流水灯控制需要2个输入端口,24个输

4、出端口。输入、输出端口的分配如表5.34所示。输入/输出端口分配表霓虹灯控制霓虹灯控制 霓虹灯控制霓虹灯控制输入输出输入继电器作用输出继电器作用X000起动按钮Y000Y007驱动L1L8X001停止按钮霓虹灯控制霓虹灯控制霓虹灯控制霓虹灯控制二、带进位左、右循环移位指令二、带进位左、右循环移位指令 带进位循环右移带进位循环右移RCR(Rotation Right with Carry) 带进位循环左移带进位循环左移RCL(Rotation Left with Carry)执行这两条指令时,各位的数据与进位位执行这两条指令时,各位的数据与进位位M8022一起(一起(16位指令时一共位指令时一共

5、17位)向右(或向左)循环移动位)向右(或向左)循环移动n位(见图)。位(见图)。 执行情况 三、位右移和位左移指令三、位右移和位左移指令 实现位元件中的状态成实现位元件中的状态成组地向右或向左移动组地向右或向左移动 图中图中X010由由OFF变为变为ON时,位右移指令(时,位右移指令(3位位1组)按以下顺序移位:组)按以下顺序移位:M2M0中中的数溢出,的数溢出,M5M3M2M0,M8M6M5M3,X002X0000M8M6。图图b中的中的X010由由OFF变为变为ON时,位左移指令按图中所示的顺序移位时,位左移指令按图中所示的顺序移位。 位右移位右移SFTR(Shift Right) 位左

6、移位左移 SFTL(Shift Left) v 操作数操作数 SS: X、Y、M、S D D:Y、M、Sv 梯形图梯形图u说明:说明:位元件组的长度由位元件组的长度由n1指定,指定,n2指定移指定移动的位数。动的位数。 位移位指令使用说明说明(1) SFTR命令有4个操作数,当X10接通,以源(S.)X0开始的n2(K2)位,向右移入以目标(D.)M0开始的n1(K8)位元件中去。每当X10从OFF ON,移位一次。移位后,如果源为1,则目标置位,而源复位。(2) SFTL命令也有4个操作数,其动作原理与(1)相同。(3)在指令的连续执行方式中,每一个扫描周期都会移位一次。在实际控制中,常采用

7、脉冲执行方式。位左移指令SFTL的应用示例梯形图如下所示。位左移指令SFTL示例梯形图位左移指令SFTL示例过程位右移指令SFTR的应用示例梯形图如下所示。位右移指令SFTR示例梯形图位右移指令SFTR示例过程(1)位右移说明:)位右移说明: 当操作条件满足时,当操作条件满足时,位右移指令位右移指令在在n1个指定目标位元件中,右移个指定目标位元件中,右移n2个指个指定的源元件位元件状态。即定的源元件位元件状态。即n2位位S. 状态右移到状态右移到n1位位D.,从,从n1位目标元件位目标元件的高位进去,而其低位溢出。的高位进去,而其低位溢出。 上述的示例程序操作。位右移的目标元件为:上述的示例程

8、序操作。位右移的目标元件为:M10M25,源元件为:,源元件为:X0X1,当,当X1由由“0”变变“1”时,时,X1、X0的状态传到的状态传到M25、M24,原来的,原来的M25、M24移到移到M23、M22以此类推,以此类推,M11、M10丢失。由图示的方法说丢失。由图示的方法说明状态的变化。明状态的变化。由于连续型操作,每个扫描周期都进行操作,合上一瞬间,就把原操作数状由于连续型操作,每个扫描周期都进行操作,合上一瞬间,就把原操作数状态都移位了。建议使用态都移位了。建议使用SFTRP,SFTLP,便于控制。,便于控制。 SFTRP SFTLP【例例】四台水泵轮流运行,由四台三相异步电动机四

9、台水泵轮流运行,由四台三相异步电动机M1M1M4M4驱动。正常要求是两台运行两台备用。为了防止备用水泵驱动。正常要求是两台运行两台备用。为了防止备用水泵长时间不用造成锈蚀等问题,要求四台水泵中两台运行,长时间不用造成锈蚀等问题,要求四台水泵中两台运行,并每隔并每隔8h8h切换一台,使四台水泵轮流运行。切换一台,使四台水泵轮流运行。图 四台水泵轮流工作实例 2位左移指令SFTL举例 【例题】 位左移指令SFTL的程序梯形图如图所示。设Y17Y0的初始状态为0,X3X0的位状态为1011。求数次执行位左移指令SFTL后,Y17Y0各位状态的变化。例题 各位状态的变化 【解】 Y17Y0各位状态的变

10、化如表所示。第一次执行左移指令SFTL后,(K4Y0)= H0B,第二次执行左移指令SFTL后,(K4Y0)= H0BB,依次类推。 【例题】 位右移指令SFTR的程序梯形图如图所示。设Y17Y0的初始状态为0,X3X0的位状态为1011。求数次执行位右移指令SFTR后,Y17Y0各位状态的变化。2位右移指令SFTR举例 【解】 Y17Y0各位状态的变化如表所示。在未执行位右移指令SFTR前,(K4Y0)= 0,第一次执行左移指令SFTR后,(K4Y0)= H0B000,第二次执行左移指令SFTL后,(K4Y0)= H0BB00,依次类推。例题 各位状态的变化 【例题】 某台设备有8台电动机,

11、为了减小电动机同时启动对电源的影响,利用位移指令实现间隔10s的顺序通电控制。按下停止按钮时,同时停止工作。 【解】 控制线路需要2个输入端口,8个输出端口。输入、输出端口的分配如表5.39所示。输入/输出端口分配表输 入输 出输入继电器输 入 元 件作 用输出继电器控 制 对 象X0SB1启动按钮Y7Y08个接触器X1SB2停止按钮字右移和字左移指令字右移和字左移指令 字右移字右移WSFR(P)()(Word Shift Right)、字字左移左移 WSFL(P)()(Word Shift Left) 图图a中的中的X000由由OFF变为变为ON时,字右移指令按图中所示的顺序移位。时,字右移

12、指令按图中所示的顺序移位。图图b中的中的X010由由OFF变为变为ON时,字左移指令按图中所示的顺序移位。时,字左移指令按图中所示的顺序移位。v 操作数操作数 SS: KnX、KnY、KnM、KnS、T、C、D D D: KnY、KnM、KnS、T、C、D n1、n2:K,H,n2 n1 512。v 梯形图梯形图字右移指令的使用注意事项:字右移指令的使用注意事项:1 1)一般情况下)一般情况下n2n1512n2n1512。2 2)WSFRWSFR指令源操作数可取指令源操作数可取KnXKnX、KnYKnY、KnMKnM、KnSKnS、T T、C C和和D D,目标操作数可取,目标操作数可取KnY

13、KnY、KnMKnM、KnSKnS、T T、C C和和D D。3 3)WSFR(P)WSFR(P)只有只有1616位操作数,占位操作数,占9 9个程序步。个程序步。字移位指令使用说明字移位指令使用说明移位寄存器写入与读出指令移位寄存器写入与读出指令 移位寄存器又称为先入先出移位寄存器又称为先入先出FIFO(First in First out)堆栈,堆栈的长)堆栈,堆栈的长度范围为度范围为2512个字。个字。 写入指令写入指令 SFWR(Shift Register Write) 移位寄存器读出指令移位寄存器读出指令 SFRD(Shift Register Read)用于用于FIFO堆栈的读写

14、,先写入的数据先读出。堆栈的读写,先写入的数据先读出。 v SFWR操作数操作数 SS: K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z D D: KnY、KnM、KnS、T、C、D v SFRD操作数操作数 SS: KnX、KnY、KnM、KnS、T、C、D D D: KnY、KnM、KnS、T、C、D 如果如果X000再次由再次由OFF变为变为ON,D1中的数变为中的数变为2,D0中的数据写入中的数据写入D3。依。依此类推,源操作数此类推,源操作数D0中的数据依次写入堆栈。中的数据依次写入堆栈。 当当D1中的数据等于中的数据等于n-1(n为堆栈的长度为堆栈的长度)时,不再执行上

15、述处理,时,不再执行上述处理,进位标进位标 志志M8022置置1。FIFO指令使用说明指令使用说明图图a中:中: 目标元件目标元件D1是是FIFO堆栈的首地址,也是堆栈的指针,移位寄存器未装入堆栈的首地址,也是堆栈的指针,移位寄存器未装入 数据时应将数据时应将D1清清0。 在在X000由由OFF变为变为ON时,时,指针的值加指针的值加1后写入数据。第一次写入时,源操后写入数据。第一次写入时,源操 作数作数D0中的数据写入中的数据写入D2。图图b中中 X000由由OFF变为变为ON时,时,D2中的数据送到中的数据送到D20,同时指针,同时指针D1的值减的值减1,D3到到D9的数据向右移一个字。的

16、数据向右移一个字。 数据总是从数据总是从D2读出,指针读出,指针D1为为0时,时,FIFO堆栈被读空,不再执行上述处堆栈被读空,不再执行上述处 理,零标志理,零标志M8020为为ON。 执行本指令的过程中,执行本指令的过程中,D9的数据保持不变。的数据保持不变。移位写入指令的使用注意事项:移位写入指令的使用注意事项:1 1)一般情况下)一般情况下2n5122n512。2 2)源操作数可取所有数据类型,目标操作数可取)源操作数可取所有数据类型,目标操作数可取KnYKnY、KnMKnM、KnSKnS、T T、C C和和D D。3 3)SFWR(P)SFWR(P)只有只有1616位操作数,占位操作数

17、,占7 7个程序步。个程序步。 移位寄存器又称为移位寄存器又称为FIFOFIFO(First In First Out(First In First Out,先入先出,先入先出) )堆栈,堆栈的长度范围为堆栈,堆栈的长度范围为25122512字。移位寄存器写入指令字。移位寄存器写入指令SFWRSFWR和移位寄存器读出指令和移位寄存器读出指令SFRDSFRD用于用于FIFOFIFO堆栈的读写,先写堆栈的读写,先写入的数据先读出。入的数据先读出。移位读出指令的使用注意事项:移位读出指令的使用注意事项:1 1)一般情况下)一般情况下2n5122n512。2 2)源操作数可取所有数据类型,目标操作数可

18、取)源操作数可取所有数据类型,目标操作数可取KnYKnY、KnMKnM、KnSKnS、T T、C C和和D D。3 3)SFRD(P)SFRD(P)只有只有1616位操作数,占位操作数,占7 7个程序步。个程序步。图 移位写入和读出物品编号实例【例】入库物品FIFO。写入99个物品的产品编号(4位十进制数),依次存放在D2D100中,按照先入库的物品先出库的原则,读取出库物品的产品编号,并用4位数码管显示产品编号。则其程序如图所示。图 FIFO指令 (5)执行图5-59,当X0闭合,D0为100。执行SFWR指令, 当X1第1次闭合,D2为100,D1为1; 当X1第2次闭合,D3为100,D

19、1为2, 当X1第9次闭合,D10为100,D1为9。 执行SFRD指令,当X2第1次闭合,D10数据100送D20,D1为8; 当X2第2次,D9数据送D20,D1数值减小到7,一直到D1为0。 在写出过程中,D2D10数据保持不变。 利用FIFO指令,可以记录存入或取出的数据。案例五 生产线质量控制现代工业生产广泛采用流水作业,对成品或半成品进行分检,排除残次品是必须的工序。在流水线上,成品或半成品往往要经过若干项检验,符合要求者得以通过,随着流水线进入下道生产工步。而不合格者必须在某处集中地予以排除,不得进入下道生产环节。因此,成品或半成品随传送带递进过程中,对其进行的检验结果也必须同步

20、地向前移动。这样,当不合格者移动到规定的排除点时,才能正确地加以排除,从而实现质检与分检。利用 PC 提供的移位寄存器功能,可以很方便地做到这一点。 210534SW2SW3SW1MV次品次品正品正品SW1:SW1:检测有无次品检测有无次品SW2:SW2:检测凸轮的突起检测凸轮的突起SW3:SW3:检测有无次品落下检测有无次品落下SW1,SW2,SW3SW1,SW2,SW3为光电传感器为光电传感器: :凸轮每转一圈发出一个脉冲,且每个脉冲过一个物品。凸轮每转一圈发出一个脉冲,且每个脉冲过一个物品。当次品移到当次品移到4 4号位时,电磁阀号位时,电磁阀MVMV打开,次品落入次品打开,次品落入次品箱内。无次品则自动掉入正品箱内。有一复位按钮箱内。无次品则自动掉入正品箱内。有一复位按钮SBSB实现手动复位。实现手动复位。例:例:如何实现?如何实现?示意图如图所示,工件在传送带上步行式前进。工件在0号站接受SW1光电检查。从0号站移到4号站要经过4次步进。移到4号站时,判断移到此站工件好还是坏。如果是废品则要求电磁阀YV打开,使废品掉下来。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论