西门子S7-200设置了中断功能,用于实时控制、高速处理、通信和网络等复杂和特殊的控制任务。中断就是终止当前正在运行的程序,去执行为立即响应的信号而编制的中断服务程序,执行完毕再返回原先被终止的程序并继续运行。
中断源即发出中断请求的事件,又叫中断事件。为了便于识别,系统给每个中断源都分配一个编号,称为中断事件号。S7-200系列可编程控制器最多有34个中断源,分为三大类:通信中断、输入/输出中断和时基中断。
(1)通信中断
在自由口通信模式下,用户可通过编程来设置波特率、奇偶校验和通信协议等参数。用户通过编程控制通讯端口的事件为通信中断。
(2)I/O中断
I/O中断包括外部输入上升/下降沿中断、高速计数器中断和高速脉冲输出中断。S7-200用输入(I0.0、I0.1、I0.2或I0.3)上升/下降沿产生中断。这些输入点用于捕获在发生时必须立即处理的事件。高速计数器中断指对高速计数器运行时产生的事件实时响应,包括当前值等于预设值时产生的中断,计数方向的改变时产生的中断或计数器外部复位产生的中断。脉冲输出中断是指预定数目脉冲输出完成而产生的中断。
(3)时基中断
时基中断包括定时中断和定时器T32/T96中断。定时中断用于支持一个周期性的活动。周期时间从1毫秒至255毫秒,时基是1毫秒。使用定时中断0,必须在SMB34中写入周期时间;使用定时中断1,必须在SMB35中写入周期时间。将中断程序连接在定时中断事件上,若定时中断被允许,则计时开始,每当达到定时时间值,执行中断程序。定时中断可以用来对模拟量输入进行采样或定期执行PID回路。定时器T32/T96中断指允许对定时间间隔产生中断。这类中断只能用时基为1ms的定时器T32/T96构成。当中断被启用后,当前值等于预置值时,在S7-200执行的正常1毫秒定时器更新的过程中,执行连接的中断程序。