将子系统转换为引用模型
此示例显示如何使用模型引用转换顾问或 Simulink.SubSystem.convertToModelReference
函数将子系统转换为引用模型。有关详细说明,请参阅将子系统转换为引用模型。
打开 sldemo_mdlref_conversion
模型。为了使转换成功,包含子系统的模型必须成功编译。要编译模型,请在 Simulink® 工具条的建模选项卡上,点击更新模型或运行。
mdl = "sldemo_mdlref_conversion"; open_system(mdl) set_param(mdl,SimulationCommand="Update")
sldemo_mdlref_conversion
模型包含一个名为 Bus Counter
的 Subsystem 模块。Subsystem 模块代表实现计数器算法的原子子系统。
子系统接口使用 In Bus Element 和 Out Bus Element 模块将虚拟总线传入和传出子系统。虚拟总线继承了它们的数据类型。
要打开模型参考转换顾问,请选择 Subsystem 模块。然后,在 Subsystem 模块选项卡上,选择 Convert > Referenced Model。
在模型引用转换顾问中,将新模型名称设置为 sldemo_bus_counter
,然后点击转换。
或者,若要在不使用模型参考转换顾问的情况下将子系统转换为参考模型,请在 MATLAB® 命令行窗口中输入这些命令。
blk = "sldemo_mdlref_conversion/Bus Counter"; newmdl = "sldemo_bus_counter"; Simulink.SubSystem.convertToModelReference(blk,newmdl,... ReplaceSubsystem=true);
### Successfully converted Subsystem block to Model block.
Model 模块替换了 Subsystem 模块。Model 模块引用名为 sldemo_bus_counter
的新模型。
如果可能的话,新模型使用与原始子系统相同的模块图。
默认情况下,转换不会创建 Simulink.Bus
对象。为了更强地定义新模型的接口,创建总线对象并将其用作总线的数据类型。要创建总线对象作为转换的一部分,请使用 Simulink.SubSystem.convertToModelReference
函数并将 CreateBusObjectsForAllBuses
参量设置为 true
。