文档

导出功能模型概述

导出功能模型是仿真软件金宝app®模型生成代码独立函数,可以集成与外部环境和调度器。定义函数使用函数调用子系统,函数调用模型,金宝app仿真软件的功能,功能块。。

下面的定义导出功能模型包含两个功能函数调用子系统块。创建模型的循序渐进的过程,看到的创建导出功能模型

从这个模型生成的代码有两个独立的函数,一个用于延迟一平方函数和其他函数。

/ * *文件:export_function_model。c *代码生成的仿真软件模型“export_f金宝appunction_model”。* /空白function_call_100ms (void) / *样品时间:[0.1,0.0 s] * / {export_function_model_Y。output_100ms = export_function_model_DW.UnitDelay_DSTATE;export_function_model_DW。UnitDelay_DSTATE = export_function_model_Y。output_100ms + 1.0;}无效function_call_10ms (void) / *样品时间:[0.01,0.0 s] * / {export_function_model_Y。output_10ms = export_function_model_U。input_10ms * export_function_model_U.input_10ms;}

导出功能模型的工作流

四种常见流程创建导出功能模型的差异表现在你之前模拟和测试您的模型生成代码的功能。

当函数调用序列简单被指定作为模型输入,模拟使用一个输入矩阵的首选方法是测试一个导出功能模型。看到测试导出功能模型模拟使用输入矩阵

当函数调用顺序是太复杂的指定一个输入矩阵,创建一个测试模型(利用)来模拟目标环境的行为。用这个测试模型提供函数调用导出功能模型的输入。看到使用函数调用测试导出功能模型模拟发电机测试导出功能模型模拟使用Stateflow图表,安排一个使用时间表编辑器导出功能模型

允许块

在顶层,导出功能模型仅限于以下模块:

  • 轮廓尺寸

  • 外港

  • 转到

  • 函数调用子系统

  • 函数调用模型

  • 函数调用分裂

  • 金宝app仿真软件的功能

  • 初始化函数

  • 重置功能

  • 终止函数

  • 数据存储内存

  • 总线的创造者

  • 总线选择器

  • Mux

  • 多路分配器

  • 合并

  • 信号规范

  • 功能

出口需求函数模型

一个导出功能模型成功地生成函数代码,必须满足以下要求。

模型配置参数:

  • 解算器类型设置为固定步

  • 解算器设置为汽车离散

  • 代码生成系统目标文件设置为ert.tlc。选择ert.tlc需要嵌入式编码器®许可证。

  • 函数调用模型块,定期取样时间约束设置为引用的模型确保样品时间独立

根级函数调用轮廓尺寸块:

  • 输出函数调用复选框选中。

  • 不能得到一个信号从一个异步任务规范块。

根级数据轮廓尺寸外港不能连接到虚拟总线数据块的信号。

根级函数调用子系统阻塞和函数调用模型:

  • 块内的所有内部块必须支持代码生成。金宝app

  • 如果触发样品时间类型设置为:

    • 触发必须有,内部块样品时间设置为1

    • 周期,root函数调用轮廓尺寸块必须有它样品时间设置为一个离散时间和所有内部块必须指定样品时间设置为1或指定的离散时间。

样品时间函数调用子系统

在导出功能模型,您可以指定样本根级函数调用的时间轮廓尺寸块和触发块内根级函数调用子系统块或函数调用模型块。下面的表显示了如何指定这些示例。

触发样品时间类型 触发样品时间 轮廓尺寸样品时间 函数调用率在模拟

触发

未指定,参数是不活跃的。

1(继承)

对于模拟,函数调用启动程序连接到轮廓尺寸块设置仿真的速度。

指定的离散时间

函数调用启动程序,在测试模式,连接轮廓尺寸块必须有一个样本的时间等于指定的离散时间轮廓尺寸块。

为模拟组件执行指定的离散速度。如果一个函数调用使用不同的样本来源,模型显示一条错误消息。金宝app

周期

周期函数调用运行时检查应用如果导出功能模型从一个引用模型块。

1(遗传)或指定的离散时间的轮廓尺寸块。

1(继承)

这种配置是不允许的。金宝app模型显示一条错误消息。

指定的离散时间。

模拟,组件执行指定的离散采样时间。如果一个函数调用源使用不同的采样时间,模型显示一条错误消息。金宝app

根级函数调用执行订单尺寸块

通过指定样本时间和优先级函数调用轮廓尺寸你可以控制块的执行顺序函数调用子系统和函数调用在仿真模型。或者,您可以使用时间表编辑器或Stateflow®测试调度图。看到测试导出功能模型模拟使用时间表编辑器测试导出功能模型模拟使用Stateflow图表

  1. 指定样品时间模拟执行. .右键单击一个函数调用轮廓尺寸块,然后选择块的参数

  2. 选择信号属性选项卡。在样品时间框,输入一个离散时间。

  3. 为模拟指定块的优先级。右键单击一个函数调用轮廓尺寸块,然后选择属性

  4. 优先级框,输入一个优先级值。

  5. 显示仿真的执行顺序排序。在调试选项卡上,选择信息覆盖,然后从下拉框中,选择执行顺序。这显示对生成的代码没有影响。

