【问题标题】:export of dymola model requires the derivative of its inputdymola 模型的导出需要其输入的导数
【发布时间】:2015-01-15 13:37:15
【问题描述】:

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

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

“该模型需要一些输入的导数,如下所示: 1个"

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

【问题讨论】:

    标签: input modelica derivative dymola openmodelica


    【解决方案1】:

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

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

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

    【讨论】:

    • 我没有考虑到输入信号的不连续性可能是导致此错误的原因,谢谢。但是,我不完全了解您在输入上放置了哪个块。 “一阶滤波器”对您来说是 PT1 元素吗? “高增益”是否意味着您为它选择了一个非常高的传输因子(在这种情况下为 K)?还是指T值?我为 T 和 K=1 选择了一个非常低的值。使用此配置效果很好。
    • 是的,您对输入使用一阶过滤器。这确保了连续性。然后,您可以决定适合您系统的时间常数和增益,因为它在很大程度上取决于您在系统模型中感兴趣的动力学的时间尺度。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-30
    • 2016-07-12
    • 2021-11-01
    • 1970-01-01
    相关资源
    最近更新 更多