可编程控制器原理及应用 教学课件 作者 田淑珍链接文件夹第五章 006.DOC

可编程控制器原理及应用 教学课件 作者 田淑珍链接文件夹第五章 006.DOC

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
循环移位将移位数据存储单元的首尾相连,同时又与溢出标志SM1.1连接,SM1.1用来存放被移出的位。指令格式见表5-6。 (1)循环左移位指令(ROL) 使能输入有效时,将IN输入无符号数(字节、字或双字)循环左移N位后,将结果输出到OUT所指定的存储单元中,移出的最后一位的数值送溢出标志位SM1.1。当需要移位的数值是零时,零标志位SM1.0为1。 (2)循环右移位指令(ROR) 使能输入有效时,将IN输入无符号数(字节、字或双字)循环右移N位后,将结果输出到OUT所指定的存储单元中,移出的最后一位的数值送溢出标志位SM1.1。当需要移位的数值是零时,零标志位SM1.0为1。 (3)移位次数N≥数据类型(B、W、D)时的移位位数的处理 如果操作数是字节,当移位次数N≥8时,则在执行循环移位前,先对N进行模8操作(N除以8后取余数),其结果0-7为实际移动位数。 如果操作数是字,当移位次数N≥16时,则在执行循环移位前,先对N进行模16操作(N除以16后取余数),其结果0-15为实际移动位数。 如果操作数是双字,当移位次数N≥32时,则在执行循环移位前,先对N进行模32操作(N除以32后取余数),其结果0-31为实际移动位数。 (4)使ENO = 0的错误条件:0006(间接寻址错误),SM4.3(运行时间) 表5-6 循环左、右移位指令格式及功能 LAD STL RLB OUT,N RRB OUT,N RLW OUT,N RRW OUT,N RLD OUT,N RRD OUT,N 操作数及数据类型 IN:VB, IB, QB, MB, SB, SMB, LB, AC, 常量。 OUT:VB, IB, QB, MB, SB, SMB, LB, AC。 数据类型:字节 IN:VW, IW, QW, MW, SW, SMW, LW, T, C, AIW, AC, 常量。 OUT:VW, IW, QW, MW, SW, SMW, LW, T, C, AC。 数据类型:字 IN:VD, ID, QD, MD, SD, SMD, LD, AC, HC, 常量。 OUT:VD, ID, QD, MD, SD, SMD, LD, AC。 数据类型:双字 N:VB, IB, QB, MB, SB, SMB, LB, AC, 常量;数据类型:字节。 功能 ROL:字节、字、双字循环左移N位;ROR:字节、字、双字循环右移N位。 说明:在STL指令中,若IN和OUT指定的存储器不同,则须首先使用数据传送指令MOV将IN中的数据送入OUT所指定的存储单元。如:MOVB IN,OUT SLB OUT,N 【例5-4】程序应用举例,将AC0中的字循环右移2位,将VW200中的字左移3位。程序及运行结果如图5-4所示。 图5-4 例5-4题图 【例5-5】用I0.0控制接在Q0.0~Q0.7上的8个彩灯循环移位,从左到右以0.5s的速度依次点亮,保持任意时刻只有一个指示灯亮,到达最右端后,在从左到右依次点亮。 分析:8个彩灯循环移位控制,可以用字节的循环移位指令。根据控制要求,首先应置彩灯的初始状态为QB0=1,即左边第一盏灯亮;接着灯从左到右以0.5s的速度依次点亮,即要求字节QB0中的“1”用循环左移位指令每0.5s移动一位,因此须在ROL-B指令的EN端接一个0.5s的移位脉冲(可用定时器指令实现)。梯形图程序和语句表程序如图5-5所示。 LD SM0.1 //首次扫描时 MOVB 1, QB0 //置8位彩灯初态 LD I0.0 //T37产生周期为 AN T37 0.5s的移位脉冲 TON T37, +5 LD T37 //每来一个脉冲 RLB QB0, 1 彩灯循环左移1位 图5-5 例5-5题图 AC0循环右移前 AC0循环右移后 VW200左移位前 VW200左移位后 1101 0001 0001 1000 1101 0001 0001 1000 0011 0100 0100 0110 0 1000 1000 1100 0000 0

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档