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

付费下载

下载本文档

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

文档简介

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

2、位指令,左、右循环移位指令,循环右移(D)ROR(P)(Rotation Right)(16/32) 循环左移(D) ROL(P) (Rotation Left)(16/32),操作数 D:KnY、KnM、KnS、T、C、D、V、Z,说明 执行这两条指令时,各位的数据向右(或向左)循环移动n位(n为常数),16位指令和32位指令中n应分别小于16和32。 每次移出来的那一位同时存入进位标志M8022中。,6,循环右移说明,7,循环位移指令使用说明,8,【例题】 循环左移指令ROL的应用举例如图所示。求输出位组件K4Y0在一个循环周期中各位状态的变化。,各位状态的变化,9,【例题】 利用PLC实

3、现流水灯控制。某灯光招牌有24个灯,要求按下启动按钮X0时,灯以正、反序每0.1s间隔轮流点亮;按下停止按钮X1时,停止工作。 【解】 由于输出动作频繁,应选择晶体管或晶闸管输出类型的PLC。流水灯控制需要2个输入端口,24个输出端口。输入、输出端口的分配如表5.34所示。,输入/输出端口分配表,10,11,PLC应用指令的应用,控制要求: 现有L1L8共8盏霓虹灯管接于K2Y000,要求当X000为ON时,霓虹灯 L1L8以正序每隔1秒轮流点亮,当Y007亮后,停2秒;然后,反向逆 序隔1秒轮流点亮,当Y000再亮后,停5秒,重复上述过程。当X001为 ON时,霓虹灯停止工作。,霓虹灯控制,

4、12,PLC应用指令的应用,I/O分配表,霓虹灯控制,13,PLC应用指令的应用,梯形图设计(1/2),霓虹灯控制,14,PLC应用指令的应用,梯形图设计(2/2),霓虹灯控制,15,二、带进位左、右循环移位指令,带进位循环右移RCR(Rotation Right with Carry) 带进位循环左移RCL(Rotation Left with Carry),执行这两条指令时,各位的数据与进位位M8022一起(16位指令时一共17位)向右(或向左)循环移动n位(见图)。,16,17,执行情况,18,三、位右移和位左移指令,实现位元件中的状态成组地向右或向左移动,图中X010由OFF变为ON时

5、,位右移指令(3位1组)按以下顺序移位:M2M0中的数溢出,M5M3M2M0,M8M6M5M3,X002X0000M8M6。 图b中的X010由OFF变为ON时,位左移指令按图中所示的顺序移位。,位右移SFTR(Shift Right) 位左移 SFTL(Shift Left),操作数 S: X、Y、M、S D:Y、M、S 梯形图,说明: 位元件组的长度由n1指定,n2指定移动的位数。,位移位指令使用说明,19,说明 (1) SFTR命令有4个操作数,当X10接通,以源(S.)X0开始的n2(K2)位,向右移入以目标(D.)M0开始的n1(K8)位元件中去。每当X10从OFF ON,移位一次。

6、移位后,如果源为1,则目标置位,而源复位。 (2) SFTL命令也有4个操作数,其动作原理与(1)相同。 (3)在指令的连续执行方式中,每一个扫描周期都会移位一次。在实际控制中,常采用脉冲执行方式。 ,20,位左移指令SFTL的应用示例梯形图如下所示。,位左移指令SFTL示例梯形图,位左移指令SFTL示例过程,21,位右移指令SFTR的应用示例梯形图如下所示。,位右移指令SFTR示例梯形图,位右移指令SFTR示例过程,22,(1)位右移说明: 当操作条件满足时,位右移指令在n1个指定目标位元件中,右移n2个指定的源元件位元件状态。即n2位S. 状态右移到n1位D.,从n1位目标元件的高位进去,

7、而其低位溢出。 上述的示例程序操作。位右移的目标元件为:M10M25,源元件为:X0X1,当X1由“0”变“1”时,X1、X0的状态传到M25、M24,原来的M25、M24移到M23、M22以此类推,M11、M10丢失。由图示的方法说明状态的变化。 由于连续型操作,每个扫描周期都进行操作,合上一瞬间,就把原操作数状态都移位了。建议使用SFTRP,SFTLP,便于控制。,SFTRP SFTLP,23,【例】四台水泵轮流运行,由四台三相异步电动机M1M4驱动。正常要求是两台运行两台备用。为了防止备用水泵长时间不用造成锈蚀等问题,要求四台水泵中两台运行,并每隔8h切换一台,使四台水泵轮流运行。,24

8、,图 四台水泵轮流工作实例,25,2位左移指令SFTL举例,【例题】 位左移指令SFTL的程序梯形图如图所示。设Y17Y0的初始状态为0,X3X0的位状态为1011。求数次执行位左移指令SFTL后,Y17Y0各位状态的变化。,例题 各位状态的变化,【解】 Y17Y0各位状态的变化如表所示。第一次执行左移指令SFTL后,(K4Y0)= H0B,第二次执行左移指令SFTL后,(K4Y0)= H0BB,依次类推。,26,【例题】 位右移指令SFTR的程序梯形图如图所示。设Y17Y0的初始状态为0,X3X0的位状态为1011。求数次执行位右移指令SFTR后,Y17Y0各位状态的变化。,2位右移指令SF

