主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

代码映射编辑器 - C

将模型元素与代码接口定义关联起来

说明

代码映射编辑器是一个图形界面,您可以在模型中配置数据元素和入口函数以进行代码生成。模型参考层次结构中的每个模型都有自己的代码映射。在整个模型中,将每个类别的模型数据元素与特定的存储类关联起来,并将每个类别的模型入口函数与特定的函数自定义模板关联起来。然后,根据需要针对特定数据元素和函数覆盖这些设置。对于附加了定义服务接口配置的 Embedded Coder® 字典的模型,您可以将模型的元素映射到附加到该模型的共享字典中定义的服务接口。

存储类定义外观和位置等属性,代码生成器在为相关数据生成代码时使用这些属性。 函数自定义模板定义代码生成器如何为相关函数生成代码。如果将存储类或函数自定义模板设置为默认,则可以为该数据或函数类别配置内存部分。

要配置代码生成的数据元素和函数,请使用代码映射编辑器显示中的选项卡:

  • 数据默认值 (仅数据接口)

  • 函数默认值(仅数据接口)

  • 函数

  • 输入端口

  • 输出端口

  • 数据传输(仅服务接口)

  • 参数

  • 数据存储

  • 信号/状态

当可以为模型元素配置额外的代码映射属性时,您可以通过选择活动表中的一行并点击 Icon to configure additional code mapping properties. 图标来配置这些属性。例如,此屏幕截图显示了点击根级输入端口的附加属性按钮时打开的对话框。

Code Mappings editor is open with the Inports tab selected. The mouse cursor is clicking on the pencil button to the right of the single entry in the Inports table. A dialog box with title Measurements is open above the pencil button. The dialog box has four labels with User Input controls next to each of the labels. The labels are "Calibration Access" with a drop list showing NoCalibration next to it, "Display Identifier" with an empty text box next to it, "Format" with an empty text box next to it, and "Compu Method" with an empty text box next to it. In the bottom of the dialog box there is a push button labeled "Open in Property Inspector".

在配置用于代码生成的信号之前,请先将该信号添加到模型代码映射中。通过暂停信号线上方或下方出现的省略号来打开操作栏,从代码映射中添加和删除信号。点击添加信号删除信号按钮。这些按钮也可在信号/状态选项卡上的代码映射编辑器中使用。

Simulink model is open with the Code Mappings editor open, and the Data Defaults tab selected. The drop-down list of the Storage Class in the Output ports table entry is expanded.

打开 代码映射编辑器 - C

执行以下操作之一:

  • 打开 Embedded Coder对于数据接口配置,在 C 代码选项卡上,选择代码接口 > 默认代码映射代码接口 > 个体元素代码映射。对于服务接口配置,C 代码选项卡,选择代码接口 > 组件接口代码接口 > 子组件接口.

  • 打开 Embedded Coder。在 C 代码选项卡上,在 Simulink® 编辑器窗口的左下角,点击代码映射选项卡。

  • 在 Simulink 编辑器窗口的模型画布中,点击右下角的透视控件并选择代码。然后,点击代码映射选项卡。

示例

为根级 Inport 和 Outport 模块配置代码生成

在整个模型中为根 InportOutport 模块配置代码生成。应用默认配置可以节省时间,特别是对于使用大量数据的大型模型。应用默认映射后,您可以调整单个数据元素的映射。

设置示例环境
  1. 通过在 MATLAB® 命令行窗口中输入以下命令来打开模型 RollAxisAutopilot

    openExample("RollAxisAutopilot")
    当前工作目录包含这些外部代码文件。

    • roll_input_data.c

    • roll_input_data.h

    • roll_heading_mode.c

    • roll_heading_mode.h

  2. 打开 Embedded Coder

配置默认映射

