主要内容

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

每个入口函数生成单独的内部数据

是否将表示以相同速率操作的信号和状态的变量放置在相同的数据结构中

自 R2021a 起

模型配置窗格: 代码生成 / 接口

描述

为每个入口函数生成单独的内部数据参数指定是否将表示以相同速率操作的模型信号(模块 I/O 数据)和离散状态(DWork 数据)的变量放入相同的数据结构中。如果您配置模型以将与不同速率相关的数据放置在不同的结构中,则代码生成器会在结构名称中包含前缀 FuncInternalData0FunctionInternalData1 等。

依赖关系

要启用此参数,请选择组合信号/状态结构体参数。

设置

Off (默认) | On
On

支持生成代码,用于在一个数据结构中存储以相同速率操作的全局模块信号数据(模块 I/O)和全局状态数据(DWork 向量)。

Off

禁用生成用于在一个数据结构中存储以相同速率操作的全局模块信号数据和全局状态数据的代码。

示例

全部展开

  1. 对于生成此代码的模型:

    /* Block signals and states (default storage) for system '<Root>' */
    typedef struct {
      real_T RTBS2F;                       /* '<Root>/RTBS2F' */
      real_T UDS;                          /* '<Root>/UDS' */
      real_T Sum3;                         /* '<Root>/Sum3' */
      real_T Sum1;                         /* '<Root>/Sum1' */
      real_T UDF_DSTATE;                   /* '<Root>/UDF' */
      real_T UDS_DSTATE;                   /* '<Root>/UDS' */
      real_T RTBS2F_Buffer0;               /* '<Root>/RTBS2F' */
      real_T MIXEDDSM;                     /* '<Root>/DSMM' */
      real_T SLOWDSM;                      /* '<Root>/DSMS' */
    } DW_demo1_T;
    
  2. 如果选择为每个入口函数生成单独的内部数据,生成的代码如下所示:

    /* Block signals and states (default storage) for system '<Root>' */
    typedef struct {
      real_T RTBS2F_Buffer0;               /* '<Root>/RTBS2F' */
      real_T MIXEDDSM;                     /* '<Root>/DSMM' */
    } DW_demo1_T;
    
    /* Internal Data Grouped For Same Function, for system '<Root>' */
    typedef struct {
      real_T RTBS2F;                       /* '<Root>/RTBS2F' */
      real_T Sum3;                         /* '<Root>/Sum3' */
      real_T UDF_DSTATE;                   /* '<Root>/UDF' */
    } FuncInternalData0_demo1_T;
    
    /* Internal Data Grouped For Same Function, for system '<Root>' */
    typedef struct {
      real_T UDS;                          /* '<Root>/UDS' */
      real_T Sum1;                         /* '<Root>/Sum1' */
      real_T UDS_DSTATE;                   /* '<Root>/UDS' */
      real_T SLOWDSM;                      /* '<Root>/DSMS' */
    } FuncInternalData1_demo1_T;
    

提示

选择此参数可在将模型部署到满足以下要求的多核硬件环境时提高缓存性能:

  • 模型有多个速率,选择了将每个离散速率视为单独任务参数。

  • 该模型包含以不同速率运行的多个导出函数。

以前的模型具有不同的核心可以调用的单独的入口函数。每个核心都有自己的数据缓存。将单个入口函数的数据放在同一个核心数据缓存中可以提高执行效率,因为缓存访问是连续的,而不是分散在多个核心上。

推荐的设置

应用情形设置
调试无影响
可追溯性无影响
效率On
安全预警无影响

编程用法

参数:GroupInternalDataByFunction
类型:字符向量
值: 'on' | 'off'
默认值:'off'

版本历史记录

在 R2021a 中推出