【问题标题】:Difference between a Simulink library and a model referenceSimulink 库和模型参考之间的区别
【发布时间】:2011-08-16 16:54:54
【问题描述】:

Simulink 库和模型参考之间有什么区别(如果有的话)。在不同的情况下使用它们有什么好处?

【问题讨论】:

    标签: simulink


    【解决方案1】:

    库和模型引用的主要目的是一样的:方便simulink模型的重用。当您使用库时,simulink 会将引用模型的内容“导入”到主模型中。有时,这会导致开发人员处理巨大的模型(超过 50k 块),这可能非常耗时。在设计库时,无法运行 lib 文件。您必须在主模型中“实例化”它。另一方面,模型参考处理分离的模型。当您按下模拟按钮时,它们会放在一起,但在设计期间,您会处理完全分离的模型。有了模型引用,你也可以选择加速方式(它基本上是编译模型),这是库无法做到的。

    【讨论】:

      【解决方案2】:

      为 danielmsd 的回答添加更多内容:

      • 配置管理:模型引用可以轻松放入 版本控制和开发人员可以彼此独立工作。库是一个文件,因此块 不能单独进行版本控制,开发人员不能并行工作。
      • 您可以保护模型引用。
      • 代码生成:增量构建只能通过模型​​引用实现。

      但是: 模型引用有很多限制,因此在选择此选项之前请仔细检查它们。见Model Referencing Limitations

      【讨论】:

        【解决方案3】:

        mdl ref 的优点: - 代码生成:模型引用允许在使用编码器产品时进行部分构建。假设您有一个包含 100k 块的非常大的模型并且需要 20 分钟来构建,将其拆分为模型引用将减少构建时间,因为只有更改的模型需要重建。

        • 模型更新:只有更改的模型引用才会更新“CTRL+D”,因此这在拥有非常大的模型时会有所帮助。

        • 模拟:在模拟中,mdl refs 生成为 dll,这使您的模拟速度更快(效果比普通模式和加速器模式之间的差异大得多)

        缺点痛苦: - 一般来说,由于限制,Mdl 引用在某种程度上使用起来很痛苦

        • 不可能传递具有树结构的 Simulink.parameter.object。 (使用 type:BusObject 时只有 value 属性有结构,其他属性没有)

        • 当子系统有总线信号作为输入时,mdl ref 需要一个总线对象来指定输入接口,而库模块不需要。 (即使在 lib 块中使用未指定的总线输入非常难看)。 (请注意,busobject 在基础工作区中始终是全局的……命名冲突的风险)

        【讨论】:

          【解决方案4】:

          从系统设计的角度来看,模型参考应该用于您的系统组件。那是构成您的系统的不同部分。库应该用作实用程序。这是在整个设计中使用的可重用块。

          例如,机器人控制系统包括组件:导航、控制、path_plannen 等。这些是组件,应该使用模型引用来实现。在这种情况下,它们是作为独立模型开发的,可以独立测试。

          在组件内部,您可能需要一些实用程序块,例如 low_pass_fileter、error_state_handler 和 check_input_range,它们是库。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2010-09-23
            • 2023-03-03
            • 1970-01-01
            相关资源
            最近更新 更多