新疆西门子S7-200SMARTPLC代理批发销售西门子S7-200 PLC中断指令在计算机控制中,对于那些可考虑的不定期产生的急需处理事件,常常通过采用中断处理技术来完成,当CPU响应中断请求后,会暂时停止当前正在执行的程序,进行现场保护,在将累加器、逻辑堆栈、寄存器及特殊继电器的状态和数据保存起来后,转到相应的中断服务程序中去处理。一旦处理结束,立即恢复现场,将保存起来的现场数据和状态重新装入,返回到原程序继续执行。这种工作方式就叫中断方式。
在启动中断程序之前,必须使中断事件与发生此事件时希望执行的程序段(中断程序INT n)建立联系,使用中断连接指令(ATCH)。将中断事件连接于中断程序时,该中断自动被启动。
使用中断分离指令( DTCH)可删除中断事件与中断程序之间的联系因而关闭耽搁中断事件。
在S7-200中,可以引发的中断事件总共有5大类34项,每个中断事件分配不同的编号,编号范围:0~34。其中输入信号引发的中断事件有8项,通信口引发的中断事件有6项,定时器引发的中断事件有4项,高速计数器引发的中断事件有14项,脉冲指令引起的中断事件有2项,见表4-25。
表4-25 中断事件号表
事件号 | 中断事件描述 | CPU221 | CPU222 | CPU224 | CPU226 |
0 | I0.0上升沿中断 | Y | Y | Y | Y |
1 | I0.0下降沿中断 | Y | Y | Y | Y |
2 | T0.1上升沿中断 | Y | Y | Y | Y |
3 | I0.1下降沿中断 | Y | Y | Y | Y |
4 | I0.2上升沿中断 | Y | Y | Y | Y |
5 | I0.2下降沿中断 | Y | Y | Y | Y |
6 | I0.3上升沿中断 | Y | Y | Y | Y |
7 | I0.3下降沿中断 | Y | Y | Y | Y |
8 | 通信口0:接收字符 | Y | Y | Y | Y |
9 | 通信口0:发送字符完成 | Y | Y | Y | Y |
10 | 定时中断0,SMB34存放定时间隔,5~255s | Y | Y | Y | Y |
11 | 定时中断1,SMB35存放定时间隔,5~255s | Y | Y | Y | Y |
12 | 高速计数器0:CV= PV(当前值=设定值) | Y | Y | Y | Y |
13 | 高速计数器1:CV= PV(当前值=设定值) | - | - | Y | Y |
14 | 高速计数器1:输入方向改变 | - | - | Y | Y |
15 | 高速计数器1:外部复位 | - | - | Y | Y |
16 | 高速计数器2:CV= PV(当前值=设定值) | - | - | Y | Y |
17 | 高速计数器2:输入方向改变 | - | - | Y | Y |
18 | 高速计数器2:外部复位 | - | - | Y | Y |
19 | PTO 0脉冲串输出完成中断 | Y | Y | Y | Y |
20 | PTO 1脉冲串输出完成中断 | Y | Y | Y | Y |
21 | 定时器T32 CT= PT中断 | Y | Y | Y | Y |
22 | 定时器T96 CT= PT中断 | Y | Y | Y | Y |
23 | 通信口0:接收信息完成 | Y | Y | Y | Y |
24 | 通信口1:接收信息完成 | - | - | Y | Y |
25 | 通信口1:接收字符 | - | - | Y | Y |
26 | 通信口1:发送字符完成 | - | - | Y | Y |
27 | 高速计数器0:输入方向改变 | Y | Y | Y | Y |
28 | 高速计数器0:外部复位 | Y | Y | Y | Y |
29 | 高速计数器4:CV= PV(当前值=设定值) | Y | Y | Y | Y |
30 | 高速计数器4:输入方向改变 | Y | Y | Y | Y |
31 | 高速计数器4:外部复位 | Y | Y | Y | Y |
32 | 高速计数器3:CV= PV(当前值=设定值) | Y | Y | Y | Y |
33 | 高速计数器5:CV= PV(当前值=设定值) | Y | Y | Y | Y |
高速计数器共有12种工作模式,大体可分为四类:
①带内部方向控制的单向计数器,这类计数器只有一个计数输入端,工作模式为模式0、1、2。
②带外部方向控制的单向计数器,这类计数器只有一个计数输入端,增加了一个外部输入点来控制计数方向(增计数还是减计数),工作模式为模式3、4、5。
③双向计数器,这类计数器有两个计数输入端,一个增计数输入端,一个减计数输入端。这类计数器的工作模式为模式6、7、8。
④正交计数器,这种计数器有两个时钟脉冲输入端,一个输入端叫A相,一个输入端叫B相。当A相时钟脉冲超前B相时钟脉冲时,计数器进行增计数。当A相时钟脉冲滞后B相时钟脉冲时,计数器进行减计数。这类计数器的工作模式为模式9、10、11。在正交模式下,可选择1倍或4倍计数速率来计数。
①中断优先级。在S7-200的中断系统中,将全部中断事件按中断性质和轻重缓急分配不同的优先级,使得当多个中断事件同时发出中断请求时,按照优先级的从高到低进行排队,优先级的顺序按照中断性质依次是通信中断、高速脉冲串输出中断、外部输入中断、高速计数器中断、定时中断、定时器中断。
②中断队列。在PLC中,CPU一般在指定的优先级内按照先来先服务的原则响应中断事件的中断请求,在任何时刻,CPU只执行一个中断程序。当CPU按照中断优先级响应并执行一个中断程序时,就不会响应其他中断事件的中断请求(尽管此时可能会有更高级别的中断事件发出中断请求),直到将当前的中断程序执行结束。在CPU执行中断程序期间,对新出现的中断事件仍然按照中断性质和优先级的顺序分别进行排队,形成中断队列。
③在S7-200中,无中断嵌套功能,但在中断程序中可以调用一个嵌套子程序,因为累加器和逻辑堆栈在中断程序和被调用的子程序中是公用的。
④多个中断事件可以调用同一个中断服务程序,但是同一个中断事件不能同时指定调用多个中断服务程序,否则,当某个中断事件发生时,CPU只调用为该事件指定的一个中断服务程序。
对于相同的操作模式,全部计数器的运行方式均相同,并非每种计数器均支持全部工作模式。
①开中断指令ENI( Enable Interrupt)和关中断指令DISI( Disable Interrupt)
·开中断指令的功能是全局地启动全部中断事件,一旦进入运行模式,就允许CPU接收所有中断事件的中断请求,并执行各个已经激活的中断事件。
·关中断指令的功能是全局地关闭所有中断事件,禁止CPU接收各个中断事件的中断请求。
开/关中断指令格式如图4-71所示。
图4-71 开/关中断指令
当CPU进入RUN状态时,禁止中断,但是可以通过执行开中断指令ENI,全面开放中断。当CPU执行关中断指令DISI后,中断队列仍会产生,但是不执行中断程序。
②中断连接指令ATCH( Attach)。中断连接指令的功能是建立一个中断事件EVNT与一个标号为INT的中断服务程序的联系,并对该中断事件开放,根据指定事件优先级组,PLC按照先来先服务的顺序对中断提供服务。
图4-72 中断连接指令
中断连接指令ATCH的格式如图4-72所示,它有两个数据输入端:
·INT为中断服务程序号,用字节型常数输入(范围为:0~127)。
·EVNT为中断事件号,用字节型常数输入(范围为:0~33)。
当允许输入有效时,连接与中断事件EVNT相关联的INT中断程序,并去执行对应的中断程序。
影响允许输出ENO正常输出的出错条件为:SM4.3(运行时间),0006(间接寻址)。
③中断分离指令DTCH( Detach)。中断分离指令的功能是取消某个中断事件EVNT与所有中断程序的关联.并对该事件关中断。指令格式如图4-73所示。
图4-73 中断分离指令
中断分离指令只有一个数据输入端“EVNT”,用以指明要被分离的中断事件。当允许输入有效时,切断由EVNT指定的中断事件与所有中断程序的联系。
④中断返回指令CRETI(Conditional Return Interrupt)和RETI( Return Interrupt)。CRETI是有条件返回指令,可根据先前编辑条件从中断程序返回,可放置在中断程序的任何位置。在梯形图中以线圈形式编程,无操作数。
RETI是无条件返回指令,当中断结束时,通过中断返回指令退出中断服务程序,返回到主程序。Micro/WIN32自动为各中断程序的结尾处添加了无条件返回(RETI),在编写程序时,用户不必再书写无条件返回指令了。
新疆西门子S7-200SMARTPLC代理批发销售