配置代码生成器以:

  • 使用头文件 roll_input_data.h 来声明代表模型 Inport 模块的变量。

  • 将模型 Outport 模块的变量表示为单独的全局变量。

  • roll_output_data.c 中定义输出变量,并在 roll_output_data.h 中声明它们。

  • 配置代码生成器在 Inport 模块的代码中生成的变量所使用的名称。

  1. C 代码选项卡中,选择 代码接口 > 默认代码映射

  2. 数据默认值选项卡中的输入端口和输出端口下,选择输入端口的行。然后,将存储类设置为 ImportFromFile

  3. 点击 Icon to configure additional code mapping properties. 图标并将头文件设置为 roll_input_data.h

  4. 将模型元素类别输出端口的存储类设置为 ExportToFile

  5. 头文件设置为 roll_output_data.h,将定义文件设置为 roll_output_data.c

配置单个输入端口的默认配置
  1. 在代码映射编辑器中,点击输入端口选项卡。每个输入端口的存储类设置为 Auto,这意味着代码生成器可能会为了优化目的消除或更改相关代码的表示。如果无法进行优化,代码生成器将应用输入端口的默认配置。

  2. 强制代码生成器使用输入端口的默认配置,存储类 ImportFromFile 和外部头文件 roll_input_data.h。按下 Ctrl 键并选择输入端口。对于选定的输入端口之一,将存储类设置为 Model 默认值:从文件导入 。编辑器更新所选输入端口的存储类设置。

覆盖默认映射

覆盖输入端口变量 HDG_Mode 的默认源位置。该变量在外部文件 roll_heading_mode.h 中声明。

  1. 在代码映射编辑器中,点击输入端口选项卡。

  2. 选择 HDG_Mode 行。

  3. 存储类设置为 ImportFromFile

  4. 点击 Icon to configure additional code mapping properties. 图标并将头文件设置为 roll_heading_mode.h

  5. 配置代码生成器,为 Inport 模块的代码生成与外部文件 roll_input_data.hroll_heading_mode.h 中的变量名匹配的变量名。在输入端口选项卡上,选择每个 Inport 模块,点击 Icon to configure additional code mapping properties. 图标并将标识符设置为模块名称。当存储类设置为除自动以外的值时,您可以为标识符存储类属性指定一个值。如果将标识符属性留空,代码生成器将使用与建模元素关联的模块或信号的名称。

在代码生成和构建过程中包含外部源文件

在代码生成和构建过程中包含外部源文件 roll_input_data.croll_heading_mode.c。将模型配置参数源文件设置为 roll_input_data.c roll_heading_mode.c

保存模型。

生成并验证代码

生成代码并验证 InportOutport 模块生成的代码是否如您所期望的那样出现。

  • RollAxisAutopilot.h 包含与存储类相关的这些头文件:

    #include "roll_output_data.h"
    #include "roll_input_data.h"
    #include "roll_heading_mode.h"
    
  • roll_heading_mode.c 包含 roll_heading_mode.h 并定义变量 HDG_Mode

    #include "roll_heading_mode.h"
    
    boolean_T HDG_Mode;
  • roll_input_data.c 定义在 roll_input_data.h 中声明的变量。

    #include "roll_input_data.h"
    
    boolean_T AP_Eng;
    real32_T HDG_Ref;
    real32_T Rate_FB;
    real32_T Phi;
    real32_T Psi;
    real32_T TAS;
    real32_T Turn_Knob;
  • roll_output_data.c 包含此导出的数据定义:

    real32_T Ail_Cmd;
  • roll_output_data.h 包含以下导出数据声明:

    extern real32_T Ail_Cmd;

为入口函数配置默认函数名称

代码生成器默认使用标识符命名规则 $R$N 来命名入口函数。$R 是根模型的名称。$N 是函数的名称,例如 initializestepterminate。为了将生成的代码与现有的外部代码集成或遵守命名标准或规范,您可以调整默认命名规则。此示例显示如何将文本字符串 myproj_ 添加为 $R$ 的前缀。调整默认命名规则可以节省时间,特别是对于代码生成器为每个速率生成唯一的 step 函数的多速率模型。

设置示例环境
  1. 通过在 MATLAB 命令行窗口中输入以下命令来打开模型 MultirateMultitasking

    openExample("MultirateMultitasking")

  2. 打开 Embedded Coder。C 代码选项卡在 Simulink 工具条上打开。您可以通过选择状态栏附近的代码映射 - 组件接口来打开代码映射编辑器窗格。

