您可以为模型中的子系统生成代码并构建可执行文件。代码生成和构建过程使用根模型的代码生成和构建参数。
在Configuration Parameters对话框中,设置代码生成和构建参数,类似于为模型设置代码生成。
右键单击子系统块。从上下文菜单中选择C/ c++代码>构建这个子系统从上下文菜单中。
或者,在当前模型中,单击一个子系统,然后从C代码选项卡上,单击构建.
请注意
当你选择构建这个子系统,如果模型在外部模式下运行,则构建过程将在构建期间自动关闭外部模式。代码生成器在构建过程完成后恢复外部模式。
要配置在子系统中作为块参数引用的变量(或数据对象)的名称、类和存储类等属性,请将子系统转换为a模型块并使用代码映射编辑器配置属性。
有关可调参数和内联参数及存储类的详细信息,请参见在生成的代码中创建可调的校准参数.
构建过程在MATLAB中显示状态消息®命令窗口。构建完成后,生成的可执行文件位于工作文件夹中。生成的可执行文件的名称为
(PC平台)或子系统
. exe
(在开放组UNIX上®平台)。子系统
源子系统块的名称。子系统
生成的代码位于构建子文件夹中,名为
.子系统
_目标
_rtw
源子系统的名称是块和子系统
目标配置的名称。目标
生成子系统的代码时,可以通过右键单击s函数来生成s函数子系统阻塞和选择C/ c++代码>构建这个子系统从上下文菜单中。有关s函数的更多信息,请参见从子系统生成s函数.
以下限制适用于构建子系统:
子系统构建不支持具有函数调用触发输入或函数调用输出金宝app的子系统。
当你右键单击子系统阻塞并选择C/ c++代码>构建这个子系统从上下文菜单中构建一个子系统,该子系统包含一个外港块,用于数据类型参数指定总线对象,则必须处理由于设置信号标签而导致的错误。要配置软件以显示这些错误,请在父模型的配置参数对话框中,在诊断>连接窗格中,设置信号标签不匹配参数错误
.
当子系统处于触发的或函数调用的子系统中时,如果子系统代码不是与样本时间无关的,则右键构建过程可能会失败。要了解一个子系统是否与样本时间无关:
将子系统中的所有块复制到空模型中。
在“配置参数”对话框中,单击解算器窗格中,设置:
类型来固定步
.
周期采样时间约束来确保采样时间无关
.
点击应用.
更新模型。如果模型依赖于采样时间,则Simulink金宝app®在更新关系图的过程中生成错误。
当您对子系统使用右键构建过程时,代码生成器将尝试对生成的代码文件使用子系统名称。在某些情况下,您在设置时指定的名称可能会发生冲突,例如,文件名选项来使用函数名
或函数名选项来使用子系统名称
.你会看到一个错误:
子系统”模型/中高'正在尝试为保留文件生成代码(中高)的模型。中高“…
若要解决此错误,请修改其中一个冲突的文件名,使其名称唯一。
在子系统构建警告中,创建的子系统块路径超链接引用临时模型块路径,而不是实际的模型块路径。在诊断查看器中,单击子系统超链接不会将您带到该块。在命令窗口中,您将看到一条消息:
…没有系统或文件名为subsystemName发现. ...