主要内容

slbuild

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

描述

例子

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

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

例子

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

例子

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

例子

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

例子

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

例子

全部折叠

为模型生成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,...“工具箱”...“模型”...“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 (“simulinkcoder / FilePackagingModelsCodeAndDataExample”...“supportingFile”“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指导代码生成器为模型和构建过程执行选定的构建操作:

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

  • 需要一个仿真软件编码器只有在构建模型引用时才使用许可证仿真软件编码器目标,而不是只构建模型参考模拟目标。

buildSpec参数必须是下列之一。

buildSpec价值 建立行动

“StandaloneCoderTarget”

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

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

“ModelReferenceSimTarget”

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

“ModelReferenceCoderTarget”

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

“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”而且真正的

要在“生成状态”窗口中显示生成信息,请指定真正的.默认值是.有关使用状态窗口的更多信息,请参见监控参照模型的并行构建(仿真软件编码器)

“构建状态”窗口支持引用模型层次结构的并行构建。不要将“生成状态”窗口用于串行生成。

依赖关系

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

数据类型:逻辑

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

  • 真正的—生成模糊的C代码,您可以与第三方共享,减少损害知识产权的可能性。

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

选项来构建模型参考仿真目标,指定为逗号分隔的对,由“IncludeModelReferenceSimulationTargets”而且真正的

依赖关系

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

数据类型:逻辑

输出参数

全部折叠

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

扩展功能

版本历史

之前介绍过的R2006a

全部展开

Baidu
map