定义函数命名规则

创建定义命名规则 myproj_$R$N 的函数自定义模板。

  1. 打开 Embedded Coder 字典。在 C 代码选项卡中,选择 代码接口 > Embedded Coder 字典 (模型)

  2. 数据接口窗格中,选择函数自定义模板

  3. 在中心窗格中,点击创建

  4. 在右侧窗格中,将名称指定为 myproj_FunctionTemplate

  5. 函数命名规则指定为 myproj_$R$N

  6. 关闭 Embedded Coder 字典。

配置默认映射
  1. C 代码选项卡中,选择 代码接口 > 默认代码映射

  2. 点击函数默认值选项卡。

  3. 对于初始化/终止执行函数类别,将默认函数自定义模板从 Default 更改为 myproj_FunctionTemplate

  4. 保存模型。

生成和审查代码

生成代码并验证入口函数名称。

void myproj_MultirateMultitasking_step0(void) /* Sample time: [1.0s, 0.0s] */
{
  (rtM->Timing.RateInteraction.TID0_1)++;
  if ((rtM->Timing.RateInteraction.TID0_1) > 1) {
       rtM->Timing.RateInteraction.TID0_1 = 0;
  }

  if (rtM->Timing.RateInteraction.TID0_1 == 1) {
      rtDW.RateTransition = rtDW.RateTransition_Buffer0;
  }
      rtY.Out2 = 2.0 * rtDW.RateTransition + rtU.In1_1s;
      rtY.Out1 = (3.0 * rtDW.RateTransition + rtU.In1_1s) * 5.0 + rtY.Out2;
}

/* Model step function for TID1 */
void myproj_MultirateMultitasking_step1(void) /* Sample time: [2.0s, 0.0s] */
{
  rtDW.RateTransition_Buffer0 = rtDW.Integrator_DSTATE;
  rtDW.Integrator_DSTATE += 2.0 * rtU.In2_2s;
}

void myproj_MultirateMultitasking_initialize(void)
{
  /* (no initialization code required) */
}

void myproj_MultirateMultitasking_terminate(void)
{
  /* (no terminate code required) */
}

自定义单个入口函数

对于您的模型,您可以自定义大多数入口函数的名称以及执行函数的参量,例如步骤函数和 Simulink 函数。此示例显示如何自定义模型 RollAxisAutopilot 的入口函数。

设置环境
  1. 通过在 MATLAB 命令行窗口中输入以下命令来打开模型 RollAxisAutopilot

    openExample("RollAxisAutopilot")
    当前工作目录包含这些外部代码文件。

    • roll_input_data.c

    • roll_input_data.h

    • roll_heading_mode.c

    • roll_heading_mode.h

  2. 打开 Embedded Coder。C 代码选项卡在 Simulink 工具条上打开。您可以通过选择状态栏附近的代码映射 - 组件接口来打开代码映射编辑器窗格。

自定义入口函数
  1. C 代码选项卡中,选择 代码接口 > 个体元素代码映射代码映射编辑器打开,并选择函数选项选项卡。

  2. 自定义步骤(执行)函数的名称,使用 Periodic:D1。在函数名称列中,输入名称 roll_run

  3. 自定义 step 函数的参量。点击函数预览列中的原型超链接,打开 step 函数的配置对话框。

  4. 选择为单步函数原型配置参量

  5. 要打开显示参量默认配置的表,点击获取默认值

  6. 自定义参量:

    • C 返回参量下拉列表中,选择 Ail_Cmd

    • 对于每个端口,在 C 标识符名称字段中,从其默认名称中删除 arg_ 前缀。

    • 对于 HDG_Mode Inport,从 C 类型限定符下拉列表中选择指针。在 C 标识符名称字段中将名称更改为 HDG_Mode_Ptr

  7. 点击应用并验证函数原型是否反映了更改。

  8. 点击验证验证更改。

  9. 点击确定

