当前位置: 首页 > news >正文

三菱 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.使用注意事项

  1. 中断优先级:不同类型的中断有默认优先级(如定时中断 > 外部中断),可通过编程软件设置调整。
  2. 中断服务程序设计:应尽量简短,避免在中断中使用长时间延时或复杂运算,防止影响主程序执行。
  3. 资源冲突:中断服务程序与主程序共享寄存器和 I/O,需注意变量的保护(可使用锁存指令或专用寄存器)。
  4. 型号差异:不同系列三菱 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.中断指针的使用规则

  1. 程序结构:中断服务程序必须以中断指针开头,以IRET(中断返回)指令结束,例如:

    I000        // 外部输入X0上升沿中断指针(入口)[中断处理逻辑]  // 如输出控制、数据记录等
    IRET        // 中断返回主程序
    
  2. 唯一性:每个中断指针在程序中只能出现一次,不可重复定义。

  3. 优先级:不同类型的中断指针有默认优先级(如定时中断 > 外部中断),可通过编程软件设置调整。

  4. 位置限制:中断服务程序通常放在主程序之后、END 指令之前,或单独的中断程序区(因 PLC 型号而异)。

6.示例(FX 系列 PLC)

具体的中断指针编号和功能需根据三菱 PLC 的具体型号(如 FX3U、Q 系列等)参考官方手册,不同系列可能存在差异。

http://www.xdnf.cn/news/1401391.html

相关文章:

  • 构建现代化的“历史上的今天“网站:从API到精美UI的全栈实践
  • 北方苍鹰优化算法优化的最小二乘支持向量机NGO-LSSVM多输入多输出回归预测【MATLAB】
  • 2025年06月 Scratch 图形化(二级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • Robolectric如何启动一个Activity
  • 倾斜摄影是选择RGB图像还是多光谱影响进行操作?
  • Transformer:从入门到精通
  • 嵌入式Linux驱动开发:蜂鸣器驱动
  • stack queue的实现 deque的底层结构 priority_queue的实现
  • 【Java实战⑦】从入门到精通:Java异常处理实战指南
  • 漫谈《数字图像处理》之分水岭分割
  • AUTOSAR进阶图解==>AUTOSAR_TR_ClassicPlatformReleaseOverview
  • 计算机毕设项目 基于Python与机器学习的B站视频热度分析与预测系统 基于随机森林算法的B站视频内容热度预测系统
  • observer pattern 最简上手笔记
  • 如何调整Linux系统下单个文件的最大大小?
  • hadoop安欣医院挂号看诊管理系统(代码+数据库+LW)
  • 2025年高性能计算年会
  • centos7.9的openssh漏洞修复脚本
  • w嵌入式分享合集125
  • 【Day 33】Linux-MySQL 备份与恢复详解
  • 【机器学习入门】3.3 FP树算法——高效挖掘频繁项集的“树状神器”
  • SNMPv3开发--简单使用
  • bevformer模型训练过程
  • 嵌入式Linux输入子系统驱动开发
  • Python实现点云AABB和OBB包围盒
  • 后台技术方案设计经验之谈
  • FPGA增量式方差与均值计算
  • 银河麒麟V10(Phytium,D2000/8 E8C, aarch64)开发Qt
  • 【计算机网络】生产问题排查:如何使用Wireshark抓包/读取抓包文件进行网络分析
  • TensorFlow深度学习实战(35)——概率神经网络
  • SpringCloud Alibaba Sentinel 流量治理、熔断限流(四)