1.中断
中断是计算机特有的工作方式,也是PLC重要的应用技术。某些中断事件的发生具有随机性,它需要系统暂时中断正在执行的程序,转到中断服务程序去处理这些紧急事件,处理完毕后再返回源程序继续执行。因此,中断在处理实时控制、运动控制和网络控制等复杂和特殊控制任务方面是非常重要的。
中断程序是由用户编写的,利用中断指令可将中断程序与中断事件连接起来,用来完成中断任务。也可以用指令取消中断程序与中断事件连接,或禁止全部中断。
2.中断源
中断源即中断事件发出中断请求的来源。S7-200 PLC具有34个中断源,每个中断源都被分配一个编号用于识别,称为中断事件号,如表6-15所示。这些中断源可分为三大类。
表6-15 中断事件及优先级
续表
(1)通信口中断
通信口中断含端口0及端口1接收与发送的相关中断。S7-200 PLC的串行通信口可由程序来控制,通信口的这种操作模式称为自由端口模式。在自由端口模式下,可由用户程序设置波特率、字符的位数、奇偶校验及通信协议。
(2)I/O中断
I/O中断包括外部输入中断、高速计数器中断和脉冲串输出中断。S7-200 PLC的CPU可用输入端10.0~I0.3的上升沿或下降沿产生中断,并可用这些上升沿或下降沿信号来表示某些需要及时响应的故障状态。
高速计数器中断可以是计数器等于设定值时的响应,也可以是计数方向改变时的响应,还可以是外部复位的响应。这些高速计数器事件可以实时地得到及时响应,而与S7-200PLC的扫描周期无关。
脉冲串输出中断可以用来响应给定数量的脉冲输出完成所引起的中断,其典型应用是对步进电动机的控制。
(3)时基中断(www.xing528.com)
时基中断包括定时中断和定时器中断等两类。
①定时中断
S7-200 PLC有定时中断0和定时中断1,用于执行一个周期性的操作,以1 ms为增量,周期时间可取范围为1~255 ms。定时中断0的周期时间写入SMB34中,定时中断1的周期时间写入SMB35中。每当定时器的定时时间到时,执行相应的中断程序,通常可用固定时间的定时中断来采样模拟量或者去执行一个PID程序。
如果定时中断事件已被连接到一个定时中断程序,为了改变定时时间间隔,必须先修改SM34或SM35的值,然后重新把中断事件连接到中断程序。重新连接时,定时中断功能清除前一次连接的定时值,用新的定时值开始定时。
②定时器中断
定时器T32和T96中断用于及时地响应一个给定的时间间隔,这种中断只支持1 ms分辨率的延时通电定时器(TON)T32和延时断电定时器(TOF)T96。T32和T96的工作方式与普通定时器相同,中断允许且定时器的当前值等于设定值时,在CPU的1 ms定时刷新中,执行被连接的中断程序。
3.中断优先级
由于中断程序是脱离程序扫描执行机制的,如有多个突发事件同时出现时,必须按顺序进行处理,这个顺序就是中断优先级。中断优先级由高到低的顺序是:通信中断(最高级)、I/O中断(中级)、时基中断(最低级)。而每一级又可分级,如表6-15所示。
在3个优先级范围内,CPU按照先来先服务的原则处理中断,任何时刻只能执行一个中断程序。一旦一个中断程序开始执行,就一直执行到结束为止,即使另一中断程序的优先级较高,也不能中断正在执行的中断程序。
当正处理一个中断时出现新的中断需排队等待,这就是中断队列。表6-16给出了3个中断队列及其能保存的最大中断个数,如果超过队列容量,则会产生溢出,相应的特殊标志位寄存器被置1。这些存储器位在队列变空或控制返回到主程序时会复位。当存在多种中断队列时,CPU优先响应优先级别高的中断。
表6-16 各种CPU的中断队列最大数及溢出位
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。