PLC编程与应用 作者 何文雪 刘华波 吴贺荣编著 第07章_中断及高速处理指令.ppt

PLC编程与应用 作者 何文雪 刘华波 吴贺荣编著 第07章_中断及高速处理指令.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 中断及高速处理指令 7.1 中断程序与中断指令 7.1.1 中断程序 中断程序必须由三部分构成:中断程序标号(即中断事件的编号)、中断程序指令和无条件返回指令。 在中断程序中不能使用DISI、ENI、HDEF、LSCR和END指令。 在主程序和中断程序之间正确共享数据的编程技巧有以下3条: (1)STL程序共享单个变量 (2)LAD程序共享单个变量 (3)STL或LAD程序共享多个变量 7.1.2 中断指令 各种中断指令的LAD指令格式如图7-1所示。LAD指令名称及STL指令格式如表7-1所示,指令的有效操作数见表7-2。 表7-1 中断指令的LAD名称及STL指令格式 表7-2 中断指令的有效操作数 1.全局性的中断允许指令与中断禁止指令 中断允许指令(ENI,Enable Interrupt)全局性地允许所有被连接的中断事件。 禁止中断指令(DISI,Disable Interrupt)全局性地禁止处理所有中断事件,允许中断排队等候,但是不允许执行中断程序,直到用全局中断允许指令ENI重新允许中断。 进入RUN模式时自动禁止中断。 中断程序有条件返回指令(CRETI,conditional Return from Interrupt)在控制它的逻辑条件满足时从中断程序返回。 2.中断连接指令与中断分离指令 中断连接指令(ATCH,Attach Interrupt)用来建立中断事件EVNT(由中断事件号指定)和处理此事件的中断程序INT(由中断程序号指定)之间的联系,并使能该中断事件。 中断分离指令(DTCH,Detach Interrupt)用来断开中断事件(EVNT)与中断程序(INT)之间的联系,并禁止该中断事件。 消除中断事件指令(CEVNT,Clear Event)从中断队列中清除所有EVNT类型的中断事件。 7.1.3 中断源 1.中断源及种类 中断源是中断事件向PLC发出中断请求的来源。S7-200 CPU最多可以有34个中断源,这些中断源大致分为三大类:通信口中断、输入/输出(I/O)中断和时基中断。 (1)通信口中断 (2)I/O中断 I/O中断包括上升沿中断或下降沿中断、高速计数器(HSC)中断和脉冲串输出(PTO)中断。CPU可用输入点I0.0~I0.3的上升沿或下降沿产生中断。 【例7-1】在I0.0的上升沿通过中断使Q0.0立即置位。在I0.1的下降沿通过中断使Q0.0立即复位。程序设计如图7-2所示。 (3)时基中断 时基中断(Timed Interrupt)包括定时中断和定时器T32/T96中断。可用定时中断来执行一个周期性的操作,以1ms为增量单位,周期的时间可取lms~255ms。对定时中断0,必须把周期时间写入SMB34;对定时中断1,必须把周期时间写入SMB35。 定时中断一旦被允许,中断就会周期性地不断产生,每当定时时间到时,就会执行被连接的中断程序。如果退出RUN状态或定时中断被分离,定时中断被禁止。如果执行了全局中断禁止指令,定时中断事件仍会连续出现,每个定时中断事件都会进入中断队列,直到中断队列满。 【例7-2】定时中断的定时时间最长为255ms,用定时中断1实现周期为2s的高精度定时。 为了实现周期为2s的高精度周期性操作的定时,将定时中断的定时时间间隔设为250ms,在定时中断1的中断程序中,将VB0加1,然后用比较触点指令“LD=”判断VB0是否等于8。若相等(中断了8次,对应的时间间隔为2s),在中断程序中执行每2s一次的操作,例如采集模拟量输入的数值和使QB0加1,程序设计如图7-3所示。 对于定时间隔不同的任务,可以计算出它们的定时时间的最大公约数,以此作为定时中断的预置时间。在中断程序中对中断事件进行计数,根据计数值来处理不同的任务。 2.中断优先级 给中断源指定处理的次序就是给中断源确定中断优先级。 中断按以下固定的优先级顺序执行:通信(最高优先级)、I/O中断和定时中断(最低优先级)。在上述3个优先级范围内,CPU按照先来先服务的原则处理中断,任何时刻只能执行一个用户中断程序。3个中断队列及其能保存的最大中断个数如表7-4所示。 如果发生中断过于频繁,使中断产生的速率比可处理的速率快,或中断被DISI指令禁止,中断队列溢出状态位被置1,如表7-5所示。只应在中断程序中使用这些位,因为当队列变空或返回主程序时,这些位会被复位。 表7-4各中断队列的最大中断个数 3.中断控制 经过中断判优后,将优先级最高的中断请求送给CPU,CPU响应中断后自动保存逻辑堆栈、累加器和某些特殊标志寄存器位,即保护现场。中断处理完成后,又自动恢复这些单元保存起来的数据,即恢复现场。 7.2 高速处理指令 高速处理指令有高速计数指令和高速脉

文档评论(0)

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

1亿VIP精品文档

相关文档