第六章2程序流控制指令.pptx

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二节 程序流控制;操作数:指针 P0~P127 P63表示跳到END;图 CJ指令的使用 ;说明 CJ指令跳过部分程序,可以缩短程序的扫描周期。 一个指针只能出现一次。 如果积算型定时器和计数器的RST指令在跳转程序之内,即使跳转程序生效,RST指令仍然有效。 该指令可以连续和脉冲执行方式。 被跳过去的程序中各元件的状态为 Y、M、S保持跳转前状态不变。 定时器T和计数器C如果被CJ指令跳过,跳转期间它们的当前值将被保存。如果在跳转开始时定时器和计数器正在工作,在跳转期间它们将停止定时和计数。 T192~T199和高速计数器C235~C255如果在驱动后跳转,则继续工作,输出触点也会动作。;如图, X000为ON时,程序跳到指针P8处。 X000为OFF时,不执行跳转,程序按原顺序执行。 如果用M8000的常开触点驱动CJ指令,相当于无条件跳转指令,因为运行时特殊辅助寄存器M8000总是ON。;用跳转指令实现选择运行程序段 ;条件跳转指令应用举例;【解】 根据控制要求,设计程序梯形图如图所示。;二、子程序指令;梯形图 ;;说明 FEND指令表示主程序结束,与END指令的功能一样,程序执行到FEND时,进行输出处理、输入处理、监视定时器和计数器刷新,全部完成以后返回到程序的第00步。 执行到该指令时程序返回到0步。 中断服务子程序和子程序应该写在FEND之后,并且用IRET和SRET返回。 如果多次使用FEND指令,在最后的FEND和END之间编写子程序或中断子程序。 FEND主程序结束指令使用时应注意,子程序和中断子程序必须写在主程序结束指令FEND和END指令之间。 ;子程序调用举例;四、中断指令;说明 在执行某个中断子程序时,禁止其它中断请求。 用于中断的指针用来指明某一中断源的中断程序的入口。 中断程序允许嵌套,嵌套级别为2级。 中断指针共有15个:输入中断6个,定时器中断3个,计数器中断6个。 中断程序用T192~T199和T246~T249作定时器。 中断的优先级别 多个中断信号不同时产生时,按先后顺序中断。 多个中断信号同时产生时,按指针大小中断。; ; 图中一开始为允许中断。当X1从OFF→ON且保持ON,程序跳到指针I101处执行中断程序,执行第13行将K100送到D1,然后返回主程序,对定时器T0计时。当计时达到D1当前值K100时,T0触点闭合,Y0得电。;(2)定时器中断; 图中按X1,M3得电,定时器中断,执行中断指针I650每隔50ms使D0加1。直到当D0的当前值等于1000,M3失电。; (3)计数器中断;图中,执行第3步,将K1000与C255的当前值比较,当C255的当前值由999变到1000时,驱动计数器中断器I010(梯形图表示为I10),执行计数器中断程序。;(4)中断程序在执行过程中,不响应其他的中断(其他中断为等待状态)。不能重复使用与高速计数器相关的输入,不能重复使用I000与I001相同的输入。;(7)如果中断信号产生禁止中断区间(DI~EI之间),这个中断信号被存储,并在EI指令后执行。;说明 在执行某个中断子程序时,禁止其它中断请求。 中断程序允许嵌套,嵌套级别为2级。 中断指针共有15个:输入中断6个,定时器中断3个,计数器中断6个。 中断程序用T192~T199和T246~T249作定时器。 中断的优先级别 多个中断信号不同时产生时,按先后顺序中断。 多个中断信号同时产生时,按指针大小中断。; 1. 监视定时器指令的助记符及功能如表所示:;如果正常的扫描周期超过警戒时钟的设定值,可以在适当程序步中加入WDT指令,适时刷新警戒时钟,使程序能顺利执行。 也可以通过MOV指令修改警戒定时器的设定值(D8000的值)。 可以计算出程序扫描周期的最大值作为警戒时钟的设定值。 WDT指令可用在FOR-NEXT之间。; ?监视定时器指令WDT(P),没有操作数,占有1个程序步。WDT指令的功能是对PLC的监视定时器进行刷新。???;?????FX系列PLC的监视定时器缺省值为200ms(可用D8000来设定),正常情况下PLC扫描周期小于此定时时间。如果由于有外界干扰或程序本身的原因使扫描周期大于监视定时器的设定值,使PLC的CPU出错灯亮并停止工作,可通过在适当位置加WDT指令复位监视定时器,以使程序能继续执行到END。使用WDT指令时应注意: 1)如果在后续的FOR-NEXT循环中,执行时间可能超过监控定时器的定时时间,可将WDT插入循环程序中。 2)当与条件跳转指令CJ对应的指针标号在CJ指令之前时(即程序往回跳)就有可能连续反复跳步使它们之间的程序反复执行,使执行时间超过监控时间,可在CJ指令与对应标号之间插入WDT指令。;无操作数

文档评论(0)

5522280 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档