首页 理论教育 PLC中断程序设计准备与实现

PLC中断程序设计准备与实现

时间:2023-06-18 理论教育 版权反馈
【摘要】:执行中断程序前后, 系统会自动保护被中断程序的运行环境, 故不会造成混乱。S7 -200 PLC CPU 最多有34 个中断源,每个中断源都分配一个编号用于识别, 其称为中断事件号。当定时器中断允许且定时器当前值等于预置值时, 执行中断程序。表4-2-1中断指令的格式及功能PLC 进入正常运行 时, CPU 处于禁止所有中断状态, 若想使用中断, 需利用ENI 指令允许所有中断。2) 中断程序中断程序也称为中断服务程序, 是用户为处理中断事件而事先编制的程序。

PLC中断程序设计准备与实现

该项目主要是使用定时中断来完成系统功能。 所谓中断, 是当控制系统执行正常程序时,系统中出现某些急需处理的特殊情况, 这时系统暂时中断现行程序, 转去对随机发生的紧急事件进行处理(即执行中断程序), 当该事件处理完成后, 再自动回到原来被中断的程序继续执行。 执行中断程序前后, 系统会自动保护被中断程序的运行环境, 故不会造成混乱。

1. 中断源与中断优先级

1) 中断源

中断源是指向PLC 发出中断请求的中断事件。 S7 -200 PLC CPU 最多有34 个中断源,每个中断源都分配一个编号用于识别, 其称为中断事件号。 中断源大致分为3 大类: 通信中断、 I/O 中断和时间中断。 中断事件编号见本书附录C。

(1) 通信中断。 PLC 在自由口通信模式下, 通信口的状态可由程序来控制, 用户通过编程可以设置通信协议波特率奇偶校验

(2) I/O 中断。 I/O 中断包括外部输入中断、 高速计数器中断和脉冲串输出中断三种。外部输入中断利用I0.0 ~I0.3 的上升沿或下降沿产生中断; 高速计数器中断可以响应当前值等于预置值、 计数方向改变、 计数器外部复位等事件引起的中断; 脉冲串输出中断可以响应给定数量的脉冲输出完成引起的中断。

(3) 时间中断。 时间中断包括定时中断和定时器中断。 定时中断用来完成一个周期性的活动, 周期时间以1ms 为单位, 周期设定时间为1 ~255 ms (CPU21X 系列为5 ~255 ms)。

①定时中断有两个事件, 定时中断0 和定时中断1, 它们把周期设定值分别写入SMB34和SMB35 中。 每当达到定时时间值, 执行中断程序。 定时中断可以用来以固定的时间间隔进行数据采样, 也可以用来执行一个PID 回路

②定时器中断是利用定时器对一个指定的时间段产生中断。 这类中断只能由T32 和T96产生。 当定时器中断允许且定时器当前值等于预置值时, 执行中断程序。

2) 中断优先级

一个PLC 程序中可以存在多个中断源, 当同时向CPU 申请中断时, CPU 会根据中断源的优先级进行中断程序的顺序处理。 西门子PLC 的中断源优先级由高到低依次是通信中断、I/O 中断、 时间中断, 每类中断的不同中断事件又有不同的优先权。 中断源的优先级见本书附录C。

3) CPU 响应中断的顺序

CPU 响应中断的顺序有如下几种情况:(www.xing528.com)

(1) 不同优先级的中断源同时申请中断时, CPU 优先响应优先级高的中断源;

(2) 相同优先级的中断源同时申请中断时, CPU 按先到先服务的原则响应中断;

(3) CPU 在处理某中断时, 又有中断源提出中断请求, 新出现的中断源按优先级进行排队等候, 当前中断服务程序不会被其他甚至更高优先级的中断程序打断。 任何时刻CPU只能执行一个中断程序, 即PLC 系统中的中断不允许嵌套

2. 中断控制

中断控制包括两个方面: 中断指令和中断程序。 下面将介绍这两个方面的具体内容。

1) 中断指令

CPU 响应中断时, 首先保护现场, 即自动保存逻辑堆栈累加器和某些特殊标志寄存器位, 中断程序完成后, 进行恢复现场, 即自动恢复这些单元保存的数据。 中断指令有4条, 其格式及功能见表4 -2 -1 所示。

表4-2-1 中断指令的格式及功能

PLC 进入正常运行(RUN 模式) 时, CPU 处于禁止所有中断状态, 若想使用中断, 需利用ENI 指令允许所有中断。 多个中断事件可以调用一个中断程序, 但一个中断事件不能同时连接多个中断程序。

2) 中断程序

中断程序也称为中断服务程序, 是用户为处理中断事件而事先编制的程序。 中断程序由中断程序号开始, 以无条件返回指令结束。 在中断程序中, 也可以根据逻辑条件使用条件返回指令返回主程序。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