如何理解三菱plc的双重线圈问题?

发配到宁古塔


三菱PLC双重线圈想必是每个新手在接触PLC编程时都会遇到的问题,从原理上讲双线圈输出并非是“程序错误”,而是使输出重叠覆盖导致动作混乱。想要搞清楚双线圈输出异常首先要明白PLC的工作原理,在这里简单说下输入输出的刷新方式:

PLC在运行中会一直重复执行①~③步骤进行输入输出处理,整个过程就是扫描时间或者运算周期,当然一个周期时间内还要干其他的事情,这里我们只说下输出,PLC对输入进行提取后将结果存放到输入映像存储区或者缓存区,然后根据输入对程序做运算将输出结果存放到锁存内存中,双线圈问题就是出在输出软元件的映像存储区的更新,由plc从上到下的扫描方式,最下面的线圈将会是最终的输出线圈从而导致前面的线圈输出无效。

为了方便说明我们以实际的PLC梯形图进行说明双线圈问题的实质:

上图就是一个典型的双线圈输出Y0,我们进行仿真测试下,闭合M0,M1断开:

从结果看,M0闭合Y0没有输出,但Y1却有输出(此时Y1前面的Y0是断开的),这个结果很有趣。其实从上面的原理来解释很简单,在一个扫描周期内,从上到下看:

1、M0闭合Y0有输出,将Y0的结果ON状态存到映像存储区,

2、接近着Y1的ON状态也存到存储区内,

3、此时映像存储区内的Y0和Y1的状态都是ON,由于M1的断开PLC判断Y0没有输出,这时候映像存储区内的Y0的状态就进行了更新变成OFF,注意Y1的状态并没有更新(这里可能有的同学会问Y0不是变了吗Y1为什么不变,一定要记住一个扫描周期内只会从上到下从左到右扫描一次),所以最终的输出锁存内存中Y0是OFF状态,Y1是ON状态。

以上就是双线圈造成的混乱,在这里我们需要了解PLC的扫描原理和扫描周期时间的重要性,因此要编程梯形图时一定要注意程序前后顺序的重要性,如果我们把上图步2放在最后,结果就不一样了,

在三菱PLC编程软件中程序编译或者转换中双线圈是不会报错的,我们需要点击工具→程序检查进行。

检查的结果会有:

1\tError\tMAIN\t程序检查\t'Y000'为双线圈。可能会无法正常运行,请修改程序。(步No.1)\tC9300

为了避免双线圈的问题,我们只需要把Y0的条件并联起来即可:

希望能帮到你!


工控人


程序按从左到右,从上到下,两个相同的线圈,假设一个条件通一个条件不通,程序也不知道执行哪个好呀,我也是只记住这个游戏规则,也没有过多去研究它。如果想要学习更多,可以来深圳同创自动化培训了解一下。


分享到:


相關文章: