假设我有一个布尔输入,可以自动切换状态。从0到1以及从1到0的切换设置一个周期。要确定该循环是否有效,循环时间必须至少为10秒。
我可以确定一个半球是否无效,但我无法弄清楚如何能够在周期结束时确定它是否无效。
这就是我所拥有的:
答案 0 :(得分:1)
您好像在说输入信号的状态是否在10秒内不稳定,您的周期无效,并且您想要检查它。
为此,您显然需要每次转换触发的计时器。 (我并不是特别熟悉您的PLC,但它们都非常相似,所以我假设您拥有的是什么,并且您在不同的过渡时触发了两次。
正转换的无效转换条件是:
positive_input_transition_timer_q and not input
也就是说,计时器必须正在运行,输入必须进入错误的状态。
现在,输入可能会飙升,然后立即再次走高;你可能不想失去一个无效过渡的事实。所以你真正想做的是 latch 检测无效转换。
我不擅长漂亮的梯形逻辑图形,所以我会用旧式写作:
--+----[ ]----[TON]----+------[/]-----[/]------( )------
| Input Positive | Unlatch Input Invalid
| Transition | Invalid Positive
| | Positive Cycle
+--------[]----------+ Cycle
Invalid
Positive
Cycle
负转换需要相应的梯级。
据推测,其他一些代码会注意到InvalidPositive,做出适当的响应,然后解除条件。