安川机器控制器 MP2000/MP3000 系列(MPE720 软件),中断分为硬件输入中断、定时中断、高速计数器一致中断;支持 8 级中断优先级(0 最高,7 最低),抢占式执行,中断结束通过
IRET返回被打断的主程序断点,不是从头扫描主程序。 注意:安川机器人控制器 YRC 的中断 JOB,和 MP 运动控制器 PLC 不是同一套机制,下面讲MP 系列 PLC。
一、中断的基础概念
EI:中断允许指令,开启指定等级中断;
DI:中断禁止指令,屏蔽指定等级中断;
IRET:中断返回指令,中断服务程序末尾必须写,回到被打断的程序断点;
优先级:0 级最高,7 级最低;高优先级中断可以抢占低优先级中断,支持中断嵌套;
硬件中断输入:本体专用 DI 端子(DI‑00、DI‑01、DI‑16、DI‑17),普通 DI 模块端子不能做硬件外部中断安川電機e...。
三种中断源
硬件外部中断:专用 DI 端子上升沿 / 下降沿触发;硬件电路捕获,不受主扫描周期限制。
定时中断:按照设定时间周期性触发,用于高速周期逻辑。
高速计数器一致中断:编码器计数值等于预设比较值,硬件触发中断。
二、完整配置步骤(MPE720 软件)
步骤 1:建立中断图纸(中断服务程序)
在工程中新建一张中断图纸(Interrupt Drawing),分配中断等级(0‑7);
普通顺序图纸(S 图纸)不能当做中断程序;必须专门创建中断图纸。
在中断图纸内部编写逻辑;图纸最后一行必须写 IRET(中断返回)指令,不写 IRET 会系统故障。
中断程序原则:逻辑尽量简短,禁止放运动指令、通讯 MSG、长延时;否则触发看门狗报警。
步骤 2:系统参数配置中断源
打开【IO 模块参数】,把对应 DI 端子设置为中断输入模式,配置边沿:上升沿 / 下降沿。
将该硬件中断源绑定到刚才创建的中断图纸 + 对应中断等级。
定时中断:系统参数设置中断周期(最小 500μs),绑定中断图纸; 计数器一致中断:高速计数器参数开启 “一致检测中断”,绑定中断图纸。
步骤 3:主程序中 EI/DI 控制中断使能
EI LVL=常数:开启对应等级中断;常数是位掩码。
例:允许等级 0、等级 2,
2⁰+2² =1+4=5→EI LVL=5; 省略 LVL 参数:EI 开启全部 8 级中断;DI 关闭全部 8 级中断。
DI LVL=5:屏蔽等级 0、等级 2 中断。
EI 不是全局永久开启;只有执行到 EI 指令之后,对应等级中断才生效;执行 DI 之后屏蔽。 上电初始状态:所有中断默认禁止,必须执行 EI 才可以响应中断。
时序执行全过程
CPU 运行主顺序图纸(S 图),主程序正常循环扫描;
执行
EI指令,对应等级中断允许;外部硬件边沿 / 定时 / 计数器条件到达,产生中断请求;
如果当前正在执行更高等级中断:中断请求排队;
如果当前执行低优先级逻辑:CPU 执行完当前正在执行的单条指令,保存现场(寄存器、堆栈、程序断点),抢占,暂停主程序;
跳转到对应的中断图纸,从上向下执行中断内部逻辑;
中断运行期间,如果出现更高等级中断,可以再次抢占(中断嵌套);
执行到
IRET指令,中断服务结束;恢复之前保存的现场;回到主程序被打断的那一行断点继续往下执行,主程序不会从头重新扫描。
如果执行
DI,中断信号来了不会响应,中断请求锁存;执行 EI 之后,排队的中断立刻执行。
三、IO 刷新的重要特点
中断内部不会自动锁存 IO 映像。 中断触发时,直接读取硬件 IO 缓冲区;中断执行过程中外部 IO 变化,读到的值会实时改变。 ✅工程做法:中断图纸开头,把输入复制到内部寄存器,后续逻辑全部使用副本变量。
中断内部改写输出变量,不会立刻输出硬件;输出刷新跟随系统固有的 IO 总线周期。
如果需要立即输出,使用立即 IO 功能块。
四、关键指令示例(梯形图逻辑)
主程序 S 图纸
EI LVL=5 // 允许0级、2级中断
……普通主逻辑……
DI LVL=5 // 临时关闭0、2级中断,保护一段不能被打断的代码
……临界保护代码……
EI LVL=5 // 重新打开中断
中断图纸(中断等级 0)
//中断服务逻辑
MOV #1,B0
IRET // 必须!中断返回,回到主程序断点
五、故障与实操要点
忘记写
IRET:中断执行完毕无法返回,CPU 发生系统异常停机。中断图纸执行时间过长:触发任务看门狗报警。中断执行时间建议远小于中断触发间隔。
普通 DI 不能做硬件中断:只有指定 DI‑00/01/16/17 支持硬件中断,扩展 IO 模块 DI 不支持硬件中断。
共享全局变量风险:主程序正在写一个变量,被中断打断,中断读取,出现数据撕裂。对策:访问共享变量前用 DI 临时关闭中断,访问完成 EI 打开。
中断排队溢出:短时间大量中断到来,队列满,丢失中断事件。
EI/DI 是程序指令,不是系统配置;上电后必须运行到 EI 指令,中断才生效。
六、横向对比四家 PLC 中断机制
表格
| 项目 | 西门子 S7‑1200 | 三菱 FX5U | ABB AC500 | 安川 MP 系列 |
|---|---|---|---|---|
| 中断载体 | 中断 OB 块 | I 中断指针 | Event 事件任务 | 专用中断图纸 |
| 抢占方式 | 抢占 OB1,保存断点返回 | 扫描周期 END 末尾响应,非实时抢占 | 抢占式任务调度,支持嵌套 | 抢占式,支持中断嵌套 |
| IO 映像 | 进入中断锁存 I 映像 | 中断内部 X 不锁存 | 任务快照拷贝 IO,任务间独立 | 无自动锁存,手动拷贝副本 |
| 返回方式 | OB 执行完自动返回 | RET 指令 | 任务结束返回 | 必须IRET指令返回 |
| 屏蔽指令 | DIS_IRT/EN_IRT | EI/DI | 任务屏蔽功能块 | EI、DI 指令,带等级掩码 |

