子系统转换为参考模型和生成代码
转换子系统引用模型提高增量生成代码,模块化发展的参考模型和代码重用。许多大型的模型结合使用引用的模型和子系统。
将一块子系统模型块,使用任何一种方法:
在仿真软件金宝app®编辑器中,选择一个子系统块。仿真软件将来发金宝app布的子系统块选项卡上,选择转换>模型块。
在MATLAB®命令窗口,使用
金宝appSimulink.SubSystem.convertToModelReference
函数与“UseConversionAdvisor”
参数设置为真正的
。
在你面前子系统转换为引用的模型:
配置子系统块作为一个原子子系统。在子系统块参数,选择治疗作为原子单元财产。
一个原子子系统执行作为一个单元相对于父模型。子系统执行与父块不交错执行。这个属性可以提取子系统作为独立的模型和函数生成的代码。
设置模型配置参数信号的分辨率来
明确的只
或没有一个
。
您可以将一个存储类映射到一个类别的模型数据元素或一个单独的元素使用映射编辑器的代码或代码映射API (coder.mapping.api.CodeMapping
)。然后,使用映射编辑器或API的代码指定代码配置设置特定的存储类,如头文件,定义文件和内存部分。如果模型包含代码的映射,可以映射的代码,当你把一个子系统迁移到一个参考模型。有关更多信息,请参见映射编辑器- C代码。
配置代码映射
打开示例模型
rtwdemo_roll
。rtwdemo_roll
仿真软件将来发金宝app布的应用程序选项卡中,选择嵌入式编码器或金宝app仿真软件编码器应用程序。
在C代码选项卡上,单击代码接口>默认的代码映射。这个选项别针映射编辑器的代码。
存储类映射到一个类别的模型数据元素。在代码映射编辑器中,选择数据默认值选项卡。港口类,指定存储类作为
ExportedGlobal
。
另外,配置的默认映射港口,在MATLAB命令窗口中,输入:
roll_mapping = coder.mapping.api.get (“rtwdemo_roll”);setDataDefault (roll_mapping“港口”,“StorageClass”,“ExportedGlobal”);
引用的模型转换子系统
将引用一个子系统模型,打开模型参考转换顾问。选择子系统
HeadingMode
。在子系统块选项卡上,选择转换>模型块。模型参考转换顾问可以交互式地指定转换参数顾问发现并修复问题。
回顾autopopulate模型的名字。如果需要,您可以更新这个名字。
使转换过程更快,选择自动修复错误(如果可能的话)。这个选项修复一些转换问题。你不控制修复。
复制代码指定的映射模型,选择复制代码的映射选择。这个选项从父母模型映射的代码迁移到新转换的参考模型。默认情况下,此选项将被清除。
点击转换。
模型参考转换顾问通过每个检查的步骤。解决任何问题的顾问报告。模型参考转换顾问成功完成转换后,它取代子系统块模型块,引用新模型。
或者,将引用一个子系统模型,在MATLAB命令窗口中,输入:
金宝appSimulink.SubSystem.convertToModelReference (…“rtwdemo_roll / HeadingMode”,…“HeadingMode”,…“AutoFix”,真的,…“ReplaceSubsystem”,真的,…“CopyCodeMappings”,真正的);
复制代码后子系统映射转换
如果你想复制代码从父母模型映射到参考模型和之前你没有选择复制代码的映射选择模型中引用转换顾问,在MATLAB命令窗口中,输入:
roll_mapping = coder.mapping.api.get (“rtwdemo_roll”);roll_sc = getDataDefault (roll_mapping、“港口”、“StorageClass”);mode_mapping = coder.mapping.api.get (“HeadingMode”);setDataDefault (mode_mapping“港口”,“StorageClass”, roll_sc);
检查生成的代码
为rtwdemo_roll
模型包含引用的模型HeadingMode
,打开C代码选项卡。为模型生成代码参考等级,点击构建。
的金宝app仿真软件编码器™构建过程生成和编译代码。当前文件夹现在包含新的文件和文件夹。
文件夹或文件 | 目的 |
---|---|
rtwdemo_roll_grt_rtw |
构建文件夹包含顶级模型生成的代码。 |
slprj >通 >标题模式 |
构建文件夹包含引用的模型生成的代码。 |
rtwdemo_roll.exe |
创建的可执行构建过程。 |
rtwdemo_roll.slxc |
仿真软件金宝app的缓存文件模型。 |
HeadingMode.slxc |
仿真软件金宝app的缓存文件引用的模型。 |