1、中断指令及其应用 1中断指令说明及其梯形图表示方法中断指令的助记符、指令代码、操作数、程序步见表 中断指令使用要素,中断是指PLC在执行主程序的过程中,根据中断条件自动转去执行中断子程序。中断是为某些特定的控制功能而设定的独立于主程序的子程序。和普通子程序的不同点是,这些特定的控制功能都有一个共同的特点,即要求:中断子程序响应时间小于机器的中断源。FX2N系列PLC有三类十五个中断源:输入中断(6个)、定时器中断(3个)、和计数器中断(6个)。为了区别不同的中断源入口,应在程序中标明不同的中断指针标号(在编写中断子程序的指令表时,标号需占一行)。指针地址编号不可重复使用。,六个输入中断指针是接
2、收对应输入端X000X005信号而执行中断子程序的。常用于由外部干预需要中断处理一些工作的场合。三个定时器中断标号是机内的中断定时器,当定时值与设定时间相等时,自动执行中断子程序。常用于需要周期性中断处理一些工作的场合。六个计数器中断标号是机内高速计数器(C235C255)计数值与设定值比较相等时,指定执行中断子程序的入口地址。常用于由高速计数器计数而需要中断处理一些工作的场合。,中断子程序是脱离于程序扫描执行的。处理多个中断子程序突发执行的优先秩序,称为中断优先权。 FX2N系列PLC一共有15个中断,其优先权由中断号的大小决定,号数小的中断优先权高。外部输入中断号整体上高于定时器中断。即外
3、部输入中断的优先权较高。 中断子程序是为一些特定的随机事件处理而设计的子程序,它能否允许响应中断请求,取决于主程序中是否安排有中断允许的开放区和中断禁止的关闭区。,在主程序中,允许中断指令EI与禁止中断指令DI指令之间为允许(或开)中断区,区外为关中断。若EI和DI在主程序的头尾,则整个主程序都为开中断区,称为全程允许中断。 PLC是根据开中断区中的工作性质决定是否响应中断子程序的。如果主程序后面安排的中断子程序比较多,而这些中断子程序又不一定需要同时响应时,可以在主程序开中断区中安排特殊辅助继电器M8050M8059对输入,定时,计数中断子程序选择执行, M8050M8059与15个中断指针
4、的对应关系如表87所示。机器规定:当M8050M8059被置1时,其对应的中断被封锁;反之置时,允许对应的中断执行。,中断指令的梯形图表示如图812所示。从图中可以看出,中断程序作为子程序是安排在主程序结束指令FEND之后的。主程序中EI及DI指令之间的程序区为允许中断子程序响应的范围。若主程序带有多个中断子程序时,为了区分每个独立的中断子程序,中断标号和与其最近的一处中断返回指令构成的程序即为一个中断子程序。,2.中断指令的执行过程及应用实例 (1)外部(输入)中断子程序外部输入中断常用来引入发生频率高于机器扫描频率的外控制信号,或用于处理那些需快速响应的信号。比如,在可控整流装置的控制中,
5、取自同步变压器的触发同步信号可经专用输入端子引入可编程控制器作为中断源,并以此信号作为移相角的计算起点。,在主程序的开中断区, 当X001=OFF,则M8050 =OFF,标号为I001的中断子程序允许执行,即每当输入口X000接收到一次上升沿中断请示信号时,就执行该中断子程序一次,使Y000=ON,利用触点型秒脉冲特殊继电器M8013驱动Y012每秒接通一次,中断子程序执行完后返回主程序。,(2)定时中断子程序为一个时间比较的验证性中断子程序。定时中断子程序的入口标号为I610,每10ms自动执行一次中断子程序。从梯形图的程序可知: 当程序第一次扫描执行期间, M8056=ON,标号为I61
6、0的定时中断子程序禁止执行,只对M1M3,D0和T0初始化; 第二次扫描执行程序时,M8056=OFF,定时中断子程序允许工作,即每间隔10mS,执行一次中断子程序,数据存储器D0中加1,当加到1000时,M2为ON,使主程序中Y002置1。为了验证定时中断子程序执行的正确性,主程序中的定时器T0与中断子程序同时定时运行,其设定值也为10秒,控制输出端Y001,这样主程序与中断子程序经过10S的运行,Y001及Y002应同时置1。,(3)计数器中断子程序 计数器中断是利用PLC内部的高速计数器对外部脉冲计数,若当前计数值与设定值比较相等时,执行中断子程序。计数器中断子程序常用于利用高速计数器计数进行优先控制的场合。计数器中断要与高速计数器比较置位指令FNC 53 (HSCS)组合使用才能实现。图8-16所示,当高速计数器C255的当前计数值与K100比较相等时,产生中断响应,转去执行中断指针指向的中断子程序,中断子程序执行完后,返回原断点后的主程序。,计数器中断子程序实例2,M8059=OFF,允许中断,I010,高速计数器C255计到1000,执行中断程序,