主要内容

slbuild

为模型构建独立的可执行文件或模型引用目标

描述

例子

slbuild (模型建立一个独立的金宝app®编码器™二进制可执行文件从指定的模型,使用当前配置参数设置。如果没有加载模型,slbuild在开始构建过程之前加载模型。

slbuild (模型buildSpec建立一个独立的金宝app仿真软件编码器二进制可执行文件由模型根据指定的代码动作生成。

例子

slbuild (模型名称,值建立一个独立的金宝app仿真软件编码器由一个或多个名称值参数指定的模型中的二进制可执行文件。

例子

BlockHandle.= slbuild (子系统生成子系统代码并构建一个金宝app仿真软件编码器二进制可执行文件通过使用当前配置参数设置您的模型。如果选定的系统目标文件创建了一个S-Function块,则该函数将一个非空块句柄返回给自动生成的S-Function包装器。在运行该命令之前,必须打开或加载父模型。

例子

BlockHandle.= slbuild (子系统“模式”,“ExportFunctionCalls”)从子系统生成代码,其中包含可以导出到外部应用程序代码的函数调用。此命令需要嵌入式编码器®.如果是创建块配置参数设置为,该函数将句柄返回到SIL块。然后,您可以使用SIL块进行数值等同性测试。

例子

BlockHandle.= slbuild (子系统名称,值生成子系统代码并构建一个金宝app仿真软件编码器由一个或多个名称-值参数指定的二进制可执行文件。

例子

全部折叠

为模型生成C代码rtwdemo_rtwintro

slbuild (“rtwdemo_rtwintro”与…操作相同。%SLBUILD('RTWDEMO_RTWINTORN','StandAltoneCodertarget')

对于通用实时(GRT)目标,编码器生成这些代码文件并将它们放在文件夹中rtwdemo_rtwintro_grt_rtwslprj grt / / _sharedutils

模型文件 共享文件 接口文件 其它文件

rtwdemo_rtwintro.c

rtwdemo_rtwintro.h

rtwdemo_rtwintro_private.h

rtwdemo_rtwintrotypes.h

rtwtypes.h

multiword_types.h

builtin_typeid_types.h

rtmodel.h

没有一个

如果应用下列模型配置参数设置,编码器将生成额外的结果。

参数设置 结果
代码生成>只生成代码窗格被清除了 可执行文件rtwdemo_rtwintro.exe
代码生成>报告>创建代码生成报告被选中 出现报告,提供生成的代码文件,子系统和代码接口报告,入门点函数,Inports,Outports,接口参数和数据存储的信息和链接

这个例子展示了如何使用slbuild要为两个模型生成可执行代码,sldemo_mdlref_depgraph..rtwdemo_countersldemo_mdlref_depgraph..是引用模型的顶级模型。该示例还展示了如何并行地构建引用的模型。

创建本地文件夹。

如果存在(fullfile (“。”“myTempFolder”),“dir”)删除文件夹(“myTempFolder”“年代”结束mkdirmyTempFoldercdmyTempFolder

复制sldemo_mdlref_depgraph..,它引用模型到本地文件夹。

src_dir = fullfile (matlabroot,......'工具箱'......'金宝appsimulink'......“simdemos”......“simfeatures”......“modelreference”);COPYFILE(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

对于每个模型,在命令窗口中,构建过程会显示一个构建摘要。

为。生成代码并构建可执行文件rtwdemo_mdlreftop,这是指模型RTWDEMO_MDLREFBOT.,无论模型校验和和参数设置如何。

slbuild (“rtwdemo_mdlreftop”'standalonecodertargret'......“ForceTopModelBuild”,真的)

为子系统生成C代码放大器在模型rtwdemo_rtwintro

rtwdemo_rtwintro slbuild (“rtwdemo_rtwintro /放大器”

代码生成器在中生成代码文件放大器_grt_rtwslprj 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并设置创建块配置参数

创建SIL块。

mysilblockhandle = slbuild (“rtwdemo_exporting_functions / rtwdemo_subsystem”......“模式”“ExportFunctionCalls”

代码生成器为生成的子系统代码产生SIL块。您可以将块添加到提供测试向量或刺激输入的环境或测试线束模型。然后,您可以运行执行SIL测试的模拟,并验证SIL块中生成的代码是否会产生与原始子系统相同的结果。

输入参数

全部折叠

如果您将模型名指定为句柄或字符向量,则构建过程将创建一个独立的可执行文件或模型引用目标。

如果您通过句柄或字符向量的单元格数组指定多个模型,则将应用构建过程buildSpec到单元格阵列中的每个模型。

例子:gcs

您要生成代码或构建可执行文件的子系统的名称,指定为表示子系统名称或完整块路径的句柄或字符向量。

您可以通过句柄或字符向量的单元格数组指定多个子系统

例子:“rtwdemo_exporting_functions / rtwdemo_subsystem”

buildSpec指导代码生成器为模型和构建过程执行所选构建操作:

  • 纪念的设置重建的参数模型引用对话框中的。

  • 需要一个金宝app仿真软件编码器仅当您构建模型参考时才许可金宝app仿真软件编码器目标,如果你只建立一个模型参考模拟目标。

buildSpec参数必须是以下之一。

buildSpec 建立行动

'standalonecodertargret'

构建一个独立的金宝app仿真软件编码器二进制可执行文件为指定模型,使用当前模型配置设置。它还为参考模型构建模型参考编码器目标。

如果没有加载指定的模型,slbuild在启动构建流程之前加载它。

'ModelReferencesImtarget'

建立一个模型参考模拟目标(不需要金宝app仿真软件编码器许可证)。

“ModelReferenceCoderTarget”

构建模型引用金宝app仿真软件编码器目标和相应的模型参考仿真目标。

“ModelReferenceCoderTargetOnly”

只构建一个模型引用金宝app仿真软件编码器目标。

“CleanTopModel”

清理模型构建区域,足以触发下一个构建的顶级模型代码的再生。

例子:'ModelReferencesImtarget'

名称-值对的观点

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值是相应的价值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“UpdateThisModelReferenceTarget”、“力”

模型引用构建的条件重建选项,指定为逗号分隔的对,由“UpdateThisModelReferenceTarget”'力量''ifoutofdateorstructuralchange', 或者'ifoutofdate'

此选项仅适用于指定的模型,而不适用于指定模型引用的任何模型。

'updatethismodelreferenceTarget'值 相当于重建选项 重建行动

'力量'

总是

无条件地重建模型。

'ifoutofdateorstructuralchange'

如果检测到任何更改

如果构建过程检测到任何更改,则重新构建模型。

'ifoutofdate'

如果检测到已知依赖性的任何变化

如果构建过程检测到模型的已知依赖项的任何更改,则重新构建模型。

有关不同重建选项的更多信息,请参见重建

例子:“UpdateThisModelReferenceTarget”、“力”

依赖关系

要使用此选项,请设置buildSpec'ModelReferencesImtarget'“ModelReferenceCoderTarget”, 或者“ModelReferenceCoderTargetOnly”

数据类型:字符|字符串

选项要强制模型层次结构的顶部模型构建,指定为包含的逗号分隔对“ForceTopModelBuild”真的或者

将值设置为真的指导代码生成器生成代码,并为模型层次结构的顶层模型构建可执行文件,而不考虑模型校验和和参数设置。

例子:'forcetopmodelbuild',真实

依赖关系

要使用此选项,请设置buildSpec'standalonecodertargret'

数据类型:逻辑

如果不指定值,则只生成代码GenCodeOnly对…的选择权代码生成窗格控制构建过程行为。

如果指定一个值,参数将覆盖只生成代码GenCodeOnly对…的选择权代码生成面板:

  • 真的——只生成代码。

  • ——生成代码并构建可执行文件。

  • “ExportFunctionCalls”——如果你有Embedded Coder,生成代码子系统这包括可以导出到外部应用程序代码的函数调用。

  • “正常”- 不会导出函数调用。

为指定的子系统命名导出的函数。

例子:slbuild (子系统,‘模式’,‘ExportFunctionCalls’,‘ExportFunctionFileName’,fcnname

选择构建信息的选项,指定为逗号分隔的对'OpenBuildStatusautoma上'真的或者

若要在“生成状态”窗口中显示生成信息,请指定真的.默认值是.有关使用状态窗口的详细信息,请参见监控引用模型的并行建筑(金宝appSimulink编码器)

“构建状态”窗口支持引用模型层次结构的并行构建。金宝app不要使用“生成状态”窗口进行串行生成。

依赖关系

要使用此选项,请设置buildSpec'standalonecodertargret'

数据类型:逻辑

指定是否生成模糊C代码:

  • 真的- 生成可能与第三方分享的混淆C代码,减少了知识产权的可能性。

  • 生成的C代码没有混淆。

选项构建模型参考仿真目标,指定为逗号分隔对组成'IncludeModelRefercenceImulationTargets'真的或者

依赖关系

要使用此选项,请设置buildSpec'standalonecodertargret'

数据类型:逻辑

输出参数

全部折叠

自动生成的S-Function包装块的块句柄。

兼容性考虑因素

全部展开

R2020B中的行为更改

不建议从R2019a开始

扩展功能

另请参阅

(金宝appSimulink编码器)|(金宝appSimulink编码器)

在R2006A之前介绍