定时器的这个知识点,需要结合中断指令,大部分人都不知道
吴翠萍
发布于2020-07-15 17:07
17
2
标签:PLC基础,PLC编程,定时器
【点击领取】三菱案例 | 西门子案例 | 电工手册 | 工具箱 软件
【点击获取】三菱PLC例程117个|西门子PLC例程777个
【点击下载】2020新电工仿真软件
前几天,有个工程师,问了我一个问题,他说在做一个工程,需要控制一个电机,运转1.25s的时间后,停止转动,发现总是存在误差,不能及时动作,就算用了1ms的定时器也是一样,存在延时,由于这个设备对时间的精度要求比较高,他没办法达到控制要求,以下是他写的程序:
这里技成培训网建议大家要了解一个概念,普通的定时器,线圈的导通受到扫描周期的影响。
PLC的工作分为3个步骤,输入检测、程序扫描、输出刷新,这个过程需要消耗时间,也就是说,定时器线圈触发的条件,受到扫描周期的影响,要等程序扫描完加入下一个周期,才开始触发线圈,触发定时器线圈的时间到了,也要完成程序扫描然后才能输出。
这个就会照成一些误差,触发线圈的时间大有2个扫描周期的延时,线圈导通后,定时器的常开触点触发对应的指令大也有2个扫描周期的延迟,这样一个定时器从触发,到触点动作,大会有4个扫描周期的时间延迟。假如这个程序的扫描周期是10ms,那么延迟大将达到40ms。
1ms和10ms级别的定时器不受扫描周期的影响,就是说你线圈的导通信号一导通那么定时器就会马上计时,这个不会受到扫描周期的影响,但是,定时器的常开触点触发控制指令时,这一步会受到扫描周期的影响,导致我们输出滞后了。
所以上图的这个程序定时时间到了,rst Y0不是马上执行的,而是要等到程序扫描完后,再执行Y0的复位,导致Y0输出的时间过长。
这个时候我们需要用到定时中断,我把程序优化了一下,如下图
采用I601中断指针,I601这段中断程序每隔1ms就会执行一遍,这样的话延迟输出的时间就不会超过中断的时间间隔1ms的2倍,就是多有2ms的延迟。精度大大的提高了。
部分不能看懂这篇文章的同学,可以先去学习plc扫描周期和中断的相关知识点。(技成培训原创,作者:陈育鑫,未经授权不得转载,违者必究!)

技成培训
微信公众号:jcpeixun
|

技成电工课堂
微信公众号:jcdgkt
|

技成PLC课堂
微信公众号:jc-plc
|