我想将 Dymola 模型导出到 Simulink。该模型由一个导数块 (der)、一个 RealInput、一个 RealOutput 和它们的连接组成。
当我翻译这个模型时,出现以下错误:
“该模型需要一些输入的导数,如下所示:
1 u"
我认为为什么需要导数是合乎逻辑的,但为什么导出获得导数很重要,为什么会导致错误?出现此错误,我无法继续导出。我知道simulink里面有导数块,但是实际的模型比较复杂,会出现同样类型的错误。有避免的可能吗?
我的 dymola 版本是 2014(64 位)。我使用“Visual Studio 2010/Visual C++ 2010 Express”作为编译器。
最佳答案
通常,当输入信号直接输入一个必须连续的量时(例如,不连续会导致脉冲),就会发生这种情况。
我处理这种情况的方法是在输入端放置一个高增益一阶滤波器。这确保了实际信号是连续的,但这意味着它可以非常快速地响应输入的任何变化。然后允许该输入是不连续的。
当然,高增益值会使系统的时间常数变得非常小,从而导致一些性能问题。但在实践中,我认为它们不需要那么高。
关于input - dymola 模型的导出需要其输入的导数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27964705/