定时器不工作
有些用户在使用定时器编程后,发现定时器并没有按照自己的意图去计时工作,出现了不计是错误,进而去怀疑硬件是否故障,cpu是否工作正常等等,浪费了大量的时间和精力.实际上这是由于用户对定时器特性不了解所造成的误解.下面的例子将说明这个问题.
例如:
程序原目的:
i4.2 的上升沿触发t50,t60的定时,并在t60定时结束后,复位m12.0.
故障现象:
i4.2可以触发t50,t60的定时,但有时即使i4.2 再次将m12.0置位为1,t50不计时
定时器错误:
故障分析:
首先要明确这个故障现象既不是硬件故障,也不是语句错误所引起的,而是对定时器使用不正确引起的故障.
现在我们分析此故障是如何产生的:
1.某个扫描周期,a.i4.2 的上升沿位置位m12.0 ,i4.2恢复为0。
2.数个扫描周期后,扫描周期n
a.当t60计时到时,network2中m12.0被复位(注意是 在sd t50语句的后面),此扫描周期末m12.0由1变为了0。
b.network3 中t50,t60被复位。
3.扫描周期n+1
a.如果此时i4.2 恰恰出现上升沿置,尽管m12.0在上个扫描周期曾经变为0,但在本扫面周期开始就变为了1,定时器t50在上个扫描周期接受到的m12.0状态为1,定时器t50在本扫描周期接受到的m12.0状态也为1所以t50将不会工作
定时器正确使用示意:
定时器在扫描周期n与扫描周期n+ 1之间正确地接收到了上升沿的变化,所以能够常工作。
故障总结:
定时器计时需要正确地接收到输入端上升沿的变化,如果没有严格遵守这一逻辑顺序,常见的故障现象为定时器不计时工作。这种故障现象可能很隐蔽,本例的原始程序在实际工作中几天才会出现一次故障现象。由于原始程序包括大量的附加逻辑,子程序,语句位置也比较分散,所以排除此故障现象所用的时间超过了3天。
此程序改正的方法非常多,例如在位置m12.0指令前增加一些限制条件,用户可以自己尝试。
大家注意,这里t的时间是8s,我们知道,一个程序的扫描周期很短,可能才十几-----几十毫秒,在线时候可以监控到scan cycle time 。
那这个时间不是远远超过了扫描周期么?
我们又知道,如果程序扫描周期大于最大扫描周期监控时间scan cycle monitoring time,那么将会触发中断,甚至造成cpu进入stop状态。
其实,计时器的执行是异步于ob1 循环扫描,只要计时器运行后,在每一周期扫描到计时器的触发端s信号如果为1,那么计时器就将在此周期继续计时。因此,它对于最大周期监控时间并没有太大的影响,只是调用语句时占用了少许us的时间。
原文标题:西门子plc之 计时器故障分析
文章出处:【微信公众号:机器人及plc自动化应用】欢迎添加关注!文章转载请注明出处。
石墨垫比钢铁还硬?你信不?
加热型的破壁机有害处吗,详解它的优点和缺点
三脚晶振与两脚晶振的区别在哪?
lcd1602实现字幕滚动原理_lcd1602滚动显示程序
MAX2686L,MAX2693L低噪声放大器与集成的LDO
西门子PLC计时器故障分析及解决方法
任正非接受德国媒体采访:西方必须接受其他国家的崛起
海泰方圆成功当选黑龙江省商用密码协会会长单位
特斯拉供应商和大工业重组供应链 在美国建设第一家工厂
湖山AVK300音响摩机经验之谈
威马汽车与中国移动子公司中移物联网正式达成战略合作
对于延长储能系统的寿命,PassThru技术的优势是......
魅族Pro7最新消息:魅族Pro7双摄曝光 并有三个版本
基于FM的双音频通信方案
小米重拳出击全新发布多款新品
选购串口服务器的3个标准
基于Proteus软件和AT80C51单片机实现流水灯的仿真设计
超声波模块HC-SR04电路测量原理讲解
这是你所不知道的:vivo Xplay6还是一台夜拍神器
java实现定时器的四种方式