主要内容

为各个子系统生成代码和可执行文件

您可以为模型中的子系统生成代码并构建独立的可执行文件。当您为单个子系统生成代码时,代码生成和构建过程使用根模型的代码生成和构建参数。

  1. 打开带有子系统的模型,例如rtwdemo_atomic

    open_system (“rtwdemo_atomic”

  2. 开放金宝app®编码器™或嵌入式编码器®

    如果您使用的是嵌入式编码器,请从C代码选项卡上,单击视图代码打开代码视图编辑器。

  3. 右键单击子系统块。从上下文菜单中单击块参数(子系统).从Block参数:SS1窗口,打开代码生成选项卡。

  4. 使用函数名选项而且文件名选项参数来控制生成的函数和文件的名称。设置函数名选项参数汽车这样代码生成器就可以在生成的文件名中使用子系统的名称。

  5. 右键单击子系统块。从上下文菜单中选择c++代码>构建这个子系统

  6. 要配置在子系统中作为块参数引用的变量(或数据对象)的名称、类和存储类等属性,请将子系统转换为模型块。通过Code Mappings编辑器配置属性。

    有关可调参数和内联参数及存储类的更多信息,请参见在生成的代码中创建可调校准参数

    构建过程在MATLAB中显示状态消息®命令窗口。构建完成后,生成的可执行文件就在您的工作文件夹中。生成的可执行文件的名称为子系统. exe(在PC平台)或子系统(在开放组UNIX®平台)。子系统是来源的名字吗子系统块。在本例中,子系统Block被命名为魔法石,第1章

    生成的代码位于一个名为子系统_目标_rtw子系统源子系统的名称是块和目标目标配置的名称。

子系统构建限制

这些限制适用于构建子系统:

  • 您不能为配置了基于ert的系统目标文件和服务代码接口的模型使用子系统构建。

  • 子系统构建不支持具有函数调用触发器输入或函数调用输出的金宝app子系统。

  • 当您构建一个包含外港块,其中数据类型参数指定总线对象,则必须处理因设置信号标签而导致的错误。若要配置软件以显示这些错误,请在父模型的“配置参数”对话框中诊断>连接窗格中,设置信号标签不匹配参数错误

  • 当子系统处于触发子系统或函数调用子系统中时,如果子系统代码与采样时间无关,则右键单击构建过程可能会失败。要确定一个子系统是否与采样时间无关:

    1. 将子系统中的所有块复制到一个空模型中。

    2. 在“配置参数”对话框中,在解算器窗格中,设置:

      1. 类型固定步

      2. 周期采样时间约束确保采样时间独立

      3. 点击应用

    3. 更新模型。如果模型依赖于采样时间,Simulink将在更新图的过程中生成一个错误。金宝app

  • 当您对子系统使用右键单击构建过程时,代码生成器将尝试对生成的代码文件使用子系统名称。在某些情况下,可能与您在设置时指定的名称有冲突,例如,文件名选项使用函数名函数名选项使用子系统名称.你会看到一个错误:

    子系统模型/中高'正在尝试将代码生成到保留文件(中高)为模型'中高“…

    若要解决此错误,请修改其中一个冲突的文件名,使文件名唯一。

  • 在子系统构建警告中,创建的子系统块路径超链接引用一个临时模型块路径,而不是实际的模型块路径。在诊断查看器中,单击子系统超链接不会将您带到该块。在命令窗口中,您会看到一条消息:

    ...没有调用'的系统或文件subsystemName找到. ...

相关的例子

更多关于