- 1、本文档共31页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
S7-200程序控制类指令及应用
二、中断优先级及中断队列 由于中断控制是脱离于程序的扫描执行机制的,如有多个突发事件出现时处理也必须有个秩序,这就是中断优先级。S7—200 PLC中断优先组别从大的方面按下列顺序分级: 通信(最高级); I/O(含HSC和脉冲列输出)(中极); 定时(最低级)。 在每一级中又可分别分级。 优先级还有以下约定。 * * 中断事件的优先级顺序: * * * * 三、中断指令及中断程序 中断是计算机为应对紧急事件而设立的一种运行机制,但是并不一定在计算机的任何运行时间点上都可以允许中断的发生。对于PLC应用程序的运行来说,任何时候都响应内部及外部的所有中断称为全局开中断,任何时候都不响应各种中断称为全局禁止中断。 当PLC进入RUN状态时,自动进入全局禁止中断状态,如需在适当的时候开放全局中断时,可在用户程序中使用全局中断允许指令(ENI),反之,如需全局禁止中断时,可在应用程序中的适当位置使用全局中断禁止指令(DISI)。执行DISI指令不会影响当前正在执行中的中断程序的执行,只有当该中断程序执行完毕后,DISI功能才有效。 * * 相对全局开放中断的条件下,单个中断可独立地开放与禁止,所用的指令分别为中断连指令(ATCH) 及中断分离指令(DTCH)。ATCH指令更重要的职能是将中断事件与该事件发生时需执行的中段程序段连接起来。在ATCH指令参数中,设有中断事件号及所对应的中段程序号,而所有的中断程序都依次排列在主程序之后,并用中断标号指令(INT)标示号码。在ATCH指令指定相应中断子程序时,自动允许中断。与此相反,中断分离指令DTCH分离中断事件与中断子程序的联系,自动关闭中断。 * * ENI INT LAD STL 中断 允许指令 LAD STL DISI 中断 禁止指令 中断条件 返回指令 LAD STL CRETI 中断无条件 返回指令 LAD STL RETI 中断标号 LAD STL INT N N * * EN ATCH ENO INT EVNT ATCH INT,EVNT 中断连接指令 DTCH EVNT 中断分离指令 EN DTCH ENO EVNT 操作数: * * 中断是随机产生的,即在主程序执行的过程中随时都可能产生中断,为了减少主程序中断的不良影响,被中断的时间越短越好,这就要求中断子程序尽可能简洁。在CPU接到中断申请且准备响应时,系统先将反映指令执行情况及累加器状态的逻辑堆栈、累加器、寄存器及特殊标志位保存,然后再去执行中断程序。 对于通讯及外部中断,每一个中断申请一般只执行中断程序一次。对于时基或定时器中断,每隔一定的时间执行中断程序一次。当中断程序执行完毕时,恢复中断执行前保存的数据,程序返回主程序原断点执行。 * * 四、中断程序的执行 下降沿中断服务程序举例: * * 用定时中断读取模拟量数值举例: * * S7-200程序控制类指令及应用 * * 王兵 跳转指令、循环指令、子程序指令、中断指令统称为程序控制类指令。 程序控制类指令用于程序执行流程的控制。对一个扫描周期而言,跳转指令可以使程序出现跨越或跳跃以实现程序段的选择;子程序指令可调用某段子程序;循环指令可多次重复执行指定的程序段;中断指令则用于中断信号引起的子程序调用。 程序控制类指令可以影响程序执行的流向及内容,对合理安排程序的结构,提高程序功能以及实现某些技巧性运算,具有重要的意义。 * * 第一节 跳转指令 一、跳转及标号指令 跳转指令使程序流程跳转到指定标号N处的程序分支执行。 JMP N 跳转指令 LBL N 标号指令 * * 左图是跳转指令在梯形图中应用的例子。Network 4中的跳转指令使程序流程跨过一些程序分支(Network5~15)跳转到标号3处继续运行。跳转指令中的“N”与标号指令中的“N”值相同。 * * 可以有多条跳转指令使用同一标号,但不允许一个跳转指令对应两个标号,即在同一程序中不允许存在两个相同的标号。 可以在主程序、子程序或者中断服务程序中使用跳转指令,跳转与之相应的标号必须位于同一段程序中。一般将标号指令设在相关跳转指令之后,这样可以减少程序的执行时间。 在跳转条件中引入上升沿或下降沿脉冲指令时,跳转只执行一个扫描周期,但若用特殊辅助继电器SM0.0作为跳转指令的工作条件,跳转就成为无条件跳转。 * * 使用跳转指令应注意以下几点: 二、跳转指令的应用实例 * * * * 第二节 循环指令 一、循环指令及其功能 FOR-NEXT指令循环执行FOR(开始)指令和NEXT(结束)指令之间的循环体(程序)指令段一定次数。
文档评论(0)