生成并验证代码
  1. 生成代码。

  2. 验证生成的 C 文件 RollAxisAutopilot.c 中的更新。要查找更新的 step 函数 (roll_run),请使用搜索字段。

  3. 选择 step 函数来验证其原型。

    real32_T roll_run(real32_T Phi, real32_T Psi, real32_T Rate_FB, real32_T TAS,
                      boolean_T AP_Eng, boolean_T *HDG_Mode_Ptr, real32_T HDG_Ref,
                      real32_T Turn_Knob)

相关示例

参数

全部展开

数据默认值

命名 Simulink 模型数据元素的类别。为类别设置的存储类适用于整个模型中该类别的元素。

模型元素类别描述
输入端口模型的根级输入端口,例如 InportIn Bus Element 模块。
输出端口模型的根级输出端口,例如 OutportOut Bus Element 模块。
信号、状态和内部数据模型内部的数据元素,例如模块输出信号、离散模块状态、数据存储和过零信号。
共享本地数据存储设置了模块参数跨模型实例共享Data Store Memory 模块。这些数据存储只能在定义它们的模型中访问。数据存储值在模型的实例之间共享。
全局数据存储由基础工作区或数据字典中的信号对象定义的数据存储。应用程序中的多个模型可以使用这些数据存储。要在代码映射编辑器中查看和配置这些数据存储,点击类别名称右侧的 Refresh 链接。点击此链接可更新模型图。
模型参数参量模型工作区中您配置为模型参量的参数。这些参数在模型模块中暴露,以使每个模型实例能够提供自己的值。要将参数指定为模型参量,请选中 模型数据编辑器 > 参数 > 参量 复选框。
模型参数在模型内定义的参数,例如模型工作区中的参数。不包括模型参量。
外部参数在基础工作区或数据字典中定义为对象的参数。应用程序中的多个模型可以使用这些参数。要在代码映射编辑器中查看和配置这些参数,点击类别名称右侧的 Refresh 链接。点击此链接可更新模型图。
常量

无法内联的常量值模块输出和参数。由于以下原因之一,这些值存储在变量中。

  • 该值是一个大于循环展开阈值的数组。

  • 代码中需要值地址。

代码映射编辑器为给定类别提供有效的存储类选项。这些选项可以包括:

  • 未指定的存储类(默认)。代码生成器将数据元素类别的代码放置在标准结构中,例如 B_ExtY_ExtU_DW_P_。请参阅Data Structures in the Generated Code

  • 相关的预定义存储类,例如 ExportedGlobal

  • 可用包中的相关存储类,例如 ImportFromFile

  • 在 Embedded Coder 字典中定义的存储类。

代码生成器使用的定义(规范)来确定其为模型数据元素生成的代码的属性,例如外观和位置。请参阅Choose Storage Class for Controlling Data Representation in Generated Code

函数默认值

命名一类 Simulink 模型函数。您为某个类别设置的函数自定义模板将应用于整个模型中该类别的函数。

模型函数类别描述
初始化/终止初始化和终止的入口函数
执行用于启动执行和重置的入口函数
共享实用工具共享实用工具函数

代码生成器使用的定义(规范)来确定其为模型函数生成的代码的属性,例如外观和位置。默认情况下模板不可用。您可能需要在 Embedded Coder 字典中定义一个函数自定义模板。

函数

标识入口函数的类型。对于基于速率的模型,此属性提供 step 函数的采样率。

代码生成器用来确定其为模型函数生成的代码的属性(例如外观和位置)的定义(规范)。

代码生成器给出模型函数的名称。

入口函数原型的预览。要验证原型,请查看原型预览。要打开可以自定义原型的对话框,点击预览超链接。有关详细信息,请参阅Configure Default Settings for Functions

自 R2022b 起

Embedded Coder 字典中定义的计时器服务接口的名称。要使用字典默认值,请指定 Dictionary default

此属性仅适用于导出的函数。

要配置计时器服务接口,必须将定义服务接口配置的 Embedded Coder 字典附加到模型。有关详细信息,请参阅Configure Timer Service Interfaces

