主要内容

模型接口元素的C代码生成配置

代码生成器为您提供了用于控制数据的表示,如果您有嵌入式编码器,则提供工具®,生成的代码中的入口点函数。例如,您可以为代码生成配置数据和函数,以符合代码标准和指南,将生成的代码与外部代码集成,或解决内存需求。

代码生成器为模型数据元素和函数生成代码:

  • 应用程序代码可以读取和写入的数据,比如导入、信号、状态和参数。

  • 入口点函数,如模型_step,应用程序代码调用它来执行模型算法。

您可以使用使用的代码生成配置模型数据元素和功能代码映射编辑器或代码映射编程接口(coder.mapping.api.CodeMapping).配置函数需要嵌入式编码器。对于数据元素,使用代码映射编辑器或代码映射API,而不是创建和配置Simulink数据对象。金宝app编辑器和API允许你配置:

  • 用于数据元素类别的整个模型的默认代码生成设置

  • 应用于单个数据元素的配置设置

此图显示了整体工作流程:

迭代流图,显示了配置默认映射、覆盖单个模型元素的默认映射以及为模型元素创建代码定义的步骤。

迁移

当您打开在R2020b之前的版本中创建的模型时,Simulink®会将模型中指定的代码定义迁移到模型代码映射中。金宝app

如有必要,就作为迁移的一部分,Simulink配置模型使用的嵌入式编码器字典。金宝app保存模型时,代码映射将作为模型的一部分保存。

有关更多信息,例如迁移迁移的影响以及迁移前需要考虑,请参阅将模型数据配置迁移到代码映射

代码定义

代码定义包括存储类。存储类定义了代码生成器在为相关数据生成代码时使用的属性,比如外观和位置。

内存部分控制存储器中的数据和函数定义的位置。在某些情况下,您可以在配置数据元素和功能时选择要选择的特定内存部分。

代码生成器为数据元素提供预定义的代码定义。如果您有嵌入式编码器,则可以使用嵌入式编码器字典创建和共享代码定义,例如,要标准化从多个模型生成的代码,或为不同的应用程序运行时环境创建定义。创建自定义定义使您可以实现预定定义无法满足的代码生成目标。对于数据元素,您还可以选择使用嵌入式编码器自定义存储类设计器创建在包中创建的代码定义。

使用嵌入式编码器字典创建的代码定义显示在代码映射编辑器并可通过使用代码映射API进行访问。对于使用自定义存储类设计器创建的一些定义,可以通过配置嵌入式编码器字典引用它们,使这些定义出现在代码映射编辑器中。

默认情况下,使用嵌入式编码器字典为模型创建的代码定义存储在模型文件中。通过在Simulink中存储定义,您可以在模型和项目之间共享代码定义金宝app®数据字典。使用数据字典来修改共享定义,您可以在一个位置更改一个定义 - 嵌入式编码器字典。

有关更多信息,请参阅为软件架构定义存储类、内存段和函数模板(嵌入式编码)使用自定义存储类设计器创建存储类(嵌入式编码)

数据默认配置

通过为数据元素类别指定默认配置,例如跨模型的导入或模型工作区参数,可以减少为C代码生成准备模型的工作。应用默认配置可以节省时间并降低在代码中引入错误的风险,特别是对于生成多实例代码的大型模型和模型。

默认配置适用于整个模型,不包括引用的模型。金宝appSimulink保存了一组单独的代码映射,作为模型引用层次结构中每个模型的一部分。

如果模型包含给定类别的大量元素(例如,超过10个),则更有效的方法是使用默认设置配置类别,然后针对特殊情况覆盖该设置。

默认设置可以帮助您减少手动输入数据。

  • 在将块和信号添加到型号时,新的数据元素继承了默认设置。

  • 要一次更改多个数据元素的代码生成设置,只需在一个地方更改—默认设置。

  • 为了提高效率,当您在模型的其他地方进行更改时,请使用命名规则。

属性配置数据默认值代码映射编辑器数据默认值选项卡或setdatadefault.函数。

模型数据类别

属性配置数据默认值代码映射编辑器数据默认值选项卡或setdatadefault.函数。当数据默认值选项卡或函数调用时,可以选择或指定数据元素的这些类别。

模型元素类别 描述
港口 型号的根级输入端口,例如inport.在公共汽车元素块。
出口 模型的根级输出端口,例如出口公共汽车元素块。
信号、状态和内部数据 模型内部的数据元素,例如块输出信号,离散块状态,数据存储和零交叉信号。
共享本地数据存储 数据存储内存具有块参数的块跨模型实例共享设置。这些数据存储只能在定义它们的模型中访问。数据存储值在模型的实例上共享。
全球数据存储 由基本工作空间或数据字典中的信号对象定义的数据存储。应用程序中的多个模型可以使用这些数据存储。要在代码映射编辑器中查看和配置这些数据存储,请单击刷新链接到类别名称的右侧。单击此链接将更新模型图。
模型参数 在模型中定义的参数,例如模型工作区中的参数。不包括模型参数。
外部参数 您在基础工作区中或数据字典中定义的参数。应用程序中的多个模型可以使用这些参数。要在代码映射编辑器中查看和配置这些参数,请单击“刷新链接到类别名称的右侧。单击此链接将更新模型图。

