三菱 PLC的中断指令/中断指针
一.中断指令
三菱 PLC(可编程逻辑控制器)的中断指令用于处理突发事件或特定条件触发的程序执行,能够暂停主程序的执行,转而去执行中断服务程序(ISR),执行完毕后再返回主程序继续运行。以下是三菱 PLC 中常用的中断指令及其功能说明:
1. 中断允许 / 禁止指令
EI(Enable Interrupt):允许中断
功能:使能所有被允许的中断源,允许中断请求触发中断服务程序。
格式:EI
(无操作数)
说明:PLC 上电后默认处于禁止中断状态,需在主程序中使用EI
开启中断功能。DI(Disable Interrupt):禁止中断
功能:暂时禁止所有中断,中断请求会被暂存(部分型号支持),直到再次执行EI
后响应。
格式:DI
(无操作数)
说明:常用于主程序中需要连续执行的关键步骤,避免被中断打断。
2. 中断服务程序定义指令
- IRET(Interrupt Return):中断返回
功能:中断服务程序的结束指令,用于从中断服务程序返回到主程序被中断的位置。
格式:IRET
(无操作数)
说明:必须作为中断服务程序的最后一条指令,否则会导致程序错误。
3. 外部输入中断指令
- INT(Interrupt):外部输入中断
功能:指定外部输入端子(如 X0、X1 等)作为中断源,当输入信号满足触发条件(上升沿 / 下降沿)时,触发中断服务程序。
格式:INT [中断号] [输入端子] [触发条件]
例如:INT 0 X0 1
表示中断号 0,由 X0 的上升沿触发。
说明:- 中断号范围根据 PLC 型号而定(如 FX 系列通常为 0~7)。
- 触发条件:1 = 上升沿,0 = 下降沿。
4. 定时器中断指令
- TIMI(Timer Interrupt):定时中断
功能:按指定时间间隔周期性触发中断服务程序,用于需要精确定时的任务(如高频数据采集)。
格式:TIMI [中断号] [时间间隔]
例如:TIMI 1 10
表示中断号 1,每 10ms 触发一次中断。
说明:- 时间间隔单位为 ms,范围根据 PLC 型号而定(如 FX 系列最大为 32767ms)。
- 定时中断优先级高于外部输入中断。
5. 高速计数器中断指令
- HSCI(High-Speed Counter Interrupt):高速计数器中断
功能:当高速计数器(如 C235~C255)的值达到预设值时,触发中断服务程序,用于高速脉冲计数控制。
格式:HSCI [中断号] [计数器编号]
说明:需先通过高速计数器指令设置目标值,当计数达到目标时触发中断。
6.使用注意事项
- 中断优先级:不同类型的中断有默认优先级(如定时中断 > 外部中断),可通过编程软件设置调整。
- 中断服务程序设计:应尽量简短,避免在中断中使用长时间延时或复杂运算,防止影响主程序执行。
- 资源冲突:中断服务程序与主程序共享寄存器和 I/O,需注意变量的保护(可使用锁存指令或专用寄存器)。
- 型号差异:不同系列三菱 PLC(如 FX3U、Q 系列)的中断指令和支持的中断数量可能不同,需参考对应手册。
二.中断指针
在三菱 PLC 中,中断指针(Interrupt Pointer)用于标识中断服务程序的入口地址,是连接中断触发条件与对应处理程序的关键标识。当中断条件满足时,PLC 会根据中断指针跳转到对应的中断服务程序执行。
不同类型的中断对应不同格式的中断指针,常见类型及格式如下:
1. 外部输入中断指针(X 触发)
格式:IXXXX
(XXXX 为中断编号,如 I000、I001 等)
说明:
- 用于外部输入信号(X0、X1 等)触发的中断,中断编号与输入端子对应(不同型号对应关系可能不同)。
- 例如:
I000
:对应 X0 的上升沿触发(默认,可通过指令修改为下降沿)I001
:对应 X1 的上升沿触发- 部分型号支持下降沿触发,格式可能为
I010
(X0 下降沿)、I011
(X1 下降沿)等。
2. 定时中断指针
格式:ITXXXX
(XXXX 为中断编号,如 IT000、IT001 等)
说明:
- 用于定时中断,按预设时间间隔周期性触发。
- 例如:
IT000
:对应定时中断 0,需配合TIMI
指令设置时间间隔(如 10ms)。
3. 高速计数器中断指针
格式:IHXXXX
(XXXX 为计数器相关标识)
说明:
- 用于高速计数器(C235~C255 等)的中断,当计数达到预设值时触发。
- 例如:
IH000
:对应高速计数器 C235 的目标值匹配中断- 具体编号与高速计数器型号相关,需参考手册。
4. 其他特殊中断指针
- 脉冲捕捉中断:如
ISPXXXX
,用于快速捕捉窄脉冲信号。 - 错误中断:如
I6xxx
,用于 PLC 发生错误时的异常处理(如 I/O 错误、程序错误等)。
5.中断指针的使用规则
程序结构:中断服务程序必须以中断指针开头,以
IRET
(中断返回)指令结束,例如:I000 // 外部输入X0上升沿中断指针(入口)[中断处理逻辑] // 如输出控制、数据记录等 IRET // 中断返回主程序
唯一性:每个中断指针在程序中只能出现一次,不可重复定义。
优先级:不同类型的中断指针有默认优先级(如定时中断 > 外部中断),可通过编程软件设置调整。
位置限制:中断服务程序通常放在主程序之后、END 指令之前,或单独的中断程序区(因 PLC 型号而异)。
6.示例(FX 系列 PLC)
具体的中断指针编号和功能需根据三菱 PLC 的具体型号(如 FX3U、Q 系列等)参考官方手册,不同系列可能存在差异。