如何检测第二次交叉到点simulink

问题描述 投票:0回答:2

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

输入信号:Input Signal

型号:Model输出Output

matlab simulink
2个回答
1
投票

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

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

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

在该示例中,计数器重置阈值的每第二次交叉。

enter image description here

如果数据类型很重要,也可以使用逻辑/布尔值(即TrueFalse)来完成,而不是使用示例中使用的12


0
投票

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

Sample answer

© www.soinside.com 2019 - 2024. All rights reserved.