为数据配置默认代码生成设置的注意事项

在配置数据元素的默认代码生成设置之前,请考虑该表中列出的注意事项。

考虑 更多的信息
哪些类别与您的模型相关? 前表中的数据元素类别
模型是否使用类别中的多个数据实例?如果答案是肯定的,那么应用默认映射是有益的。否则,考虑为每个数据元素单独配置代码生成。
哪个存储类与每个类别的代码生成要求对齐? 选择存储类以控制生成代码中的数据表示
您是否希望防止优化从代码中消除特定数据? 通过优化消除数据类别

配置一个或多个类别元素,设置内存部分和共享实用程序标识符格式模型配置参数对模型配置没有影响。当您打开编码器应用程序时,Simulink将模型配置参金宝app数设置迁移到代码映射编辑器。作为迁移的一部分,Simulink配置模型使用的嵌入金宝app式编码器字典,如将内存部分和共享实用程序设置从配置参数迁移到代码映射(嵌入式编码)

通过优化消除数据类别

代码生成优化可以消除代码中的数据,这意味着应用程序代码不能与数据交互。有关按优化消除数据的一般信息,请参见生成的代码如何存储内部信号,状态和参数数据(嵌入式编码)

优化只能消除以下类别中的数据:

  • 模型参数

  • 模型参数的参数

  • 外部参数

  • 内部数据

在通过优化消除数据之后,代码生成器将代码映射中的默认代码生成设置应用于其余数据。对于参数和信号线,优化可以消除整个类别的数据。如果发生这种消除,则您为该类别指定的默认设置将不适用于数据。

要防止优化消除单个数据元素,请显式地将存储类应用于单个元素。存储类控制生成代码中数据的外观。若要强制数据元素使用指定的默认存储类,请显式应用存储类模型的默认.看选择存储类以控制生成代码中的数据表示

共享字典数据默认值

如果将模型链接到Simulink数据字典,其中包括金宝app为数据类别配置默认代码定义的编码器字典,则可以使用代码映射编辑器来应用字典默认值。在代码映射编辑器中,在数据默认值选项卡,选择一个类别并将存储类设置为词典默认.如果有人在共享编码器字典中对默认设置进行了更改,则代码生成器在为模型的代码制作时应用更新的默认设置。看在共享字典中配置默认代码映射(嵌入式编码)

单个数据元素的配置

配置模型范围默认设置后,您可以覆盖单个数据元素的默认值。单个数据元素配置适用于模型中的特定数据元素。单独配置数据元素时:

  • 该模型包括给定类别的一些元素,具有唯一的源,命名或放置要求。

  • 您配置了默认设置,并且希望覆盖单个元素的默认设置。

对于单个数据元素,最初将存储类设置为自动,这意味着代码生成器可能会消除或更改相关代码的表示以获取优化目的。如果无法优化,则代码生成器应用模型默认配置。

  • 要避免优化并强制代码生成器使用默认配置,请将存储类设置为模型的默认

  • 要覆盖默认配置,请指定符合该数据元素的代码生成要求的存储类。

如果模型中的数据元素是未命名的(例如,一个信号没有标签或一个状态没有名称),那么在为C代码生成配置数据元素时,必须为它指定一个代码标识符。通过为存储类属性指定一个值来设置代码标识符标识符

配置数据

  1. 打开金宝appSimulink Coder™应用程序。

  2. 为数据元素类别配置默认映射。选择代码接口>默认代码映射.在代码映射编辑器中,在数据默认值选项卡,选择模型元素类别并设置存储类。在属性检查器中,设置存储类属性以符合模型需求。

  3. 决定是否覆盖单个数据元素的默认配置设置。如果选择不覆盖设置,请执行步骤8。

  4. 确定要单独配置的MATLAB变量,并将配置存储在模型文件中。在模型资源管理器中,将变量转换为金宝app仿真软件。参数对象。结果数据对象作为模型参数出现在代码映射编辑器中。

  5. 在生成的代码执行时,确定表示要监视的算法数据的信号,并分别配置这些信号。对于你识别的每个信号,执行下列操作之一:

    • 对于特定于模型(未共享)的信号数据,将信号添加到代码映射编辑器。

    • 对于共享信号数据,创建和配置金宝appsimulink.signal.对象。

  6. 配置单个数据元素。在“代码映射编辑器”中,单击“类别”选项卡,选择“数据元素”,然后设置存储类。在“属性”检查器中,设置存储类属性值。要更改模型配置参数的设置默认参数行为,单击指示存储类设置为时的行为的链接自动.在模型配置参数对话框中,将参数设置更改为调节或者内联

    有关配置特定类型的数据元素的信息,请参见:

  7. 查看和配置存储在基础工作区或数据字典中的外部数据对象,在代码映射编辑器中,在“代码映射编辑器”中数据默认值标签,单击刷新链接到类别名称的右侧。

  8. 生成和审阅代码。

有关更多细节和示例,请参见:

另请参阅

|

相关主题