在200SMART系列PLC中共有三大类中断事件,分别是:I/O中断:I/O 中断包括上升/下降沿中断、高速计数器中断和脉冲串输出中断。CPU 可以为输入通道 I0.0、I0.1、I0.2 和 I0.3(以及带有可选数字量输入信号板的标准 CPU 的输入通道 I7.0 和 I7.1)生成输入上升和/或下降沿中断。可对这些输入点中的每一个捕捉上升沿和下降沿事件。这些上升沿/下降沿事件可用于指示在事件发生时必须立即处理的状况。
高速计数器中断可以对下列情况做出响应:当前值达到预设值,与轴旋转方向反向相对应的计数方向发生改变或计数器外部复位。这些高速计数器事件均可触发实时执行的操作,以响应在可编程逻辑控制器扫描速度下无法控制的高速事件。 脉冲串输出中断在指定的脉冲数完成输出时立即进行响应。脉冲串输出的典型应用为步进电机控制。
通信中断:CPU 的串行通信端口可通过程序进行控制。通信端口的这种操作模式称为自由端口模式。在自由端口模式下,程序定义波特率、每个字符的位数、奇偶校验和协议。接收和发送中断可简化程序控制的通信
时基中断:基于时间的中断包括定时中断和定时器 T32/T96 中断。可使用定时中断指定循环执行的操作。循环时间位于 1 ms 到 255 ms 之间,按增量为 1 ms 进行设置。必须在定时中断 0 的 SMB34 和定时中断 1 的 SMB35 中写入循环时间。
每次定时器到时时,定时中断事件都会将控制权传递给相应的中断程序。通常,可以使用定时中断来控制模拟量输入的采样或定期执行 PID 回路。将中断程序连接到定时中断事件时,启用定时中断并且开始定时。连接期间,系统捕捉周期时间值,因此 SMB34 和 SMB35 的后续变化不会影响周期时间。要更改周期时间,必须修改周期时间值,然后将中断例程序重新连接到定时中断事件。重新连接时,定时中断功能会清除先前连接的所有累计时间,并开始用新值计时。
定时中断启用后,将连续运行,每个连续时间间隔后,会执行连接的中断程序。如果退出 RUN 模式或分离定时中断,定时中断将禁用。如果执行了全局 DISI(中断禁止)指令,定时中断会继续出现,但是尚未处理所连接的中断程序。每次定时中断出现均排队等候,直至中断启用或队列已满。 使用定时器 T32/T96 中断可及时响应指定时间间隔的结束。仅 1 ms 分辨率的接通延时 (TON) 和断开延时 (TOF) 定时器 T32 和 T96 支持此类中断。否则 T32 和 T96 正常工作。启用中断后,如果在 CPU 中执行正常的 1 ms 定时器更新期间,激活定时器的当前值等于预设时间值,将执行连接的中断程序。可通过将中断程序连接到 T32(事件 21)和 T96(事件 22)中断事件来启用这些中断。
当多个中断同时发生请求时,CPU对中断响应有优先顺序,从高到低的中断顺序分别是通信中断、I/O中断及最低的时基中断。 需要注意的是,当比如在执行I/O中断时,通信中断又产生了,此时不会马上去执行通信中断,而是执行完正在执行的I/O中断后再执行通信中断。而如果同时产生的话就是按优先顺序执行了
下表为不同的中断事件号对应的中断事件:
事件 |
说明 |
CR20s |
SR20/ST20 |
---|---|---|---|
0 |
I0.0 上升沿 |
Y |
Y |
1 |
I0.0 下降沿 |
Y |
Y |
2 |
I0.1 上升沿 |
Y |
Y |
3 |
I0.1 下降沿 |
Y |
Y |
4 |
I0.2 上升沿 |
Y |
Y |
5 |
I0.2 下降沿 |
Y |
Y |
6 |
I0.3 上升沿 |
Y |
Y |
7 |
I0.3 下降沿 |
Y |
Y |
8 |
端口 0 接收字符 |
Y |
Y |
9 |
端口 0 发送完成 |
Y |
Y |
10 |
定时中断 0(SMB34 控制时间间隔) |
Y |
Y |
11 |
定时中断 1(SMB35 控制时间间隔) |
Y |
Y |
12 |
HSC0 CV=PV(当前值 = 预设值) |
Y |
Y |
13 |
HSC1 CV=PV(当前值 = 预设值) |
Y |
Y |
14-15 |
保留 |
N |
N |
16 |
HSC2 CV=PV(当前值 = 预设值) |
Y |
Y |
17 |
HSC2 方向改变 |
Y |
Y |
18 |
HSC2 外部复位 |
Y |
Y |
19 |
PTO0 脉冲计数完成 |
N |
Y |
20 |
PTO1 脉冲计数完成 |
N |
Y |
21 |
定时器 T32 CT=PT(当前时间 = 预设时间) |
Y |
Y |
22 |
定时器 T96 CT=PT(当前时间 = 预设时间) |
Y |
Y |
23 |
端口 0 接收消息完成 |
Y |
Y |
24 |
端口 1 接收消息完成 |
N |
Y |
25 |
端口 1 接收字符 |
N |
Y |
26 |
端口 1 发送完成 |
N |
Y |
27 |
HSC0 方向改变 |
Y |
Y |
28 |
HSC0 外部复位 |
Y |
Y |
29 |
HSC4 CV=PV |
N |
Y |
30 |
HSC4 方向改变 |
N |
Y |
31 |
HSC4 外部复位 |
N |
Y |
32 |
HSC3 CV=PV(当前值 = 预设值) |
Y |
Y |
33 |
HSC5 CV=PV |
N |
Y |
34 |
PTO2 脉冲计数完成 |
N |
Y |
35 |
I7.0 上升沿(信号板) |
N |
Y |
36 |
I7.0 下降沿(信号板) |
N |
Y |
37 |
I7.1 上升沿(信号板) |
N |
Y |
38 |
I7.1 下降沿(信号板) |
N |
Y |
43 |
HSC5 方向改变 |
N |
Y |
44 |
HSC5 外部复位 |
N |
Y |
S7-200SMART plc,西门子plc的中断指令
ATCH:中断连接,连接某中断事件所要调用的程序段。ENI:全局允许中断,开放中断处理功能。DISI:全局禁止中断,禁止处理中断服务程序,但中断事件仍然会排队等候。DTCH:中断分离,将中断事件号与中断服务程序之间的关联切断,并禁止该中断事件。RETI:条件中断返回,根据逻辑操作的条件,从中断服务程序中返回。CLR_EVNT:清空中断队列。 ATCH表示中断连接指令,用于中断事件号和中断程序进行连接
INT管脚表示连接具体的中断程序EVNT表示中断事件号ENI为允许中断指令。CPU在RUN模式下时是禁止中断功能的,在使用中断程序前必须使用允许开中断指令
中断分离指令DTCH 中断分离指令解除中断事件 EVNT 与所有中断例程的关联,并禁用中断事件,需要再次激活中断程序时,则需再次激活允许中断连接
中断返回 RETI 中断有条件返回指令可用于根据前面的程序逻辑的条件从中断返回,不再执行后面的程序段,在中断程序中使用
中断禁止指令 DISI
当指令执行后禁止所有中断,即便发生中断事件也不会执行中断程序;需重新开启允许中断后才可再次使用中断功能。中断禁止和中断分离有一定的区别,中断分离是断开某个中断事件而中断禁止是断开整个中断程序
1、中断程序应短小而简单,执行时对其他处理越短越好2、200SMART 最多使用128个中断程序,中断程序不能嵌套3、中断程序执行后会自动返回,也可在中途由逻辑控制使用中断返回指令返回4、中断程序只需要和中断事件连接一次(使用沿脉冲或SM0.1 );多个中断事件可以连接一个中断服务程序;一个中断事件只能连接一个中断程序 5、中断程序不能通过条件调用,只有由用户程序把中断程序名称和中断事件联系起来,并且需要允许中断后才能进入等待中断并随时执行的状态.
神级汇总,西门子PLC中断指令及例程 ATCH和ENI
www.dzkfw.com.cn/Article/tixingtu/10187.html
PLS指令,子程序和中断程序用法
www.dzkfw.com.cn/Article/tixingtu/10134.html
西门子S7-200smart通过瞬时流量来计算累计流量的一种方法 中断IN_T0
www.dzkfw.com.cn/Article/tixingtu/10154.html