主要内容

model_step

生成的C/ c++入口点函数,该函数包含金宝app模型

描述

例子

无效model_step (无效)是包含Simulink中块的输出和更新代码的执行函数金宝app®模型。

无效model_step_N (无效)是一个带有任务标识符的执行函数,该任务标识符包含Simulink模型中的块的输出和更新代码。金宝app

步骤入口点函数计算块的当前值。如果启用日志记录,则step函数更新日志记录变量。根据设计,从中断级别调用步进函数rt_OneStep(作为定时器ISR调用)。的rt_OneStep函数调用的model_step函数执行模型的一个时钟周期的处理。有关更多信息,请参见rt_OneStep和调度注意事项(嵌入式编码)

如果模型有一个有限的停止时间,当当前时间等于停止时间时,阶跃函数表示执行结束。否则,如果其中一个或多个条件为真,则阶跃函数不会检查当前时间和停止时间,程序将无限运行:

  • 模型停止时间设置为

  • 日志记录是禁用的。

  • 参数终止功能要求不是选择。

模型的步骤入口点函数生成的调用接口取决于以下参数:

  1. 若要生成步骤入口点函数,请选择单输出/更新功能参数。如果清除该参数,model_outputmodel_update生成入口点函数来代替阶跃函数。

  2. 若要生成带有可配置参数的单步函数,请清除将每个离散的速率视为一个单独的任务参数。如果需要根据定时要求生成单独的步长函数,请选择此参数。有关更多信息,请参见将每个离散的速率视为一个单独的任务

    参数值 函数原型

    (单速率或多速率单任务模式)
    空白model_step(无效);

    (多重速率的多任务模型)
    空白model_step_N(无效);
    (N是任务标识符)

  3. 若要更改生成的调用接口,请设置语言代码接口包装参数。有关更多信息,请参见代码接口包装

要预览和自定义生成的C或c++步骤入口点函数的名称和参数,请使用嵌入式编码器®许可证是必需的。要预览步骤入口点函数,请打开Code Mappings编辑器,然后单击功能选项卡。若要自定义函数名,请在函数名列单击并直接编辑电子表格。方法中的自定义函数名和参数预览功能列单击功能超链接,在打开的对话框中配置步骤功能。若要使用模板自定义函数,请在功能定制模板列选择要应用于函数的模板。有关更多信息,请参见为各个步骤函数配置名称和参数(嵌入式编码),交互式配置c++接口(嵌入式编码),配置函数的默认代码生成(嵌入式编码)

要查看生成的步骤入口点函数,请打开代码查看或代码生成报告,并查看模型的源代码。有关更多信息,请参见,分析生成代码接口(嵌入式编码)

例子

全部折叠

此示例展示了如何配置、自定义、生成和检查步骤入口点函数的基本工作流。这个特定的例子为模型生成一个不可重用的C终止函数rtwdemo_irt_base

  1. 打开一个模型。对于本例,使用rtwdemo_irt_base模型。

  2. 选择一个编码器。在应用程序库中,单击金宝app仿真软件编码器嵌入式编码器

  3. 配置参数。在“配置参数”对话框中设置单输出/更新功能,将每个离散的速率视为一个单独的任务,语言,代码接口包装参数。在本例中,为您设置了参数。

  4. (仅Embedded Coder)自定义函数。使用Embedded Coder,您可以定制步骤入口点函数的名称和参数。

    • 打开代码映射编辑器。

    • 点击功能选项卡。

    • 自定义名称和参数。在预览功能列中,单击函数超链接以打开配置C接口对话框。配置名称和参数。

  5. 生成的代码。

  6. 检查生成的代码。在代码查看,验证生成的终止函数是否带有预期的名称和参数。

输入参数

全部折叠

步骤入口点C或c++函数提供了模型执行代码的接口。默认情况下,生成的函数提供void-void没有参数的接口。为C步骤函数配置输入参数,请使用代码映射编辑器。要配置c++步骤函数的输入参数,请使用代码映射- c++编辑器(嵌入式编码)

输出参数

全部折叠

步骤入口点C或c++函数提供了模型执行代码的接口。默认情况下,生成的函数提供void-void没有参数的接口。要配置C步骤函数的输出参数,请使用代码映射编辑器。要配置c++步骤函数的输出参数,请使用代码映射- c++编辑器(嵌入式编码)

之前介绍过的R2006a