【问题标题】:SIEMENS PLC S7 1200 TOF issue西门子 PLC S7 1200 TOF 问题
【发布时间】:2016-02-28 14:15:08
【问题描述】:

假设我有一个可以自动切换其状态的布尔输入。从 0 切换到 1 和从 1 切换到 0 设置一个循环。要确定该循环是否有效,循环时间必须至少为 10 秒。

我可以确定一个半柱是否无效,但我不知道如何在循环结束时确定它是否无效。

这就是我所拥有的:

【问题讨论】:

  • 我不确定我是否完全理解您的问题。你是说如果你将TBx_state 从 0 切换到 1 是否应该运行至少 10 秒,否则它是无效的。如果你从 1 切换到 0,它应该运行至少 10 秒,否则它是无效的?如果它是无效的,你只想要指示?

标签: timer plc siemens s7-1200


【解决方案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,做出适当的响应,然后解锁条件。

【讨论】:

    猜你喜欢
    • 2015-10-07
    • 2018-10-09
    • 2016-11-18
    • 2016-02-28
    • 2017-03-13
    • 2015-01-02
    • 1970-01-01
    • 2021-09-13
    • 2014-10-06
    相关资源
    最近更新 更多