电工学习网

 找回密码
 立即注册
查看: 1708|回复: 0

从PLC的运算周期讲PLC中断

[复制链接]
发表于 2020-3-17 18:29:24 | 显示全部楼层 |阅读模式
了解plc中断,首先我们说下PLC的运算周期,也就是扫描时间,PLC从上到下对程序扫描指导END指令,对所有的状态进行更新,每个运算周期后都会更新一次,在这个周期内,无论状态怎么变化都输出最后一个状态,比如X0,在一个周期内OFF→ON的状态变换了好多次,最后扫描时间到后的状态为OFF,那么PLC的X0就是OFF,即使在这段时间内XO由ON的状态。这就是运算周期。
其次,我们再说中断,为什么要中断,在一般的顺控程序处理中,由运算周期造成的延迟以及时间的偏差给机械动作带来影响,这里就涉及到高速输入的问题,例如我们PLC的运算周期是1ms,我们要采集编码器的脉冲输入,如果脉冲的周期时间(脉冲频率)小于运算周期的话,如采集10KHz的脉冲,一个脉冲的时间就是0.1ms,这样的在PLC在一个周期内只能捕捉到1个脉冲,计数就不准确了,因此我们要对输入进行中断处理,优先进行计数,我们通过下面的梯形图进行对比分析:
0.jpg
中断处理对比
我们采用分辨率为2000p/r的编码器进行计数,我们分别用普通计数器C200和经过中断处理的X1对编码器进行计数,我们产不多转了5圈编码器,发现采用C200的计数结果是25,经过中断处理后的计数是100039,相差这么大,这下可以看到中断的功能了吧。这里我们在说下中断的用法,上面的梯形图是对输入X1进行中断,EI表示允许中断、FEND表示主程序结束,IRET表示中断返回。从EI→FEND这之间是主程序,从FEND→IRET表示中断子程序。当检测到X1上升沿之后进入中断子程序,然后返回主程序。编码器转一圈,X1有2000个上升沿,由于子程序只执行一次就返回主程序,因此D0就进行了2000次的+1。
此外,在我们三菱plc指令中,涉及到高速的指令,比如高速计数器、高速输出、定位指令等都是经过中断处理过的,是不需要自己做中断的,很方便直接使用即可,大家看指令的步数就知道。

回复

使用道具 举报

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

本版积分规则

电工学习网 ( )

GMT+8, 2024-3-29 22:32

Powered by © 2011-2022 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

快速回复 返回顶部 返回列表