我目前正在编写一个程序,当变量达到某个点时,连接的灯将每秒闪烁一次。我知道灯已正确连接,并且我知道在打开和关闭之间切换的程序可以正常工作,因为它每秒执行多次。我尝试添加一个等待计时器来减慢闪烁速度。
这是我要添加的代码块:
VAR
delay : TON;
Count : INT := 0;
END_VAR
delay(IN := TRUE, PT:= T#5S);
IF NOT (delay.Q) THEN
RETURN;
END_IF;
delay(IN := FALSE);
当我将它添加到我的代码中时,我得到错误无效时间常数。
我不确定这是否重要,但我正在使用施耐德电气的 EcoStruxure Machine Expert 来编写和执行我的代码。
对于那些希望看到整个程序的人,如果它有帮助,这里是:
IF (change < 70) THEN
Light13 := FALSE;
END_IF;
IF (change >= 70) AND (change <= 90) THEN
Light13 := TRUE;
END_IF;
IF (change > 90) THEN
WHILE change > 90 DO
IF (index MOD 2 = 0) THEN
Light13 := TRUE;
END_IF;
IF (index MOD 2 <> 0) THEN
Light13 := FALSE;
END_IF;
delay(IN := TRUE, PT:= T#5s);
IF NOT (delay.Q) THEN
RETURN;
END_IF;
delay(IN := FALSE);
index := index + 1;
END_WHILE;
END_IF;
为避免对这个问题重复提问,PLC 中的计时器 - 结构化文本,我将再次重申使用此方法时出现错误。只是想事先澄清一下。
如果有更好的选择,我根本不会使用这种方式。谢谢您的帮助!