我想用I0.3的上升沿给M0.0(启动信号),I0.3的下降沿给M0.1(停止信号),同时触摸屏上按下“启动”按钮时M0.0置1,松开按钮时M0.0清0。触摸屏上按下“停止”按钮时M0.1置1,松开按钮时M0.1清0。程序如下:
A(
O M0.0
O Q0.0
)
AN M0.1
= Q0.0
A I0.3
= L 20.0
A L 20.0
FP M0.2
= M0.0
A L 20.0
FN M0.3
= M0.1
但是实际上在程序运行时无论在触摸屏上怎么按“启动”按钮,Q0.0都一直是0,直到把第2段程序删掉触摸屏上的按钮才正常。请问这是为什么?为什么plc程序和触摸屏按钮会发生冲突啊?
最佳答案
地址重复使用了
A(
O M0.0
O Q0.0
)
AN M0.1
= Q0.0
A I0.3
= L 20.0
A L 20.0
FP M0.2
= M0.0 //这里,PLC扫描的时候,每次执行到这里都等于0,除非你按I0.3的第一个周期,所以你在触摸屏上按M0.0不起作用,下面的M0.1也是一个道理,把这里的点换了,然后启动并在上面的M0.0上,停止和M0.1串起来吧
A L 20.0
FN M0.3
= M0.1
也就是你触摸屏每次按的时候,都被PLC给刷新了
改成如下图
图片说明:
提问者对于答案的评价:
谢谢你,是不是说对一个变量点操作的话,程序置位变量比触摸屏复位要优先啊
最佳答案作者回复:
不是说优先~
应该与PLC的工作机制有关吧,有时间验证一下试试
PLC扫描之后,根据程序的逻辑判断把触摸屏的给覆盖了,应该是这样的.....
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc175923.html