1
比方说,我有一个布尔输入,可以自动切换其状态。从0到1和从1到0的切换设置了一个循环。要确定该周期是否有效,周期时间必须至少为10秒。西门子PLC S7 1200 TOF问题
我可以确定一个semicicle是否无效,但我无法弄清楚如何能够在周期结束时确定它是否无效。
这是我有:
比方说,我有一个布尔输入,可以自动切换其状态。从0到1和从1到0的切换设置了一个循环。要确定该周期是否有效,周期时间必须至少为10秒。西门子PLC S7 1200 TOF问题
我可以确定一个semicicle是否无效,但我无法弄清楚如何能够在周期结束时确定它是否无效。
这是我有:
你似乎在说,如果输入信号的状态不是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一些其它位,适当地作出反应,然后解锁状态。
我不知道我完全理解你的问题。你是说如果你将'TBx_state'从0切换到1,如果应该运行至少10秒,否则它是无效的。如果你从1切换到0,它应该运行至少10秒,否则它是无效的?你只想指出它是否无效? – mrsargent