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

三菱电机服务商    

PLC、变频器、伺服驱动、触摸屏,机器人

联系方式
  • 联系人:吴经理
  • 电话:18576370666
  • 邮件:18576370666@163.com
新闻分类
  • 暂无分类
站内搜索
 
首页 > 新闻中心 > 三菱中断指令!
新闻中心
三菱中断指令!
发布时间:2025-11-16        浏览次数:0        返回列表

三菱 PLC 的中断指令用于处理突发信号(如外部急停、高速计数触发、定时中断等),可暂停当前主程序执行,优先响应中断服务程序(ISR),执行完毕后返回主程序继续运行。三菱不同系列 PLC(如 FX、Q 系列)的中断指令略有差异,以下以FX 系列为例,详解中断指令的类型、用法及编程示例:

一、中断的基本概念

  • 中断源:触发中断的信号(如外部输入信号、高速计数器溢出、定时器中断等)。

  • 中断服务程序(ISR):为处理中断而编写的子程序,需提前定义并与中断源关联。

  • 优先级:多个中断同时触发时,按预设优先级执行(FX 系列默认外部中断>定时中断>计数中断)。

二、FX 系列常用中断指令及格式

FX 系列中断指令主要包括中断允许 / 禁止、中断服务程序定义、中断触发设置等,指令格式如下:

指令名称指令符号功能说明
中断允许EI全局允许中断(默认禁止,需执行 EI 后中断才生效)
中断禁止DI全局禁止中断(暂停所有中断响应,已触发的中断会排队,执行 EI 后继续)
中断服务程序入口IRET中断服务程序的结束指令(必须放在 ISR 末尾,用于返回主程序)
外部中断触发无(通过软元件定义)外部输入 X0~X5 可设置为中断源(如 X0 上升沿触发中断 0)
定时中断设置INTIM设置定时中断的周期(如 10ms、100ms),触发后执行对应 ISR
计数中断设置INTCNT设置高速计数器的中断条件(如计数到达目标值时触发中断)

三、中断的分类与编程步骤

1. 外部输入中断(X0~X5)

触发条件:外部输入信号的上升沿或下降沿(可通过 PLC 参数设置),FX 系列支持 6 个外部中断源(X0→中断 0,X1→中断 1,…,X5→中断 5)。

编程步骤:(1)定义中断服务程序(ISR):在程序末尾用 “中断指针”(如 I000)标注中断 0 的入口,编写处理逻辑,最后用 IRET 结束。(2)主程序中执行 EI 指令允许中断。

示例:X0 上升沿触发中断,控制 Y0 输出 1 秒后关闭

ladder

// 主程序
LD    M8000       // 运行监控
EI               // 允许所有中断
NOP
...

// 中断服务程序(中断0:X0上升沿触发)
I000             // 中断0入口(对应X0)
LD    M8000
OUT   Y0          // Y0输出
TON   T0, K10     // 延时1秒(10×100ms)
LD    T0
RST   Y0          // 1秒后关闭Y0
IRET              // 中断返回

2. 定时中断

触发条件:按预设周期(10ms、100ms、1000ms)自动触发,FX 系列支持 3 个定时中断(INT0~INT2,对应中断指针 I600~I602)。

编程步骤:(1)用 INTIM 指令设置定时中断周期(如 INTIM K10 → 100ms 周期,K10=10×10ms)。(2)定义对应中断指针的 ISR(如 I600 对应 INT0)。(3)主程序执行 EI 允许中断。

示例:100ms 定时中断,每周期将 D0 加 1

ladder

// 主程序
LD    M8000
INTIM K10        // 设置INT0定时中断周期100ms(K10=10×10ms)
EI               // 允许中断
NOP
...

// 定时中断0服务程序(I600)
I600             // INT0中断入口
LD    M8000
INC   D0         // D0每100ms加1
IRET              // 返回主程序

3. 高速计数中断

触发条件:高速计数器(C235~C255)计数到达预设值、溢出或复位时触发,用于高精度计数控制(如编码器位置触发)。

编程步骤:(1)用 INTCNT 指令设置高速计数器的中断条件(如计数到目标值 D0 时触发)。(2)定义对应中断指针的 ISR(如 C251 的中断指针为 I500)。(3)主程序执行 EI 允许中断。

示例:C251 计数到 1000 时触发中断,停止计数器并置位 M0

ladder

// 主程序
LD    M8000
MOV   K1000 D0   // 目标计数1000
INTCNT C251 D0   // 设置C251计数到D0时触发中断
EI               // 允许中断
// 启动高速计数(C251:X0脉冲输入,X1方向)
LD    M8000
OUT   C251
NOP
...

// 高速计数中断服务程序(C251对应I500)
I500             // C251中断入口
LD    M8000
RST   C251       // 停止计数
SET   M0         // 触发标志M0
IRET              // 返回主程序

四、中断指令使用注意事项

  1. 中断服务程序(ISR)设计原则

    • 应简短高效,避免复杂逻辑或长时间延时(否则影响主程序执行)。

    • 不可在 ISR 中使用ENDFEND等指令,必须以IRET结束。

  2. 中断优先级

    • 外部中断(X0~X5)优先级最高,其次是高速计数中断,最后是定时中断。

    • 同类型中断中,编号小的优先级高(如 I000>I001,I600>I601)。

  3. 中断禁止与嵌套

    • 执行DI后,所有中断被禁止,已触发的中断会暂存,执行EI后按优先级响应。

    • FX 系列不支持中断嵌套(即 ISR 执行时,新中断不会打断当前 ISR)。

  4. 参数设置

    • 外部中断的触发沿(上升沿 / 下降沿)需在 PLC 参数中设置(通过 GX Works2/3 的 “PLC 参数→输入设置”)。

    • 高速计数器的模式、输入点需提前配置,确保与中断条件匹配。

五、Q 系列中断的差异

Q 系列 PLC 支持更丰富的中断类型(如模块中断、网络中断),指令格式略有不同(如用INT指令定义中断,DISI/ENI禁止 / 允许中断),但核心逻辑与 FX 系列一致,需结合具体模块手册配置。

通过合理使用中断指令,可快速响应设备的突发信号(如急停、位置触发),提高系统的实时性和可靠性。实际编程中需根据中断源类型选择对应指令,并严格遵循 ISR 的设计规范。

收缩
  • QQ咨询

  • 电话咨询

  • 18576370666
  • 添加微信客服