slbuild
为模型构建独立的可执行文件或模型参考目标
语法
描述
生成子系统代码并构建金宝app仿真软件编码器二进制可执行文件,使用当前配置参数设置您的模型。如果选定的系统目标文件创建了一个S-Function块,该函数将向自动生成的S-Function包装器返回一个非空块句柄。在运行该命令之前,必须打开或加载父模型。blockHandle
= slbuild (子系统
)
从子系统生成代码,其中包括可以导出到外部应用程序代码的函数调用。此命令需要嵌入式编码器®.如果创建块配置参数设置为blockHandle
= slbuild (子系统
“模式”,“ExportFunctionCalls”)银
,函数返回a的句柄模型块在SIL模式。然后可以使用模型用于数值等效性测试的块。
生成子系统代码并构建金宝app仿真软件编码器由一个或多个名称-值参数指定的二进制可执行文件。blockHandle
= slbuild (子系统
,名称,值
)
例子
为模型生成代码和构建可执行文件
为模型生成C代码rtwdemo_rtwintro
.
slbuild (“rtwdemo_rtwintro”)%操作与…相同。% slbuild(“rtwdemo_rtwintro”、“StandaloneCoderTarget”)
对于通用实时(GRT)目标,编码器生成这些代码文件并将它们放在文件夹中rtwdemo_rtwintro_grt_rtw
而且slprj grt / / _sharedutils
.
模型文件 | 共享文件 | 接口文件 | 其他文件 |
---|---|---|---|
|
|
|
没有一个 |
如果应用以下模型配置参数设置,编码器将生成额外的结果。
参数设置 | 结果 |
---|---|
代码生成>只生成代码窗格已清除。 | 可执行文件rtwdemo_rtwintro.exe |
代码生成>报告>创建代码生成报告被选中 | 出现报告,提供生成的代码文件、子系统和代码接口报告、入口点函数、导入、输出、接口参数和数据存储的信息和链接 |
建立多个顶级模型
这个例子展示了如何使用slbuild
为两个模型生成可执行代码,sldemo_mdlref_depgraph
而且rtwdemo_counter
.sldemo_mdlref_depgraph
是引用模型的顶模型。该示例还展示了如何并行地构建引用的模型。
创建本地文件夹。
如果存在(fullfile (“。”,“myTempFolder”),“dir”)删除文件夹(“myTempFolder”,“年代”)结束mkdirmyTempFoldercdmyTempFolder
复制sldemo_mdlref_depgraph
,将模型引用到本地文件夹。
Src_dir = fullfile(matlabroot,...“工具箱”,...“金宝app模型”,...“simdemos”,...“simfeatures”,...“modelreference”);拷贝文件(fullfile (src_dir,...“sldemo_mdlref_depgraph.slx”),...“。”);
所引用的模型的并行构建sldemo_mdlref_depgraph
.
load_system (“sldemo_mdlref_depgraph”) set_param (“sldemo_mdlref_depgraph”,...“EnableParallelModelReferenceBuilds”,“上”);
MATLAB进行初始化®并行构建参考模型的工作人员。
set_param (“sldemo_mdlref_depgraph”,...“ParallelModelReferenceMATLABWorkerInit”,...复制基本工作区);
构建模型。
slbuild ({“sldemo_mdlref_depgraph”,“rtwdemo_counter”})
在myTempFolder
,构建过程创建独立的可执行文件,sldemo_mdlref_depgraph.exe
而且rtwdemo_counter.exe
.
对于每个模型,在命令窗口中,构建过程显示一个构建摘要。
Force Top Model Build
为模型生成代码并构建一个可执行文件TopModelCode
,即模型ReferenceModelCode
,不管模型校验和和参数设置。
openExample (“金宝appsimulinkcoder / FilePackagingModelsCodeAndDataExample”,...“金宝appsupportingFile”,“TopModelCode”);slbuild (“TopModelCode”,“StandaloneCoderTarget”,...“ForceTopModelBuild”,真正的)
为子系统生成代码和构建可执行文件
为子系统生成C代码放大器
在模型rtwdemo_rtwintro
.
rtwdemo_rtwintro slbuild (“rtwdemo_rtwintro /放大器”)
的代码生成器中生成代码文件Amplifier_grt_rtw
而且slprj grt / / _sharedutils
文件夹。
在当前工作文件夹中,构建过程将创建一个可执行文件(Amplifier.exe
).
构建将代码导出到外部应用程序的子系统
若要将函数调用导出到外部应用程序代码,请从函数调用子系统构建可执行文件。
rtwdemo_exporting_functions set_param (“rtwdemo_exporting_functions”,“GenCodeOnly”,“关闭”);slbuild (“rtwdemo_exporting_functions / rtwdemo_subsystem”,“模式”,“ExportFunctionCalls”)
可执行文件rtwdemo_subsystem.exe
显示在您的工作文件夹中。
创建模型SIL测试块
从函数调用子系统创建模型块,您可以使用它来测试从模型生成的代码。
开放的子系统rtwdemo_subsystem
在模型rtwdemo_exporting_functions
.
设置代码生成>验证>先进的参数>创建块配置参数为银
.
创建模型块。
Mysilblockhandle = slbuild(“rtwdemo_exporting_functions / rtwdemo_subsystem”,...“模式”,“ExportFunctionCalls”)
代码生成器生成模型块在临时模型中。的模型Block的配置如下:
模型名称设置为包含原始子系统内容的新模型的名称。
模拟模式设置为
Software-in-the-loop(银)
.
您可以将块添加到提供测试向量或刺激输入的环境或测试控制模型中。然后可以运行执行SIL测试的模拟,并验证模型块产生与原始子系统相同的结果。
输入参数
模型
- - - - - -指定构建过程的模型
处理|特征向量|句柄或字符向量的单元格数组
如果您将模型名称指定为句柄或字符向量,构建过程将创建一个独立的可执行文件或模型引用目标。
如果通过句柄或字符向量的单元格数组指定多个模型,则应用构建过程buildSpec
单元格数组中的每个模型。
例子:gcs
子系统
- - - - - -子系统的名字
处理|特征向量|句柄或字符向量的单元格数组
要从中生成代码或构建可执行文件的子系统的名称,指定为表示子系统名称或完整块路径的句柄或字符向量。
您可以通过句柄或字符向量的单元格数组指定多个子系统
例子:“rtwdemo_exporting_functions / rtwdemo_subsystem”
buildSpec
- - - - - -指定生成流程的代码生成操作
“StandaloneCoderTarget”
(默认)|“ModelReferenceSimTarget”
|“ModelReferenceCoderTarget”
|“CleanTopModel”
buildSpec
指示代码生成器为模型和构建过程执行选定的构建操作:
的设置重建参数。模型参考窗格中的“配置参数”对话框。
需要一个金宝app仿真软件编码器仅当您构建模型引用时许可金宝app仿真软件编码器目标,如果您只构建模型参考仿真目标,则不会。
的buildSpec
参数必须是下列之一。
buildSpec 价值 |
建立行动 |
---|---|
|
构建一个独立的金宝app仿真软件编码器指定模型的二进制可执行文件,使用当前模型配置设置。它还为所引用的模型构建模型参考编码器目标。 如果指定的模型未加载, |
|
构建模型参考仿真目标(不需要金宝app仿真软件编码器许可证)。 |
|
构建模型引用金宝app仿真软件编码器目标。 |
|
清理模型构建区域,以在下一次构建时触发顶级模型代码的再生。 |
例子:“ModelReferenceSimTarget”
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:“UpdateThisModelReferenceTarget”、“力”
UpdateThisModelReferenceTarget
- - - - - -模型参考构建的条件重建选项
“力”
|“IfOutOfDateOrStructuralChange”
|“IfOutOfDate”
模型引用生成的条件重新生成选项,指定为逗号分隔的对,由“UpdateThisModelReferenceTarget”
而且“力”
,“IfOutOfDateOrStructuralChange”
,或“IfOutOfDate”
.
此选项仅应用于指定的模型,而不适用于指定模型引用的任何模型。
“UpdateThisModelReferenceTarget”价值 | 等效重建选项 | 重建行动 |
---|---|---|
|
总是 |
无条件地重建模型。 |
|
如果检测到任何变化 |
如果构建过程检测到任何更改,则重新构建模型。 |
|
如果检测到任何已知依赖项的变化 |
如果构建过程在此模型的已知依赖项中检测到任何更改,则重新构建模型。 |
有关不同重建选项的详细信息,请参见重建.
例子:“UpdateThisModelReferenceTarget”、“力”
依赖关系
若要使用此选项,请设置buildSpec
来“ModelReferenceSimTarget”
或“ModelReferenceCoderTarget”
.
数据类型:字符
|字符串
ForceTopModelBuild
- - - - - -强制构建模型层次结构的顶层模型
假
(默认)|真正的
选项强制构建模型层次结构的顶层模型,指定为由逗号分隔的对组成“ForceTopModelBuild”
而且真正的
或假
.
将值设置为真正的
指示代码生成器为模型层次结构的顶层模型生成代码并构建可执行文件,而不考虑模型校验和和参数设置。
例子:“ForceTopModelBuild”,真的
依赖关系
若要使用此选项,请设置buildSpec
来“StandaloneCoderTarget”
.
数据类型:逻辑
GenerateCodeOnly
- - - - - -只生成代码
假
|真正的
如果未指定值,则只生成代码(GenCodeOnly
)选项代码生成窗格控制构建过程行为。
方法指定值时,参数将覆盖只生成代码(GenCodeOnly
)选项代码生成面板:
真正的
——只生成代码。假
生成代码并构建可执行文件。
模式
- - - - - -导出函数调用(仅用于子系统构建)
“ExportFunctionCalls”
|“正常”
“ExportFunctionCalls”
——如果你有嵌入式编码器,生成代码从子系统
这包括可以导出到外部应用程序代码的函数调用。“正常”
—不导出函数调用。
ExportFunctionFileName
- - - - - -函数名
特征向量
为指定的子系统命名导出的函数。
例子:slbuild (
子系统
,‘模式’,‘ExportFunctionCalls’,‘ExportFunctionFileName’,fcnname
)
OpenBuildStatusAutomatically
- - - - - -显示构建信息
假
(默认)|真正的
选项显示生成信息,指定为逗号分隔的对,由“OpenBuildStatusAutomatically”
而且真正的
或假
.
要在“生成状态”窗口中显示生成信息,请指定真正的
.默认为假
.有关使用状态窗口的详细信息,请参见监视参考模型的并行构建(金宝app仿真软件编码器).
“构建状态”窗口支持引用模型层次结构的并行构建。金宝app不要使用“生成状态”窗口进行连续生成。
依赖关系
若要使用此选项,请设置buildSpec
来“StandaloneCoderTarget”
.
数据类型:逻辑
ObfuscateCode
- - - - - -生成模糊的C代码
假
(默认)|真正的
指定是否生成模糊C代码:
真正的
生成模糊的C代码,可以与第三方共享,降低知识产权受损的可能性。假
生成的C代码不会混淆。
IncludeModelReferenceSimulationTargets
- - - - - -建立模型参考仿真目标
假
(默认)|真正的
选项,用于构建模型引用仿真目标,指定为由逗号分隔的对组成“IncludeModelReferenceSimulationTargets”
而且真正的
或假
.
依赖关系
若要使用此选项,请设置buildSpec
来“StandaloneCoderTarget”
.
数据类型:逻辑
输出参数
blockHandle
-块柄
处理
块句柄到自动生成的S-Function包装器块或模型块。
扩展功能
自动平行支撑金宝app
通过使用并行计算工具箱™自动并行运行计算来加速代码。
要并行地构建引用模型,在顶部模型中,选择配置参数复选框启用并行模型参考构建.有关更多信息,请参见通过使用并行构建来减少引用模型的构建时间(金宝app仿真软件编码器).
在并行计算工具箱™命令中,例如,aparfor
或spmd
循环,不调用rtwbuild
,rtwrebuild
,或slbuild
构建为并行构建而配置的模型的命令。
版本历史
R2006a之前介绍R2020b:slbuild
默认情况下不生成模型参考仿真目标
从R2020b开始,slbuild
函数默认情况下不生成模型参考仿真目标。排除模型参考模拟目标可以更快地为模型层次结构生成代码。
您可以使用默认值生成模拟目标和代码生成目标buildSpec
值(“StandaloneCoderTarget”
)通过设置IncludeModelReferenceSimulationTargets
来真正的
.
当你指定“ModelReferenceCoderTarget”
为buildSpec
参数,slbuild
不再构建模型参考仿真目标。它只构建一个模型引用金宝app仿真软件编码器目标。
R2020b:“ModelReferenceCoderTargetOnly”
不建议使用
从R2020b开始,buildSpec
参数值“ModelReferenceCoderTarget”
而且“ModelReferenceCoderTargetOnly”
有相同的行为。“ModelReferenceCoderTargetOnly”
不建议使用。使用“ModelReferenceCoderTarget”
代替。
目前还没有移除的计划“ModelReferenceCoderTargetOnly”
.
R2019a:“StandaloneRTWTarget”
,“ModelReferenceRTWTarget”
,“ModelReferenceRTWTargetOnly”
不建议使用
在R2019a中,这些buildSpec
为清晰起见,参数值接收了新名称:
“StandaloneRTWTarget”
——使用“StandaloneCoderTarget”
代替。“ModelReferenceRTWTarget”
——使用“ModelReferenceCoderTarget”
代替。“ModelReferenceRTWTargetOnly”
——使用“ModelReferenceCoderTargetOnly”
代替。
目前还没有消除这一遗产的计划buildSpec
参数值。
另请参阅
codebuild
(金宝app仿真软件编码器)|rtwrebuild
(金宝app仿真软件编码器)
主题
- 管理参考模型的仿真目标
- 什么是加速度?
- 执行加速度
- 共享Simu金宝applink缓存文件以实现更快的仿真
- 构建并运行一个程序(金宝app仿真软件编码器)
- 基于Simulink模型的建筑代码生成方法金宝app(金宝app仿真软件编码器)
- 顶层模型代码的控制再生(金宝app仿真软件编码器)
- 生成用于导出到外部代码库的组件源代码(嵌入式编码)
- 用SIL和PIL模拟测试生成的代码(嵌入式编码)
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。