主要内容

slbuild

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

描述

例子

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

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

例子

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

例子

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

例子

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

例子

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

例子

全部折叠

为模型生成C代码rtwdemo_rtwintro

slbuild (“rtwdemo_rtwintro”%操作与…相同。% slbuild(“rtwdemo_rtwintro”、“StandaloneCoderTarget”)

对于通用实时(GRT)目标,编码器生成这些代码文件并将它们放在文件夹中rtwdemo_rtwintro_grt_rtw而且slprj 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
代码生成>报告>创建代码生成报告被选中 出现报告,提供生成的代码文件、子系统和代码接口报告、入口点函数、导入、输出、接口参数和数据存储的信息和链接

这个例子展示了如何使用slbuild为两个模型生成可执行代码,sldemo_mdlref_depgraph而且rtwdemo_countersldemo_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

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

为模型生成代码并构建一个可执行文件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显示在您的工作文件夹中。

从函数调用子系统创建模型块,您可以使用它来测试从模型生成的代码。

开放的子系统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指示代码生成器为模型和构建过程执行选定的构建操作:

  • 的设置重建参数。模型参考窗格中的“配置参数”对话框。

  • 需要一个金宝app仿真软件编码器仅当您构建模型引用时许可金宝app仿真软件编码器目标,如果您只构建模型参考仿真目标,则不会。

buildSpec参数必须是下列之一。

buildSpec价值 建立行动

“StandaloneCoderTarget”

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

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

“ModelReferenceSimTarget”

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

“ModelReferenceCoderTarget”

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

“CleanTopModel”

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

例子:“ModelReferenceSimTarget”

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:“UpdateThisModelReferenceTarget”、“力”

模型引用生成的条件重新生成选项,指定为逗号分隔的对,由“UpdateThisModelReferenceTarget”而且“力”“IfOutOfDateOrStructuralChange”,或“IfOutOfDate”

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

“UpdateThisModelReferenceTarget”价值 等效重建选项 重建行动

“力”

总是

无条件地重建模型。

“IfOutOfDateOrStructuralChange”

如果检测到任何变化

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

“IfOutOfDate”

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

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

有关不同重建选项的详细信息,请参见重建

例子:“UpdateThisModelReferenceTarget”、“力”

依赖关系

若要使用此选项,请设置buildSpec“ModelReferenceSimTarget”“ModelReferenceCoderTarget”

数据类型:字符|字符串

选项强制构建模型层次结构的顶层模型,指定为由逗号分隔的对组成“ForceTopModelBuild”而且真正的

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

例子:“ForceTopModelBuild”,真的

依赖关系

若要使用此选项,请设置buildSpec“StandaloneCoderTarget”

数据类型:逻辑

如果未指定值,则只生成代码GenCodeOnly)选项代码生成窗格控制构建过程行为。

方法指定值时,参数将覆盖只生成代码GenCodeOnly)选项代码生成面板:

  • 真正的——只生成代码。

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

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

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

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

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

选项显示生成信息,指定为逗号分隔的对,由“OpenBuildStatusAutomatically”而且真正的

要在“生成状态”窗口中显示生成信息,请指定真正的.默认为.有关使用状态窗口的详细信息,请参见监视参考模型的并行构建(金宝app仿真软件编码器)

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

依赖关系

若要使用此选项,请设置buildSpec“StandaloneCoderTarget”

数据类型:逻辑

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

  • 真正的生成模糊的C代码,可以与第三方共享,降低知识产权受损的可能性。

  • 生成的C代码不会混淆。

选项,用于构建模型引用仿真目标,指定为由逗号分隔的对组成“IncludeModelReferenceSimulationTargets”而且真正的

依赖关系

若要使用此选项,请设置buildSpec“StandaloneCoderTarget”

数据类型:逻辑

输出参数

全部折叠

块句柄到自动生成的S-Function包装器块或模型块。

扩展功能

版本历史

R2006a之前介绍

全部展开