文档

从顶层模型生成可重入代码

从模型生成可重入多实例代码,选择可重用的功能包装代码接口。当您选择可重用的功能代码界面ERT-based模型:

  • 默认情况下,生成的模型。c源文件不包含一个分配函数,动态分配模型的每个实例的数据模型。使用使用动态内存分配模型初始化选项控制是否分配函数生成。

  • 生成的代码通过实时模型数据结构,通过引用作为参数模型_step和其他模型入口点函数。

  • 实时模型导出的数据结构模型。h头文件。

  • 默认情况下,根级输入和输出参数被传递到可重用的入口点函数作为单独的参数模型。使用通过根级I / O参数控制是否根级输入和输出参数传递。这个选择是否选择这个I / O是包括实时模型数据结构,传递给函数,作为单独的参数传递,或者作为引用传递给输入结构和输出结构。

配置模型

配置一个ERT-based模型生成可重用,可重入的代码:

  1. 代码生成>接口面板的配置参数对话框中,设置代码接口包装(金宝app仿真软件编码器)值可重用的功能。这一行动使参数多实例代码错误诊断,通过根级I / O,使用动态内存分配模型初始化

  2. 检查设置多实例代码错误诊断(金宝app仿真软件编码器)。离开这个参数在其默认值错误除非你有一个特定的需要改变的严重程度诊断时显示一个模型生成多实例代码违反了要求。

  3. 配置通过根级I / O(金宝app仿真软件编码器)来控制如何传递给根级模型的输入和输出model_step和其他入口点函数生成的模型。

    当您设置代码接口包装可重用的功能模型数据(如块I / O、DWork和参数)打包成实时模型数据结构,和模型结构传递给模型入口点函数。如果你设置通过根级I / O模型数据结构的一部分,根模型输入和输出还被打包到实时模型的数据结构。

  4. 如果你想要生成的模型代码包含一个函数,动态分配的内存模型实例数据,选择的选项使用动态内存分配模型初始化(金宝app仿真软件编码器)。如果你不选择这个选项,生成的代码静态分配的内存模型的数据结构。

  5. 生成模型代码。

  6. 检查模型入口点函数接口生成的文件和HTML代码生成报告。关于生成和调用模型入口点函数的更多信息,参见入口点函数和调度(金宝app仿真软件编码器)。

对模型的一个示例配置为生成可重用,可重入代码,打开示例模型rtwdemo_reusable。单击该按钮查看接口配置并检查代码接口参数对代码生成>接口窗格。

实例之间共享数据

当你的代码调用一个凹模型入口点函数多次,每次调用表示模型的一个实例。默认情况下,嵌入式编码器®生成的代码假定每个实例读取和写入到一个单独的信号副本,阻塞状态,模型中的参数。

  • 分享一块之间的参数数据实例(例如,共享一个定位点为一个可重用的PID控制算法),使用一个参数对象,如金宝appSimulink.Parameter,并应用以外的存储类汽车金宝appSimulinkGlobal。代码中的参数对象出现全局符号,如一个全局变量,函数直接访问。有关更多信息,请参见覆盖默认参数行为通过创建全局变量在生成的代码中

  • 分享一块nonparameter数据之间的实例(例如,共享一个故障显示或蓄电池),使用一个数据存储。您可以配置数据存储在代码中出现全局符号,如一个全局变量,函数直接访问。创建一个全局数据存储使用金宝appSimulink.Signal对象或使用数据存储内存块并选择分享跨模型实例参数。有关更多信息,请参见通过创建数据存储模型全局数据(金宝app模型)和数据存储内存

相关的话题

这个主题有帮助吗?