化工塑料网

当前位置:首页
>>
>>
正文

plc顺序扫描惹的祸

plc顺序扫描惹的祸

前两天使用其他plc编写了一个程序,调试过程中发现了一个“奇怪”的问题,开始感觉很不理解,找到原因后恍然大悟。今天共享出来,大家一起探讨。1.怪异事实——遇到问题有一天有人告诉你,他遇到了一件引起癫痫病的主要原因“怪事”:PLC输出点Y0常开点闭合启动时间继电器T30,计时时间未到,Y0断开,T30 计时器不会停止,一直保持工作状态。相信大家听到以上事实后第一反应可能与我一样,冒出一句“不可能”后就会猜测是不是T30重复使用,是不是 PLC坏了……各种各样的猜测被一一否定后,看到以下实时监控到的信息(图一),相信大家都会感到吃惊,感觉问题比较怪异,一时找不到原因,最后只能无奈的宣布“PLC坏了”。 我就是这么干的!理由很充分,Y0常开点没有闭合(已经断开,有监控为证),T30还能继续计时?没有理由啊!可是更换了一台新的PLC,问题依旧。悲催!囧!想起前辈说过,“当你怀疑PLC有问题时,大多是你自己出了问题”,于是开始老老实实找原因。

图一:实时监控T30PS:朋友们,当你实时监控看到Y0没有闭合,但后面时间继电器T30不断地计时到设定值,然后T30有输出,你当时会怎么想?2.见怪不怪——分析问题毋庸置疑,显然问题出在编制的PLC程序上,这台PLC程序只有简单的177步,很好分析,但由于判断失误,更换了PLC没有解决问题,在嘈杂与喧嚣的氛围中,我实在无法静下心来思考问题究竟出在哪里,只得放弃现场寻找原因“打道回府”。 当天晚上躺在床上一直想着这个怪异的问题。突然间脑洞大开:会不会是顺序扫描造成的结果呢?如果图一之前有输出Y0,图一之后输出Y0断开不正是会出现以上遇到的问题吗?3.原来如此——解决问题第二天赶紧实际验证,整个程序与此问题有关的逻辑段有如下两处,见以下截图二,图三。

图二:实时监控SET Y0(SET Y0 位置在TMR T30 D586之前)

图三:实时监控RST Y0(RST Y0 位置在TMR T30 D586之后)仔细分析以上三个监控截图,问题真相不难发现。前面SET Y0 条件一直存在(图二),虽然后面X3接通执行了RST Y0(图三),导致最终扫描结果输出Y0关闭(PLC 实际Y0没有输出),但这并不能说明图一中 Y0的常开点没有闭合。事实上顺序扫描执行到程序段TMR T30 D586(图一)时,由于之前有 SET Y0 执行,所以Y0常开点闭合,计时器T30自然会不断地继续计时了。表面看来,好像计时器一旦启动就失控,不能随启动条件消失而停止计时并且自行复位,监控看到的这一事实着实让人不可思议,但是仔细推究,还是有其道理。找到了原因,解决问题很容易。在图一程序段Y0黑龙江哪家医院治疗癫痫病好常开点后面加上X3常闭点问题马导致症状性羊颠风的诱发原因上解决宝鸡癫痫医院哪比较好,或者在图二程序段中将M500常开点改为上升沿触发SET Y0。PLC由上到下由左到右顺序扫描执行指令,又一次领教了规则的严肃性。