在接下来的导出功能模型,函数调用子系统2样品时间轮廓尺寸块2组0.01(10)女士之前运行函数调用子系统1样品时间轮廓尺寸块1组0.1(100毫秒)。

确定相关的执行顺序

金宝app模型比较函数调用轮廓尺寸块的属性来确定它们的相对执行顺序使用以下规则:

  1. 首先执行优先级——低优先级

  2. 样品时间-小样本先执行

  3. 首先执行端口号——较小的端口号

当两个街区有不同的值优先级参数,首先执行优先级较低的块。如果优先级参数相同的情况下,速度的块(小样本时间)执行。如果优先级和样品是相同的两个街区,首先执行块与较低的端口号。

请注意

当顶层模型的模拟模式加速器或快速加速器,模拟仿真软件不执行运行时检查根级函数调用的执行顺序金宝app轮廓尺寸块内部引用导出功能模型。

假设导出函数模型有五根级函数调用轮廓尺寸块,E,块属性如表所示。以确定它们的相对执行顺序,模型比较了他们金宝app优先级参数,样品时间(如果不同和non-inherited)和端口号。

根级函数调用轮廓尺寸 一个 B C D E
优先级 10 30. 40 40 30.
样品时间 1 0.2 0.1 0.1 1
端口号 5 4 3 2 1
  • 块五块的最低优先级。一个执行。

  • B和E执行后但在C和d B和E具有相同的优先级,模型比较他们的样品时间来确定执行顺序。金宝appE的样品时间1(继承),小于0.2B, B . E的样品时间执行之前。

  • C和D具有相同的优先级和相同的不同,non-inherited样品时间。端口号为D(2)小于C (3), D C之前执行。

相对这些函数调用的执行顺序轮廓尺寸块是A, E、B、D和C。

的函数调用子系统的输入数据

你可以锁输入数据轮廓尺寸块内函数调用子系统块,以确保数据的完整性。锁存器的输入数据,选择门闩输入函数调用子系统输出的反馈信号复选框。

在以下的模型中,输入数据轮廓尺寸在函数调用子系统ReadDSAndCal1闩锁(表示<李>)和子系统的执行期间无法改变。的数据存储读取数据存储写块被称为在每个函数调用子系统。第一次和第二次函数调用写数据和最后一个函数调用读取数据数据存储内存块。

请注意

root -数据轮廓尺寸块连接到一个内部轮廓尺寸块也锁住如果所有的块连接到root闩锁块。有关更多信息,请参见门闩输入函数调用子系统输出的反馈信号

请注意

数据传输信号不受保护的在默认情况下生成的代码。使用自定义存储类,防止数据损坏这些信号由于抢占当前任务的目标环境。

嵌套模型导出功能

嵌套的导出功能模型提供了一个额外的一层组织。下面的模型有两个引用导出功能模型从一个引用模型块。

请注意

一个导出功能模型不能包含一个引用模型和异步函数调用的输入,但可以包含函数调用子系统和函数调用模型。与异步函数调用的输入模型可以包含一个导出功能模型,函数调用子系统,或函数调用模型。

导出功能模型和多实例函数调用模型

您可以使用函数调用子系统块或函数调用模型块在一个导出功能模型。如果你使用一个函数调用模型块,您还可以创建模型的多个实例。

  1. 定义你的算法模型,该模型包含了一个触发块。集触发类型函数调用

  2. 从一个参考模型模型块。结果是一个函数调用模型。

  3. 连接一个函数调用轮廓尺寸块并选择输出函数调用复选框。添加信号轮廓尺寸外港块。更新模型(ctrl - d)。结果是一个函数调用模型导出功能模型。

  4. 复制引用模型和端口块创建第二个模型的实例。执行顺序显示第一个实例运行在第二个实例。

导出功能模型和模型与异步函数调用的输入

与异步导出功能模型功能可用于模型函数调用的输入端口。你使用这些模型主要是在仿真软件的仿真软件环境调度程序调用函数。金宝app

比较的特点 导出功能模型 模型与异步函数调用的输入
定义 这些模型有根级函数调用轮廓尺寸没有连接到一个块异步任务规范块。这些轮廓尺寸块触发函数调用子系统或函数调用模型(模型块与触发块)。 这些模型有根级函数调用轮廓尺寸块连接到异步任务规范块。这些轮廓尺寸块触发函数调用子系统或函数调用模型。
根级块 只允许块中执行函数调用上下文根级别的。 块在non-function-call上下文中执行也是允许的。
数据传输 使用数据传输指标解释仿真结果。导出功能模型中的数据传输不受保护的默认生成的代码。更多细节,请参阅的函数调用子系统的输入数据 使用率转换保护数据块之间传输函数调用子系统运行在不同的利率。有关更多信息,请参见率转换
模拟的支持金宝app 这些模型支持独立的模拟和测金宝app试模型仿真模拟模式。 这些模型支持测试模型仿真模金宝app拟模式和独立的模拟在正常,加速器,和快速加速模式。
代码生成的支持金宝app 顶级模特,支持独立的代码生成。金宝app 顶级模特,支持独立的代码生成。金宝app

另请参阅

相关的话题