巴中西门子PLC代理商|断路器选型 巴中西门子PLC代理商|断路器选型
巴中西门子PLC代理商|断路器选型巴中西门子PLC代理商|断路器选型巴中西门子PLC代理商|断路器选型
前几天,有个工程师,问了我一个问题,他说在做一个工程,需要控制一个电机,运转1.25s的时间后,停止转动,发现总是存在误差,不能及时动作,就算用了1ms的定时器也是一样,存在延时,由于这个设备对时间的精度要求比较高,他没办法达到控制要求,以下是他写的程序:
这里技成培训网建议大家要了解一个概念,普通的定时器,线圈的导通受到扫描周期的影响。
PLC的工作分为3个步骤,输入检测、程序扫描、输出刷新,这个过程需要消耗时间,也就是说,定时器线圈触发的条件,受到扫描周期的影响,要等程序扫描完加入下一个周期,才开始触发线圈,触发定时器线圈的时间到了,也要完成程序扫描才能输出。
这个就会照成一些误差,触发线圈的时间大有2个扫描周期的延时,线圈导通后,定时器的常开触点触发对应的指令大也有2个扫描周期的延迟,这样一个定时器从触发,到触点动作,大会有4个扫描周期的时间延迟。假如这个程序的扫描周期是10ms,那么延迟大将达到40ms。
1ms和10ms级别的定时器不受扫描周期的影响,就是说你线圈的导通信号一导通那么定时器就会马上计时,这个不会受到扫描周期的影响,定时器的常开触点触发控制指令时,这一步会受到扫描周期的影响,导致我们输出滞后了。
上图的这个程序定时时间到了,rstY0不是马上执行的,而是要等到程序扫描完后,再执行Y0的复位,导致Y0输出的时间过长。
这个时候我们需要用到定时中断,我把程序优化了一下,如下图
采用I601中断指针,I601这段中断程序每隔1ms就会执行一遍,这样的话延迟输出的时间就不会超过中断的时间间隔1ms的2倍,就是多有2ms的延迟。精度大大的提高了。
巴中西门子PLC代理商|断路器选型 巴中西门子PLC代理商|断路器选型