如何检测到点 simulink 的第二个交叉点

how to detect 2nd crossing to point simulink

如何在到达第二个点时检测到第二个下降交叉点。信号将在第二次交叉后再次上升,然后重复。 每次信号下降到 20(第 2 次)时,我想通过关系块捕获它,就像图像中的输出信号一样

输入信号:

型号: 输出

有多种方法可以做到这一点。一种方法是使用 Triggered Subsystem 创建一个触发计数器,如果计数试图超过 2.

,计数器将自行重置

下面显示了一个例子。触发器是通过将您的输入与常量(在本例中为 20)进行比较并根据该触发器的上升沿递增计数器来生成的。将计数器初始化为 1,然后

  1. 如果计数值当前小于 1,则增加计数器。
  2. 如果计数器已经处于 2,则将计数器重置为 1

在此示例中,计数器每超过一次阈值就会重置一次。

如果数据类型很重要,也可以使用 logical/boolean 值(即 TrueFalse)而不是 12在例子中使用。

使用 Phil 上面的答案,我能够在不使用触发子系统的情况下创建我的版本

Sample answer