输入端口

标识模型中的根 Inport 模块或 In Bus Element 模块的元素(例如 InBus1.signal1)。如果元素解析为数据对象,则代码映射编辑器会在源名称右侧显示一个解析为信号对象的图标,并根据元素的存储类设置是否为 Auto 来解析配置。如果存储类是 Auto,则数据元素采用数据对象指定的代码配置。编辑器将存储类列中的显示文本更改为 From signal object:,后跟数据对象的存储类名称。如果存储类不是 Auto,则数据元素将采用您在代码映射编辑器中指定的配置。

代码生成器用来确定其为根输入端口生成的代码的属性(例如外观和位置)的定义。请参阅Choose Storage Class for Controlling Data Representation in Generated Code

表示生成的代码中的输入端口的变量的名称。

选择 Calibration 作为输入端口以启用校准。选择 NoCalibration 查看输入端口的值并禁用校准。

为了便于阅读,将 ECU 内部值转换为物理值的方法名称。

校准工具中用于测量目的的输入端口的可选显示名称,与 Simulink 模型中的输入端口名称不同。

校准工具中为测量指定的特殊显示格式。此格式规范优先于输入端口的 CompuMethod 中指定的显示格式。

自 R2022b 起

Embedded Coder 字典中定义的接收方服务接口的名称。在目标环境中,组件通过调用目标平台接收方服务从其他组件接收数据。要使用字典默认值,请指定 Dictionary default

要配置接收方服务接口,必须将定义服务接口配置的 Embedded Coder 字典附加到模型。有关详细信息,请参阅Configure Sender and Receiver Service Interfaces for Model Inports and Outports

输出端口

标识模型中的根级别 Outport 模块或 Out Bus Element 模块的元素(例如 OutBus1.signal1)。如果元素解析为数据对象,则代码映射编辑器会在源名称右侧显示一个解析为信号对象的图标,并根据元素的存储类设置是否为 Auto 来解析配置。如果存储类是 Auto,则数据元素采用数据对象指定的代码配置。编辑器将存储类列中的显示文本更改为 From signal object:,后跟数据对象的存储类名称。如果存储类不是 Auto,则数据元素将采用您在代码映射编辑器中指定的配置。

代码生成器用来确定其为根输出端口生成的代码的属性(例如外观和位置)的定义。请参阅Choose Storage Class for Controlling Data Representation in Generated Code

表示生成的代码中的输出端口的变量的名称。

选择 Calibration 作为输出端口以启用校准。选择 NoCalibration 查看输出端口的值并禁用校准。

为了便于阅读,将 ECU 内部值转换为物理值的方法名称。

校准工具中用于测量目的的输出端口的可选显示名称,与 Simulink 模型中的输出端口名称不同。

校准工具中为测量指定的特殊显示格式。此格式规范优先于输出端口的 CompuMethod 中指定的显示格式。

自 R2022b 起

Embedded Coder 字典中定义的发送方服务接口的名称。在目标环境中,组件通过调用目标平台发送方服务向其他组件发送数据。要使用字典默认值,请指定 Dictionary default

要配置发送方服务接口,必须将定义服务接口配置的 Embedded Coder 字典附加到模型。有关详细信息,请参阅Configure Sender and Receiver Service Interfaces for Model Inports and Outports

数据传输

自 R2022b 起

标识连接两个模块的信号线,该信号线在生成的代码中产生可调用的入口函数。要了解有关可调用入口函数的更多信息,请参阅模型代码接口

自 R2022b 起

用于代码生成的数据传输服务接口,指定为模型的 Embedded Coder 字典中定义的服务接口之一。在目标环境中,可调用入口函数通过调用目标平台指定的数据传输服务在它们之间传输数据。要使用字典的默认数据传输服务,请指定 Dictionary default。要配置数据传输服务接口,必须将定义服务接口配置的 Embedded Coder 字典附加到模型。有关详细信息,请参阅Configure Data Transfer Service Interfaces for Data Transfer Signals

参数

