【问题标题】:Use Model Reference in Simulink to improve performance在 Simulink 中使用模型引用来提高性能
【发布时间】:2014-02-04 15:55:01
【问题描述】:

我有一个巨大的 Simulink 模型,我正在测试一些选项以提高其性能。该模型是使用用于层次结构和组织的可重用组件和子系统的库来实现的。 我想知道将某些子系统转换为模型参考是否会提高性能,除了其他优点。问题是每个库组件本身都是一个被屏蔽的子系统,到目前为止,我无法弄清楚如何将一个被屏蔽的子系统转换为模型引用。尝试转换时出现错误消息:

convertToModelReference 的使用无效。要成为的子系统 convert 必须是原子的或触发的子系统模块。不能 将虚拟子系统转换为模型

阅读 simulink 文档没有帮助。

我的问题是:

  1. 是否可以将封装子系统转换为模型引用?
  2. 如果是,我是否需要在整个层次结构中的每个封装子系统/库模块中进行一些调整? (或者仅在我尝试转换的相应顶级块中?)
  3. 此错误消息是关于什么的?

【问题讨论】:

    标签: matlab simulink


    【解决方案1】:

    除了Phil所说的,你只能将一个原子子系统转换为一个引用模型。原子子系统意味着子系统作为一个整体执行,而不是像虚拟子系统那样在编译期间展平模型的层次结构。有关详细信息,请参阅documentation。您可以在引用模型中包含库组件,但有许多限制,请参阅Simulink Model Referencing RequirementsModel Referencing Limitations

    尽管存在限制,但通常建议将模型引用作为处理大规模建模的方法,它应该可以提高性能,因为引用的模型在加速模式下运行(除非另有配置),并且仅在结构发生变化时才重新构建是根据模型制作的。有关详细信息,请参阅文档中的 Componentization Guidelines

    【讨论】:

      【解决方案2】:

      根据我的经验,这是一条包罗万象的错误消息,这基本上意味着出了点问题(但不一定是它似乎表明的明显的虚拟子系统问题),但转换器没有足够的“智能”来给出非常具体地解决问题。

      有时问题是参考块所需的参数没有通过掩码正确传递给它。 但是您很可能需要查看各种limitations of model referencing 并解决潜在问题。

      根据您必须进行的转换次数,您可能会发现手动转换子系统(通过将它们复制到新模型并手动配置新模型)比试图找出自动转换不起作用的原因更令人沮丧。

      【讨论】:

      • 我认为检查“原子子系统”复选框解决了这个错误。但是,出现了其他几个错误,其中大多数与模型引用的局限性有关。我放弃使用模型参考,因为必须进行太多调整。
      猜你喜欢
      • 1970-01-01
      • 2021-09-19
      • 1970-01-01
      • 2021-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多