如果有帮助,我正在使用Codesys v2.3
到目前为止,我有:
IF Motor AND NOT Proxy.P1 THEN (*If the motor is running and the proxy doesn't energise,then start that proxy's timer*) Proxy.P1_Timer.IN:= TRUE;ELSE Proxy.P1_Timer.IN:=FALSE;END_IF
但是上述情况将导致ET值在Motor关闭时重置,而不仅仅是当Proxy.P1变为TRUE时.只应在Proxy.P1设置为TRUE时重置ET
有什么建议吗?我很惊讶FB上没有保留选项.
解决方法 暂停计时器我会使用以下代码rEdgeTrig(CLK:=startTimer);IF rEdgeTrig.Q THEN actualTime := actualTime - eTime;END_IF;(* TON timer *)timer(IN:=startTimer,PT:=actualTime);IF startTimer THEN eTime := timer.ET;END_IF;if timer.Q then acutalTime:=initialTime;end_if;
当您的计时器不再被要求运行时,将经过的时间加载到变量.然后从想要重新开始的预设时间中减去.
总结以上是内存溢出为你收集整理的暂停结构化文本中的计时器全部内容,希望文章能够帮你解决暂停结构化文本中的计时器所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)