识别模型中的参数。如果元素解析为数据对象,则代码映射编辑器会在源名称右侧显示一个解析为参数对象的图标,并根据元素的存储类设置是否为 Auto 来解析配置。如果存储类是 Auto,则数据元素采用数据对象指定的代码配置。编辑器将存储类列中的显示文本更改为 From parameter object:,后跟数据对象的存储类名称。如果存储类不是 Auto,则数据元素将采用您在代码映射中指定的配置。

参数元素的类型列于此表中。

参数元素的类型描述
模型参数参量模型工作区中配置为模型参量的模块参数。该参数在模型模块中暴露,以使每个模型实例能够提供自己的值。要将参数指定为模型参量,请选中 模型数据编辑器 > 参数 > 参量 复选框。
模型参数在模型内定义的参数,例如模型工作区中的参数。不包括模型参量。
外部参数在基础工作区或数据字典中定义为对象的参数。应用程序中的多个模型可以使用这些参数。仅当模型使用这样的元素时,此参数分组才会出现在编辑器中。要在代码映射编辑器中查看和配置这些参数,点击类别名称右侧的 Refresh 链接。点击此链接可更新模型图。

代码生成器用来确定其为参数生成的代码的属性(例如外观和位置)的定义。对于外部参数,点击类别名称右侧的 Refresh 链接后,编译后的存储类别(例如,为外部参数配置的存储类别)会出现在存储类列的右侧。请参阅Choose Storage Class for Controlling Data Representation in Generated Code

表示生成的代码中的模型参数或模型参数参量的变量的名称。

选择 Calibration 作为模型参数以启用校准。选择 NoCalibration 查看模型参数的值并禁用校准。

为了便于阅读,将 ECU 内部值转换为物理值的方法名称。

校准工具中用于测量目的的模型参数的可选显示名称,与 Simulink 模型中的输出端口名称不同。

校准工具中为测量指定的特殊显示格式。此格式规范优先于模型参数的 CompuMethod 中指定的显示格式。

自 R2022b 起

Embedded Coder 字典中定义的参数调整服务接口名称。要使用字典默认值,请指定 Dictionary default

要配置参数调整服务接口,必须将定义服务接口配置的 Embedded Coder 字典附加到模型。有关详细信息,请参阅Configure Parameter and Parameter Argument Tuning Service Interfaces for Model Parameters and Model Parameter Arguments

自 R2022b 起

Embedded Coder 字典中定义的参量调整服务接口的名称。要使用字典默认值,请指定 Dictionary default

要配置参数参量参调整服务接口,必须将定义服务接口配置的 Embedded Coder 字典附加到模型。有关详细信息,请参阅Configure Parameter and Parameter Argument Tuning Service Interfaces for Model Parameters and Model Parameter Arguments

数据存储

标识模型中的数据存储。如果元素解析为数据对象,则代码映射编辑器会在源名称右侧显示一个解析为信号对象的图标,并根据元素的存储类设置是否为 Auto 来解析配置。如果存储类是 Auto,则数据元素采用数据对象指定的代码配置。编辑器将存储类列中的显示文本更改为 From signal object:,后跟数据对象的存储类名称。如果存储类不是 Auto,则数据元素将采用您在代码映射中指定的配置。

数据存储元素的类型列于此表中。

数据存储元素的类型描述
本地数据存储可以从模型层次结构中位于或低于您定义数据存储的级别的任何位置访问的数据存储。您可以通过在模型中包含 Data Store Memory 模块或在模型工作区中创建信号对象(合成数据存储)来以图形方式定义本地数据存储。
共享本地数据存储已设置模块参数跨模型实例共享Data Store Memory 模块。这些数据存储只能在定义它们的模型中访问。数据存储值在模型的实例之间共享。仅当模型中存在这样的元素时,此数据存储分组才会出现在编辑器中。
全局数据存储由基础工作区或数据字典中的信号对象定义的数据存储。应用程序中的多个模型可以使用这些数据存储。这些数据存储在代码映射中不可配置。点击刷新按钮后,它们将以只读状态出现在代码映射编辑器中以供查看。仅当模型使用这样的元素时,此数据存储分组才会出现在编辑器中。要在代码映射编辑器中查看和配置这些数据存储,点击类别名称右侧的 Refresh 链接。点击此链接可更新模型图。

