【问题标题】:Step7 - How to call cyclic interruptionsStep7 - 如何调用循环中断
【发布时间】:2014-10-10 13:23:01
【问题描述】:

我想从 OB1 调用循环中断,我想生成该中断的持续时间。我知道我可以将某种计数器/计时器放入 FB 并以某种方式生成该计时器的值。但是我不知道如何循环执行,所以我不必按下按钮或开关。

谢谢。

编辑: 我认为自己是 PLC 初学者。 :)

一开始我不会使用真正的 SIMATIC 工作站,所以我将使用 PLCSIM 来测试我的应用程序(程序)。我所说的循环中断是指像 OB30 - OB38 这样的东西。

它应该像这样工作:

  1. 我将输入设置为“逻辑 1”,这将初始化循环。 (我不确定这是否有必要)

  2. 现在一个非常简单的程序将在循环中执行(设置/重置线圈) - 这只是一个示例,程序现在要做什么并不重要。

  3. 在执行期间的某个地方会发生中断。我认为这可能是一个函数,我将在其中设置一个具有随机生成的持续时间值的计时器。

  4. 在函数执行之后/期间(从“3.”开始),我需要将生成的值保存在DB中。

  5. 现在是“2”。到“4”。应该在“永无止境”的循环中执行,直到我从“1”设置输入。到逻辑 0。

【问题讨论】:

  • 您的问题没有足够的上下文供其他人回答。您需要解释您使用的是哪种 PLC,什么是“循环中断”(我认为自己是 PLC 专家,但不知道那是什么),或者您为什么想要它。
  • @IraBaxter 感谢您的评论。请看一下我的编辑。

标签: logic plc


【解决方案1】:

不能从 OB1 调用中断。只有循环中断、故障中断和硬件中断可用。 通过将此函数调用/块的启用输入设为高电平,使用在定时器准备好时调用的 FC 或 FB。它不会像中断那样直接被调用,但足够快。

我认为您将 PLC 与微控制器混淆了。 为什么需要在输入高时直接执行代码?这是安全要求还是有运动的东西?

【讨论】:

  • 由于我是 Step7 和 PLC 的初学者,我不知道您所说的“输入高度”是什么意思 :)。正如我上面提到的,我想生成该计时器的持续时间长度。我将研究如何处理复杂系统中的随机事件。但是我需要先学习基础知识:)
  • 输入高,我的错。只需对 1 进行标记或输入。
  • 输入高,我的错。只需对 1 进行标记或输入。如果要测量中断,可以在中断中启动计时器并在最后一个网络中结束。在中断中完成不必要的任务并不是一个好计划。基本上,您在运行环境中不需要这些信息。所以,我还是很好奇为什么你需要知道中断的执行时间?我认为真正的问题有不同的答案。
【解决方案2】:

我来这里是为了寻找类似的东西。 因为我找不到我需要的东西,所以我只是冒险并在正在运行的工厂上尝试了它。好事是什么都没有发生,所以一切都很好。

现在,简单的回答:

  • 在 S7 的硬件配置中配置了循环中断。

  • 我使用 OB35 来创建 1 毫秒的分辨率时间计数。(CPU 315 计时器分辨率仅为 10 毫秒)

  • 在硬件配置中双击 CPU 然后循环中断并将执行时间设置为 1(1 毫秒,这是我的情况,你的情况可能不同)。

  • 然后我创建了一个基本的基本计时器,这正是我所需要的,没有什么额外的,因为我在 Siemens 门户网站上看到,如果 OB35 上的代码过多,可能会在此时间分辨率内发生 CPU 停止。

  • 最后,OB35 上的第一个梯级是对临时变量的“加”1 指令,第二个是在达到给定毫秒数时重置。

  • 如果您需要添加执行条件,那么只需在第一个梯级上放置一个启用位,您将停止计数。

请注意,OB35 不需要被“调用”,CPU 会在选定的时间间隔(在硬件配置下设置)为您调用它

问候

【讨论】:

    【解决方案3】:

    据我所知,循环中断是由 PLC 本身以预先指定的时间间隔(或使用硬件中断)调用的。这不是您可以通过在程序中使用计时器来调用的东西(据我了解您的问题)。

    如果我做对了,您希望不时地连续运行一个循环,然后中断循环以生成一些数据,然后在循环结束之前存储这些数据。

    在这种情况下,我可以建议您在循环中包含数据生成和存储代码吗?您也可以使用在这种情况下计划的相同触发器。您只需使用它跳过不活动时执行数据生成/存储位的代码。

    与进行真正的中断相比,您在这里最多会浪费几毫秒的时间,如果这在某种程度上是不可接受的,那么您应该考虑另一种类型的设备而不是 PLC。

    【讨论】:

      猜你喜欢
      • 2021-05-10
      • 2019-09-29
      • 2019-01-15
      • 2014-10-26
      • 2013-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-13
      相关资源
      最近更新 更多