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