9、TR举例,【解】 Y17Y0各位状态的变化如表所示。在未执行位右移指令SFTR前,(K4Y0)= 0,第一次执行左移指令SFTR后,(K4Y0)= H0B000,第二次执行左移指令SFTL后,(K4Y0)= H0BB00,依次类推。,例题 各位状态的变化,27,【例题】 某台设备有8台电动机,为了减小电动机同时启动对电源的影响,利用位移指令实现间隔10s的顺序通电控制。按下停止按钮时,同时停止工作。,【解】 控制线路需要2个输入端口,8个输出端口。输入、输出端口的分配如表5.39所示。,输入/输出端口分配表,28,29,字右移和字左移指令,字右移WSFR(P)(Word Shift Right

10、)、 字左移 WSFL(P)(Word Shift Left),图a中的X000由OFF变为ON时,字右移指令按图中所示的顺序移位。 图b中的X010由OFF变为ON时,字左移指令按图中所示的顺序移位。,操作数 S: KnX、KnY、KnM、KnS、T、C、D D: KnY、KnM、KnS、T、C、D n1、n2:K,H,n2 n1 512。 梯形图,30,字右移指令的使用注意事项: 1)一般情况下n2n1512。 2)WSFR指令源操作数可取KnX、KnY、KnM、KnS、T、C和D,目标操作数可取KnY、KnM、KnS、T、C和D。 3)WSFR(P)只有16位操作数,占9个程序步。,字移

11、位指令使用说明,31,移位寄存器写入与读出指令,移位寄存器又称为先入先出FIFO(First in First out)堆栈,堆栈的长 度范围为2512个字。 写入指令 SFWR(Shift Register Write) 移位寄存器读出指令 SFRD(Shift Register Read) 用于FIFO堆栈的读写,先写入的数据先读出。,SFWR操作数 S: K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z D: KnY、KnM、KnS、T、C、D,SFRD操作数 S: KnX、KnY、KnM、KnS、T、C、D D: KnY、KnM、KnS、T、C、D,32,如果X000再次由O

12、FF变为ON,D1中的数变为2,D0中的数据写入D3。依此类推,源操作数D0中的数据依次写入堆栈。 当D1中的数据等于n-1(n为堆栈的长度)时,不再执行上述处理,进位标 志M8022置1。,FIFO指令使用说明,图a中: 目标元件D1是FIFO堆栈的首地址,也是堆栈的指针,移位寄存器未装入 数据时应将D1清0。 在X000由OFF变为ON时,指针的值加1后写入数据。第一次写入时,源操 作数D0中的数据写入D2。,33,图b中 X000由OFF变为ON时,D2中的数据送到D20,同时指针D1的值减1,D3到D9的数据向右移一个字。 数据总是从D2读出,指针D1为0时,FIFO堆栈被读空,不再执

13、行上述处 理,零标志M8020为ON。 执行本指令的过程中,D9的数据保持不变。,34,移位写入指令的使用注意事项: 1)一般情况下2n512。 2)源操作数可取所有数据类型,目标操作数可取KnY、KnM、KnS、T、C和D。 3)SFWR(P)只有16位操作数,占7个程序步。,移位寄存器又称为FIFO(First In First Out,先入先出)堆栈,堆栈的长度范围为2512字。移位寄存器写入指令SFWR和移位寄存器读出指令SFRD用于FIFO堆栈的读写,先写入的数据先读出。 移位读出指令的使用注意事项: 1)一般情况下2n512。 2)源操作数可取所有数据类型,目标操作数可取KnY、K

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

15、D1为8; 当X2第2次,D9数据送D20,D1数值减小到7,一直到D1为0。 在写出过程中,D2D10数据保持不变。 利用FIFO指令,可以记录存入或取出的数据。,37,案例五 生产线质量控制,现代工业生产广泛采用流水作业,对成品或半成品进行分检,排除残次品是必须的工序。在流水线上,成品或半成品往往要经过若干项检验,符合要求者得以通过,随着流水线进入下道生产工步。而不合格者必须在某处集中地予以排除,不得进入下道生产环节。因此,成品或半成品随传送带递进过程中,对其进行的检验结果也必须同步地向前移动。这样,当不合格者移动到规定的排除点时,才能正确地加以排除,从而实现质检与分检。利用 PC 提供的

16、移位寄存器功能,可以很方便地做到这一点。,38,2,1,0,5,3,4,SW2,SW3,SW1,MV,SW1:检测有无次品 SW2:检测凸轮的突起 SW3:检测有无次品落下,SW1,SW2,SW3为光电传感器:,凸轮每转一圈发出一个脉冲,且每个脉冲过一个物品。当次品移到4号位时,电磁阀MV打开,次品落入次品箱内。无次品则自动掉入正品箱内。有一复位按钮SB实现手动复位。,例:,如何实现?,示意图,39,如图所示,工件在传送带上步行式前进。工件在0号站接受SW1光电检查。从0号站移到4号站要经过4次步进。移到4号站时,判断移到此站工件好还是坏。如果是废品则要求电磁阀YV打开,使废品掉下来。当SW3

17、检测到废品已掉下来后重新将电磁阀关闭,PC 的输入条件有以下几个:SW1光电检测,当工件合格时,SW1数据为“0”;当工件废品时,SW1数据为“1”。SW3光电检测,当数据为“1”表明废品已掉下来。 SW2为行程开关,凸轮每转一次SW2接通一次,工件步进一步。S为外加复位按钮。PC的输出点只有一个即电磁阀YV。,40,硬件连线,根据上述模块的学习,再依据图 1 中的标示,同学们可以自己画出输入及输出端口的分配,在这不加深述。,41,图 2 是该电路的梯形图和语句表。图中使用 M140 移位寄存器。 M140 , M141 , M142 分别表示移到 0 号位, 1 号位, 2 号位工件的品质好与坏。数据“ 1 ”代表品质“坏”。 M144 数据是“ 0 ”或“ 1 ”代表移至 4 号位工件是“好”还是“坏”。当 M144=ON ,电磁阀接通,打开阀门。,软件设计,参考例程,42,方法一,为什么要预设?,起什么作用?,自动/手动复位。为什么要放

温馨提示

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

评论

0/150

提交评论