在Simulink中使用模型参考来提高性能

时间:2014-02-04 15:55:02

标签: matlab simulink

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

  

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

阅读simulink文档没有帮助。

我的问题是:

  1. 是否可以将屏蔽的子系统转换为模型参考?
  2. 如果是,我是否需要在整个层次结构中对每个屏蔽的子系统/库块进行一些调整? (或者只在我试图转换的重新排列的顶级区块?)
  3. 这条错误讯息是什么?

2 个答案:

答案 0 :(得分:1)

根据我的经验,这是一个捕获所有错误消息,这基本上意味着某些事情是错误的(但似乎没有必要显示出明显的虚拟子系统问题),但转换器没有足够的“智能”给出一个非常具体的解决方案。

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

根据您必须执行的转换次数,您可能会发现手动转换子系统(通过将它们复制到新模型并手动配置新模型),试图找出自动转换无法正常工作的原因并不那么令人沮丧。 / p>

答案 1 :(得分:1)

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

尽管有这些限制,模型引用通常被建议作为进行大规模建模的方法,它应该为您提供性能改进,因为引用的模型以加速模式运行(除非另有配置),并且仅在结构更改时重建是模型。有关详细信息,请参阅文档中的Componentization Guidelines