S7-21x过程中断(I/O 中断)

问题:
如何为S7-21x编程过程中断(I/O 中断)?

解答:
下列CPU可处理一个或更多的过程中断 (I/O 中断):

I/O中断

CPU210

CPU212

CPU214

CPU215

CPU216

输入n

无n

I 0.0n

I 0.0
至 I 0.3n

I 0.0
至 I 0.3n

I 0.0 至
I 0.3n

可能的中断程序的个数n

无n

INT 0 – 127n

INT 0 127n

INT 0 127n

INT 0 – 127n

I/O中断包括上升沿或下降沿中断,高速计数器中断和脉冲串中断。如果遇有输入的上升沿和/或下降沿,CPU可以生成一个中断。可以为这些输入中的每一个定义上升沿事件和下降沿事件。操作系统给每个事件分配一个固定的事件号。

事件

输入

事件编号

优先级

上升沿在n

I 0.0n

0n

0n

下降沿在n

I 0.0n

1n

4n

上升沿在n

I 0.1n

2n

1n

下降沿在n

I 0.1n

3n

5n

上升沿在n

I 0.2n

4n

2n

下降沿在n

I 0.2n

5n

6n

上升沿在n

I 0.3n

6n

3n

下降沿在n

I 0.3n

7n

7n

在下面的实例中,中断程序“4”被分配给输入In0.0的上升沿事件,这样就可以在中断程序“INTn4”中为中断事例编写你的程序了。

命令的作用

命令

操作数

操作数实例

网络 1n

通过询问只在第一个周期“1”里有的标志,把事件分配给一个独一无二的中断号n

LDn

SM 0.1n

SM 0.1n

把中断程序号“4 (INT 4)”分配给输入 I 0.0 中,带有“事件号:0n”的上升沿事件n

ATCHn

INT,EVENTn

4,0n

允许所有的中断事件n

ENIn

继续主程序n

….n

….n

主程序结束n

MENDn

网络 Xn

调用数字“4”打开中断程序n

INTn

No.n

4n

在这里写入当出现中断时所要运行的程序( 对I 0.0的上升沿 )n

…….n

….n

….n

对于I 0.0的上升沿,终止中断程序n

RETIn

注意事项:

  • CPUn依据中断的出现次序和它的优先级来处理中断。任何时候只能有一个激活的程序作中断处理。如果一个中断程序正在被处理,一个新的过程中断又排上了队,那么当前执行的程序就会先处理完毕。它不会被后面的中断程序所打断,即使那个程序有更高的优先级。如果正在处理一个中断的时刻出现了另一个中断,这后出现的中断被放入队列中以后再处理。下表显示了3个中断队列,以及每个队列里可放入的最大中断个数。n

队列

CPU210

CPU212

CPU214

CPU215

CPU216

I/O 中断n

无n

4n

16n

16n

16n

通讯中断n

无n

4n

4n

4n

8n

时间控制的中断n

无n

2n

4n

8n

8n

  • 有可能出现所发生的中断要多于队列里可放入的个数。此种情况下系统置起队列溢出标志。该标志指出了不能被包括在队列中的中断事件的类型。下表显示了出现队列溢出时要置起的专门标志。你只可以在一个中断程序里用SMn4.0 到 4.2 这些位。n因为当队列已被处理,主程序继续运行时,这些位将被复位。n

队列

专门标志

通讯中断的队列溢出n

SM 4.0n

I/O中断的队列溢出n

SM 4.1n

时间控制的中断的队列溢出n

SM 4.2n

在条目SID 1109154里的系统S7-21x手册里有更多的信息。


关键字:
功能性

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc341207.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论