请教一下,I0.0收到脉冲Q0.0闭合30min;收到第二个脉冲Q0.0断开的程序是否正确

请教一下,下面这个需求的%ignore_a_1%是否正确。
I0.0收到1s脉冲,Q0.0闭合30min;
如果在30min内I0.0收到第二个1s脉冲,Q0.0断开;
如果在30min内I0.0没有收到信号,30min结束后Q0.0断开。

不知TOF计时器是否可以置位复位,我编了一下程序,不知是否可行。
LD     SM0.0
LPS
A      I0.0
ED
TOF    T38, 18000
LPP
A      T38
LPS
A      I0.0
R      T38, 1
LPP
=      Q0.0

最佳答案

你这个有问题,当你I0.0第一次启动时Q0.0会置一,然后再启动一下I0.0,当I0.0得电时,Q0.0确实复位了,但是,当I0.0失电时,Q0.0又会得电输出。关于cy77223的,我也用PLC实测,发现还是有问题。用下面的,下面的可以,已经实测:
LD     Always_On:SM0.0
LPS
A      CPU_输入0:I0.0
EU
LPS
AN     CPU_输出0:Q0.0
S      CPU_输出0:Q0.0, 1
LPP
A      M0.0
R      CPU_输出0:Q0.0, 1
LRD
A      CPU_输出0:Q0.0
=      M0.0
TON    T37, 18000
LPP
A      T37
R      CPU_输出0:Q0.0, 1

提问者对于答案的评价:
谢谢。另外我感觉Q0.0 =      M0.0这个指令是否多余,直接用Q0.0代替M0.0可以吗?

最佳答案作者回复:
你可以改变试一下的啊,实践是检验真理的唯一标准!

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc348090.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月4日 下午11:35
下一篇 2021年7月4日 下午11:35

相关推荐

发表回复

登录后才能评论