4

我想将 Dymola 模型导出到 Simulink。该模型由衍生块 (der)、RealInput、RealOutput 和连接组成。

当我翻译这个模型时,出现以下错误:

“该模型需要一些输入的导数,如下所列:1 u”

对我来说为什么需要导数是合乎逻辑的,但是为什么导出获取导数很重要,为什么会导致错误?出现此错误,我无法继续导出。我知道simulink中有衍生块,但是实际模型更复杂,并且出现了相同类型的错误。有没有可能避免它?我的 dymola 版本是 2014(64 位)。我使用“Visual Studio 2010/Visual C++ 2010 Express”作为编译器。

4

1 回答 1

3

通常,当输入信号直接馈入必须是连续的量时(例如,不连续性会导致脉冲),就会发生这种情况。

我处理这种情况的方法是在输入端放置一个高增益一阶滤波器。这确保了实际信号是连续的,但这意味着它可以非常快速地响应输入的任何变化。然后允许该输入是不连续的。

当然,高增益值可能会使系统的时间常数非常小,从而导致一些性能问题。但在实践中,我认为他们不需要那么高。

于 2015-01-15T20:22:20.030 回答