中断是计算机特有的工作方式,即在主程序的执行过程中中断主程序,而执行中断子程序。中断子程序是为某些特定的控制功能而设定的。与子程序不同,中断是为随机发生的且必须立即响应的时间安排的,其响应时间应小于机器周期。引发中断的信号称为中断源,S7-200有34个中断源,见表4-45。
表4-45 S7-200的34个中断源
注:“√”表明对应的CPU有相应的中断功能。
1.中断的分类
S7-200的34个中断源可分为三大类,即I/O口中断、通信口中断和时基中断。
(1)I/O口中断
I/O口中断包括上升沿和下降沿中断、高速计数器中断和脉冲串输出中断。S7-200可以利用I0.0~I0.3都有上升沿和下降沿这一特性产生中断事件。
(2)通信口中断
通信口中断包括端口0(Port0)和端口1(Port1)接收和发送中断。PLC的串行通信口可由程序控制,这种模式称为自由口通信模式,在这种模式下通信,接收和发送中断可以简化程序。
(3)时基中断
时基中断包括定时中断及定时器T32/96中断。定时中断可以反复执行,定时中断是非常有用的。
2.中断指令
中断指令共有6条,包括中断连接、中断分离、清除中断事件、中断禁止、中断允许和中断条件返回,见表4-46。
表4-46 中断指令
【例4-60】用中断指令编写程序,要求实现每隔100ms VD0中的数值增加1。
【解】
程序如图4-112所示,其中用到了中断。
图4-112 程序
a)主程序b)中断程序INT_0
注意:
①一个事件只能连接一个中断程序,而多个中断事件可以调用同一个中断程序,但一个中断事件不可能在同一时间建立多个中断程序。(www.xing528.com)
②在中断子程序中不能使用DISI、ENI、HDFE、FOR/NEXT和END等指令。
③程序中有多个中断子程序时,要分别编号。在建立中断程序时,系统会自动编号,也可以更改编号。建立子程序的方法有三种,最简单的方法是在程序编辑器中的空白处单击鼠标右键,再单击快捷菜单“插入”下的子菜单“中断程序”即可,如图4-113所示。
图4-113 插入中断程序
【例4-61】记录一台设备损坏(设备损坏时接通I0.0)的时间,请用PLC实现此功能。
【解】
程序如图4-114所示。
图4-114 中断指令程序
a)主程序b)中断程序
【例4-62】在I0.0的上升沿,通过中断使Q0.0立即置位,在I0.0的下降沿,通过中断使Q0.0立即复位。
【解】
梯形图如图4-115所示。
图4-115 梯形图
a)主程序b)中断程序INT_0 c)中断程序INT_1
【例4-63】用定时中断0,设计一段程序,实现周期为2s的精确定时。
【解】
SMB34是存放定时中断0的定时长短的特殊寄存器,其最大定时时间是255ms,2s就是8次250ms的延时。图4-116所示为梯形图。
图4-116 梯形图
a)主程序b)子程序
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。