为什么两段挨着的程序对同一个M寄存器(M13.0)进行操作时,其中一段程序中M13.0的值不变了而另一段的正常了?
问题补充:
那是不是必须在两段程序中使用不同的2个M寄存器了/
最佳答案
1、没有给出具体的程序,能够猜测到是双线圈输出的问题。
程序A对M13.0进行输出操作,程序B也对M13.0进行输出操作,这就是双线圈输出。如果程序A在前,程序B在后,则程序B对M13.0进行输出操作有效。实际上程序A对M13.0进行输出操作但被在其后的程序B对M13.0进行输出的·操作改变了。
2、一般编程要避免双线圈的输出,方法是对同一点的输出的各种逻辑都罗列齐全后再输出。例如:
A I0.0
A I1.1
A(
O I 2.1
O I2.3
)
=M13.0
提问者对于答案的评价:
谢谢!问题解决了!
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc210737.html