Simulink库与模型参考之间存在差异(如果有)。在不同的情况下使用它们中的任何一个都有好处吗?
答案 0 :(得分:8)
库和模型引用的主要目的是相同的:促进simulink模型的重用。使用库时,simulink将引用模型的内容“导入”到主模型中。有时,这会导致开发人员处理巨大的模型(超过50k块),这可能非常耗时。在设计库时,无法运行lib文件。你必须在主模型中“实例化”它。另一方面,模型参考涉及分离的模型。当您按下模拟按钮时,它们会组合在一起,但在设计时,您将处理完全分离的模型。使用模型参考,您还可以选择加速方法(它基本上编译模型),这不能用库完成。
答案 1 :(得分:5)
为danielmsd的回答添加更多内容:
<强> BUT:强> 模型引用有很多限制,因此在选择此选项之前请仔细检查它们。请参阅Model Referencing Limitations。
答案 2 :(得分:2)
mdl ref的优点: - 代码生成:模型引用允许在使用编码器产品时进行部分构建。假设您拥有一个包含100k块的非常大的模型并且构建需要20分钟,在模型引用中将其拆分将减少构建时间,因为只需要重建更改的模型。
模型更新:只有更改的模型引用会更新“CTRL + D”,因此这对于拥有非常大的模型很有帮助。
模拟:在模拟中,mdl refs生成为dll,这使得模拟速度更快(效果远远大于正常模式和加速模式之间的差异)
缺点痛苦: - 一般来说,由于限制,Mdl引用在某种程度上是一种痛苦
无法传递具有树结构的Simulink.parameter.object。 (当使用type:BusObject时,value属性只有一个结构,其他属性没有)
当子系统有一个总线信号作为输入时,mdl ref需要一个总线对象来指定输入接口,而库块则不需要。 (即使在lib块中使用未指定的总线输入非常难看)。 (请注意,busobject在基础工作区中始终是全局的......命名冲突的风险)
答案 3 :(得分:1)
从系统设计角度来看,模型引用应该用于系统的组件。这是您的系统的不同部分。库应该用作实用程序。这是在您的设计中使用的可重复块。
例如,机器人控制系统包括组件:navigation,control,path_plannen等。这些是组件,应该使用模型引用来实现。在这种情况下,它们是作为独立模型开发的,可以独立测试。
在组件内部,您可能需要实用程序块,例如low_pass_fileter,error_state_handler和check_input_range,它们是库。