【发布时间】: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