『7x24小时有问必答』
  系统学习-中断

人生就像一场马拉松,偶尔停下来摸摸鱼,才能走得更远

---

PLC中断
很多刚接触PLC的人都有一个疑问:
既然PLC本身就是循环扫描的,那么所有程序都放进主程序里执行不就行了吗?
为什么厂家还要设计“中断”功能?

甚至很多培训机构一上来就讲:
时间中断
外部中断
高速中断
通信中断
仿佛不用中断,就算不上高级工程师。
但现实恰恰相反。
在工业现场,90%以上的PLC程序根本用不到中断,而剩下那10%的场景,如果不用中断,设备可能直接报废。
PLC到底是怎么工作的?
PLC有一个非常经典的工作方式:
扫描输入 → 执行程序 → 刷新输出 → 再次扫描
这个过程不断循环。
假设一台PLC扫描周期为10ms。
那么它每隔10ms才会查看一次输入信号,对于大多数设备来说,这已经足够快了。
例如:
启动按钮
停止按钮
指示灯
气缸动作
温度采集
这些信号持续时间通常都在几十毫秒甚至几秒以上,PLC完全来得及处理。
但是如果某个信号只存在1ms呢?当PLC准备扫描时,它已经消失了。

必须使用中断的场景
编码器高速计数

假设:
编码器分辨率:10000脉冲/圈
电机转速:3000RPM
那么每秒脉冲数:500000个

平均每2微秒就会产生一个脉冲。而PLC扫描周期可能是5ms。
换算一下:PLC扫描一次的时间里,编码器已经产生2500个脉冲。
如果依靠普通扫描统计,结果只有一个:漏数、位置不准、测速错误、定位失败。

因此所有PLC厂家都会提供:
- 高速计数器(HSC)
- 脉冲捕获中断
专门处理这种超高速信号。
伺服定位完成

很多自动化设备都有这样的动作:伺服移动到指定位置。
到位后:立即夹取产品、立即切换工序、立即触发下一步。
问题在于:
PLC扫描是有延迟的、假设扫描周期10ms、而伺服速度是1m/s、那么10ms意味着:设备已经继续运动10mm。
对于贴片机、包装机、点胶机来说、10mm误差已经足够让产品直接报废。
因此高端设备经常使用:定位完成中断。一旦到位信号出现、PLC立刻执行后续动作。当然也有对应的定位指令,这是厂家给我们做好了的

高速测长
很多切割设备都需要测长。
例如木板生产线要求:
长度达到1000mm立即切断。
编码器持续计数:999.8mm、999.9mm、1000.0mm达到目标。
如果PLC还在等待下一次扫描。
材料已经继续向前运动。
最终可能变成:1001mm、1002mm、1003mm误差越来越大。
因此工业现场普遍采用:长度比较中断、长度达到目标值瞬间切刀动作。

那些根本不需要中断的功能
很多新手最喜欢犯一个错误:什么都想用中断、启动按钮用中断、停止按钮用中断、报警灯用中断、蜂鸣器用中断。

实际上完全没必要,人的动作有多慢?
按一下按钮:至少100ms以上。
而PLC扫描周期:通常只有5ms左右。
一个按钮动作期间。PLC已经扫描二十多次,根本不可能漏掉所以这些功能直接写在主程序里即可,既简单,又稳定,还方便维护。

总结
很多PLC新手把中断理解成一种高级编程技巧,其实这是误解中断的本质只有一个。

当PLC正常扫描已经来不及处理的时候,你就用中断。

扫描负责处理“大部分事情”,中断负责处理“来不及处理的事情”

---

授人以鱼不如授人以渔

喜欢就给个点赞+在看

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码