返回主站|会员中心|保存桌面

ABB变频器服务商    

ABB变频器

联系方式
  • 联系人:方经理
  • 电话:13073017555
  • 邮件:gzws26@126.com
新闻分类
  • 暂无分类
站内搜索
 
友情链接
首页 > 新闻中心 > ABB 系列 PLC 的中断程序是如何工作的?
新闻中心
ABB 系列 PLC 的中断程序是如何工作的?
发布时间:2026-08-22        浏览次数:9        返回列表

ABB AC500(AC500‑eCo/V3)基于 CODESYS IEC61131‑3 运行时,没有传统西门子 / 三菱那种写在主程序里的中断 OB 块;中断本质就是事件触发型任务(Event Task,外部中断任务 External‑task),依靠任务抢占调度实现中断效果。 软件:Automation Builder;任务优先级:0 最高,31 最低,高优先级任务可以打断低优先级任务执行ABB。

一、AC500 三种任务类型

  1. 自由运行任务 Freewheeling:主程序 PLC_PRG,循环反复跑,优先级最低,相当于三菱 / 西门子主扫描。

  2. 周期任务 Cyclic:固定时间间隔执行(1ms、10ms),定时触发。

  3. 事件任务 Event(中断任务)硬件 DI 边沿、内部事件触发,就是中断程序,外部硬件中断源只能绑定给事件任务eero。

AC500‑eCo 本体 DI0‑DI3 支持硬件外部中断,硬件电路检测边沿,不依赖主扫描周期,最高 5kHz 响应eero。

二、中断完整执行流程(硬件 DI 外部中断)

  1. 中断事件产生硬件输入端子检测到上升 / 下降沿,硬件产生中断请求;若中断未被屏蔽,向操作系统提交事件。

  2. 抢占当前任务,保存现场CPU 执行完当前正在执行的那一条指令后,暂停正在运行的低优先级任务(自由运行主任务 / 普通周期任务); 把断点地址、寄存器、堆栈现场保存,不是从头重启主任务,中断结束后从断点继续往下跑

不会打断单条指令,指令执行中途不能被切走。

  1. 执行中断事件任务(中断服务程序)跳转到绑定该中断源的事件任务,按顺序执行该任务下所有 POU 程序(梯形图 / SCL/FBD)。

  • 中断任务内部程序同样从上向下执行;

  • 中断任务执行时间必须尽量短,每个任务自带看门狗,超过看门狗时间 CPU 报任务溢出故障停机ABB;

  • 中断任务运行期间,更高优先级的中断还可以再次抢占本中断(中断嵌套)

  1. 中断任务执行完毕所有逻辑跑完,任务退出。操作系统恢复之前保存的现场。

  2. 返回被打断的低优先级任务断点处,继续执行剩下的程序,不是重新扫描主程序

如果中断到来时 CPU 正在执行更高优先级任务:中断请求进入事件队列 FIFO 排队,等高优先级任务结束才处理。

三、两种中断类型

1、硬件外部中断(DI 硬件边沿)

本体 DI0‑DI3,使用功能块OBIOInterruptPara开启硬件中断,绑定事件任务;硬件电路捕获边沿,不受主扫描周期约束,可以捕捉窄脉冲信号ABB。

注意:扩展模块 DI 一般不支持硬件中断,只有本体高速 DI 支持。

2、软件事件中断

内部 BOOL 变量上升沿触发事件任务;属于软件层面,响应会受系统调度抖动,适合非高速场景。

四、特性

  1. I/O 映像不自动锁存中断任务内部读取物理 IO 变量,直接读取硬件缓冲区;中断执行过程中 IO 硬件状态可以继续变化

最佳实践:中断任务开头,把需要的输入复制到局部变量,后续逻辑全部使用局部变量,模拟映像区锁存。

  1. 全局变量共享风险中断任务和主任务读写同一个全局变量时,会出现数据撕裂:主任务写到一半被中断打断,中断读取到不完整数据。 对策:简短数据;复杂数据使用互锁,或者拷贝副本。

  2. 中断嵌套优先级更高的事件任务可以抢占正在运行的低优先级中断;不要做多层深度嵌套,容易溢出看门狗。

  3. 中断禁止(屏蔽)调用功能块可以临时关闭中断,此时发生的中断事件进入队列缓存;打开中断后按 FIFO 顺序执行排队事件。队列溢出,丢失中断事件。

  4. 和传统 PLC 中断 OB 区别

  • 西门子 S7‑1200:主 OB1 循环扫描,中断 OB 是 OB 块,主程序被打断,执行 OB,结束回到 OB1 断点。

  • 三菱 FX5U:中断指针 I***,主 END 扫描结束才响应中断。

  • ABB AC500:中断就是事件任务,没有 OB 块概念,完全靠任务调度实现中断

五、横向对比三家 PLC 中断机制

表格

项目西门子 S7‑1200三菱 FX5UABB AC500
中断载体中断 OB 块I 中断指针Event 事件任务
调度模式抢占式,打断 OB1扫描周期末尾响应,非抢占抢占式任务调度,支持嵌套
现场保存保存 OB1 断点,返回断点END 处跳转,无中途抢占保存任务断点,返回断点继续执行
硬件中断源高速 DI高速 DI本体 DI0‑DI3
IO 映像进入中断瞬间锁存 I 映像中断内部 X 不锁存不自动锁存,需要手动拷贝

六、实操编写要点

  1. 新建一个Event 事件任务,设置高优先级,绑定硬件中断源;

  2. 将中断处理 POU 分配给这个事件任务;

  3. 在普通循环任务调用OBIOInterruptPara功能块,使能硬件中断,设置滤波时间,防止抖动触发大量中断ABB;

  4. 中断任务内部逻辑尽量简短,禁止写长延时、MSG 通讯;

  5. 任务配置看门狗时间,略大于中断最坏执行时间;

  6. 中断内部使用局部变量,减少直接读写全局变量。

误区:不要把中断逻辑写在普通自由运行任务里;普通任务不会被硬件边沿触发,依旧受扫描周期限制。

收缩
  • QQ咨询

  • 电话咨询

  • 13073017555
  • 添加微信客服