【问题标题】:Modelica: identify instability / cyclic pattern and issue warningModelica:识别不稳定/循环模式并发出警告
【发布时间】:2018-08-16 19:16:33
【问题描述】:

我正在尝试创建一个通用警告块来识别设备循环。目的是用户可以拖放此 Modelica 模块并将其连接到传感器或设备,该模块将查找循环模式并在模拟日志中发出警告。

我创建了一个块,该块使用Modelica.Utilities.Streams.print 和过零逻辑在每次变量越过范围时发出警告(以在每次越过极限时限制一次警告并避免重复警告,直到时间变​​量保持在给定范围之外范围)。

为了识别一个循环模式,我在想der(u) 用一个计数器来计算给定时间段内最大值和最小值的数量。有更好的方法吗?

【问题讨论】:

  • 也许改用assert(condition, message);book.xogeny.com/components/components/component_models/…
  • 对于这个通用块,即使设备在循环,我也需要继续模拟。 assert 命令在违反条件时停止模拟。但是,我不知道链接中提到的AssertionLevel.warning。我会试一试的。

标签: modelica dymola openmodelica


【解决方案1】:

在哪里对信号进行采样的另一种选择,但是当您在稳定性分析中可能不知道什么是临界频率以及因此临界采样频率是什么时,这可能会成为一个问题。

我认为不幸的是没有最好的情况来做到这一点。前段时间在Modelica Association 上讨论过这个问题。因此,对于连续信号,确定信号导数的零交叉点是一个不错的方法。

【讨论】:

  • 谢谢克里斯蒂安。我正在采取类似的方法,在给定的时间间隔内对导数进行零交叉,并将局部最小值和最大值与以前的进行比较。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-25
  • 1970-01-01
  • 2021-07-07
  • 2022-12-04
  • 1970-01-01
  • 2017-06-29
相关资源
最近更新 更多