本地和共享本地数据存储的名称以 block-name: data-store-name 格式显示。

根据数据存储元素在模型中的表示和配置方式,本地和共享本地数据存储可以解析为模型工作区、基于工作区或数据字典中的信号对象。全局数据存储解析为基础工作区或数据字典中的信号对象。

代码生成器用来确定其为数据存储生成的代码的属性(例如外观和位置)的定义。对于全局数据存储,点击类别名称右侧的 Refresh 链接后,编译后的存储类(例如,为全局数据存储配置的存储类)会出现在存储类列的右侧。请参阅Choose Storage Class for Controlling Data Representation in Generated Code

您可以点击该链接来突出显示模型图中的数据存储。

表示生成的代码中的数据存储的变量的名称。

选择 Calibration 作为数据存储以启用校准。选择 NoCalibration 查看数据存储的值并禁用校准。

为了便于阅读,将 ECU 内部值转换为物理值的方法名称。

校准工具中用于测量目的的数据存储的可选显示名称,与 Simulink 模型中的输出端口名称不同。

校准工具中为测量指定的特殊显示格式。此格式规范优先于数据存储的 CompuMethod 中指定的显示格式。

自 R2022b 起

Embedded Coder 字典中定义的测量服务接口的名称。通过配置信号、状态和数据存储的测量服务接口,您可以保存生成的代码中的数据以供测量。要使用字典默认值,请指定 Dictionary default。如果您不需要在代码中保留状态数据,请指定 Not measured

要配置测量服务接口,必须将定义服务接口配置的 Embedded Coder 字典附加到模型。有关详细信息,请参阅Configure Measurement Service Interfaces for Signals, States, and Data Stores

信号/状态

识别模型中的信号线或状态。如果元素解析为数据对象,则代码映射编辑器会在源名称右侧显示一个解析为信号对象的图标,并根据元素的存储类设置是否为 Auto 来解析配置。如果存储类是 Auto,则数据元素采用数据对象指定的代码配置。编辑器将存储类列中的显示文本更改为 From signal object:,后跟数据对象的存储类名称。如果存储类不是 Auto,则数据元素将采用您在代码映射编辑器中指定的配置。

代码映射编辑器列出:

  • 使用数据元素名称命名信号和状态

  • 使用 source-block: port-number 格式的未命名信号

  • 使用 block-name: state-name 格式在多个模块中使用的状态

要在模型的代码映射编辑器中配置单独的信号线,首先必须将信号添加到映射中。请参阅Configure Signal Data for C Code Generation

代码生成器用来确定其为信号线或状态生成的代码的属性(例如外观和位置)的定义。请参阅Choose Storage Class for Controlling Data Representation in Generated Code

您可以点击该链接来突出显示模型图中使用该状态的信号线或模块。

表示生成的代码中的信号或状态的变量的名称。

选择 Calibration 作为信号或状态以启用校准。选择 NoCalibration 查看信号或状态的值并禁用校准。

为了便于阅读,将 ECU 内部值转换为物理值的方法名称。

校准工具中用于测量目的的信号或状态的可选显示名称,与 Simulink 模型中的输出端口名称不同。

校准工具中为测量指定的特殊显示格式。此格式规范优先于信号或状态的 CompuMethod 中指定的显示格式。

自 R2022b 起

Embedded Coder 字典中定义的测量服务接口的名称。通过配置信号、状态和数据存储的测量服务接口,您可以保存生成的代码中的数据以供测量。要使用字典默认值,请指定 Dictionary default。如果状态数据不需要在代码中保留,请指定 Not measured

要配置测量服务接口,必须将定义服务接口配置的 Embedded Coder 字典附加到模型。有关详细信息,请参阅Configure Measurement Service Interfaces for Signals, States, and Data Stores

版本历史记录

在 R2018a 中推出