假设我有一个布尔输入,可以自动切换其状态。从0到1以及从1到0进行夹角可设置一个周期。要确定该循环是否有效,循环时间必须至少为10秒。
我可以确定一个分条是否无效,但是我无法弄清楚在周期结束时如何确定分条是否无效。
这是我所拥有的:
您似乎是在说输入信号的状态在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,进行适当的响应,然后释放条件。