您现在的位置是:首页 > PLC技术 > PLC技术
S7-200系列PLC的中断指令
来源:艾特贸易2017-06-04
简介中断是计算机在实时处理和实时控制中不可缺少的一项技术,应用十分广泛。所谓中断,是当控制系统执行正常程序时,系统中出现了某些急需处理的情况或特殊请求,这时系统暂时中
中断是计算机在实时处理和实时控制中不可缺少的一项技术,应用十分广泛。所谓中断,是当控制系统执行正常程序时,系统中出现了某些急需处理的情况或特殊请求,这时系统暂时中断现行程序,转去对随机发生的更紧迫事件进行处理(执行中断服务程序),当该事件处理完后,系统自动回到原来被中断的程序继续执行。中断事件的发生具有随机性,中断在PLC应用系统中的人机联系、实时处理、通信处理和网络中非常重要。与中断相关的操作有中断服务和中断控制两种,这两种操作都需要中断指令来完成。本节在讲述中断指令之前,先介绍中断源、中断程序的调用原则等有关中断的基本知识,以便深入了解中断指令的使用方法。 1.中断源 中断源是中断事件向PLC发出中断请求的来源。S7-200 CPU最多可有34个中断源,每个中断源都分配一个编号用于识别,称为中断事件号。这些中断源大致分为三大类:通信中断、I/O中断和时基中断。 (1)通信中断 PLC的自由通信模式下,通过建立通信中断事件,使用通信指令,控制PLC的串行通信口与其他设备间的通信。 (2)I/O中断 I/O中断包括外部输入中断、高速计数器中断和高速脉冲串输出中断。外部输入中断是系统利用I0.0~I0.3的上升或下降沿来产生中断。这些输入点可被用作连接某些一旦发生必须引起注意的外部事件;高速计数器中断可以响应当前值等于预设值、计数方向的改变、计数器外部复位等事件所引起的中断;高速脉冲串输出中断可以用来响应给定数量的脉冲输出完成所引起的中断。 (3)时基中断 时基中断包括定时中断和定时器中断。定时中断可用来支持一个周期性的活动。周期时间1ms为单位,周期设定时间为5~255ms。对于定时中断0,把周期时间值写入SMB34;对于定时中断1,把周期时间值写入SMB35。每当达到定时时间值,相关定时器溢出,执行中断处理程序。定时中断可以用来以固定的时间间隔作为采样周期,对模拟量进行采样,也可以用来执行一个PID控制回路。定时器中断就是利用定时器来对一个指定的时间段产生中断。这类中断只能使用1ms通电和断电延时定时器T32和T96。当所用的当前值等于预定值时,在主机正常的定时刷新中,执行中断程序。 在S7-200的CPU22X中,最多可以响应34个中断时间,每个中断时间分配不同的编号,中断事件号见表5-15。 表5-15 中断事件号 2.中断程序的调用原则 (1)中断优先级 在PLC控制系统中通常有多个中断源。当多个中断同时向CPU申请中断时,要求CPU能将全部中断源按中断性质和处理的轻重缓急进行排队,并给予优先权。中断源被处理的次序就是中断优先级。 中断优先级由高到低的顺序依次是:通信中断,高速脉冲串输出中断、外部输入中断、高速计数器中断、定时中断、定时器中断。各个中断事件的优先级表5-16。 表5-16 中断事件的优先级表
(2)中断队列 在PLC中,CPU一般在指定的优先级内按照先来先服务的原则响应中断事件的中断请求,在任何时刻,CPU只执行一个中断程序。当CPU按照中断优先级响应并执行一个中断程序时,就不会响应其他中断事件的中断请求(尽管此时可能会有更高级别的中断事件发出中断请求),直到将当前的中断程序执行结束。在CPU执行中断程序期间,对新出现的中断事件仍然按照中断性质和优先级的顺序分别进行排队,形成中断队列。 3.中断调用指令 中断源向PLC发出中断请求,经过中断判优,将优先级最高的中断请求送给CPU,CPU响应中断后自动保存逻辑堆栈、累加器和某些特殊标志寄存器位,即保护现场。中断处理完成后,又自动恢复这些单元保存起来的数据,即恢复现场。要完成上述中断请求和中断相应操作,就需在编辑程序中使用中断调用指令。中断调用指令有5类6条,其指令格式见表5-17。 表5-17 中断调用指令格式
中断调用指令的说明如F。 (1)当进入正常运行RUN模式时,CPU禁止所有中断,只有在RUN模式下执行中断允许指令ENI,才能允许开放所有中断。 (2)多个中断事件可以调用同一个中断服务程序,但是同一个中断事件不能同时调用多个中断程序。 (3)中断分离指令DTCH禁止中断事件和中断程序之间的联系,它仅禁止某中断事件;关中断指令DISI,禁止所有中断。 (4)操作数 INT中程序号:0~127(为常数) EVENT中断事件号:0~32(为常数) 例:编制I0.0下降沿中断程序。中断调用程序见表5-18,中断服务程序见表5-19。 表5-18 中断调用程序
表5-19 中断服务程序
4.中断程序 中断程序亦称中断服务程序,是用户为处理中断事件而事先编制的程序,编程时可以用中断程序入口的中断程序号识别每一个中断程序。中断服务程序由中断程序号开始,以无条件返回指令结束。在中断程序中,用户亦可根据前面逻辑条件使用条件返回指令,返回主程序。PLC系统中的中断指令与微机原理中的不同,它不允许嵌套中断,但在中断程序中可以调用一个嵌套子程序,因为累加器和逻辑堆栈在中断程序和被调用的子程序中是公用的。表5-19中的程序是中断程序。
点击排行
