主要内容

测试导出功能模型模拟使用Stateflow图表

使用一个Stateflow®图提供一个函数调用调度程序,您可以完全控制的调度过程周期(同步)或非周期(异步)调用序列。

  • 创建一个新的模型金宝app®模型。

  • 添加一个模型块引用导出功能模型。

  • 指定使用Stateflow图函数调用的输入。

  • 指定数据输入。

  • 模拟运行。

对于这个示例,创建模型创建一个导出功能模型

打开一个测试模型,完成ex_export_function_test_model_with_stateflow_chart

创建引用导出功能模型

引用一个导出功能模型的模型块允许添加函数调用事件从Stateflow图表和数据信号测试的日志不改变模型本身。

  1. 添加一个模型块一个新的仿真软件模型。金宝app在模型名称框中,输入export_function_model

  2. 添加外港块的output_100msoutput_10ms港口MATLAB仿真数据保存。

  3. 添加一个正弦波块提供数据输入。集振幅2样品时间0.01。连接的块input_10ms输入端口上模型块。

使用Stateflow图表创建周期性调度程序

  1. 创建一个新的Stateflow图表。这一步需要Stateflow许可证。

  2. 建模选项卡和设计部分中,选择模型浏览器。在模型层次结构窗格中,选择图表

  3. 函数调用事件与输出端口添加到图表。从菜单中选择添加>事件。在的名字框中,输入out_100ms。从范围列表中,选择输出仿真软件金宝app。重复步骤创建一个函数调用事件和输出端口out_10ms

  4. 通过双击打开图表。添加一个状态块和一个默认转换箭头。

  5. 重命名状态function_call_scheduler

  6. 添加周期函数调用每10和100毫秒。在块中,输入以下命令。

    在每一个(10,蜱虫):发送(out_10ms);在每一个(100年,蜱虫):发送(out_100ms);

    关键字蜱虫是一个隐式的事件计数仿真步骤的数目发送是一个显式事件输出函数调用事件到输出端口。

创建测试模型(利用)的模拟

你只使用仿真软件测试金宝app模型模拟。模拟测试后,从导出功能模型生成代码,然后导出函数代码与外部编码调度器集成。

  1. Stateflow图添加到您的测试模型。

  2. 连接Stateflow图输出模型块的输入。

调度限制引用导出功能模型

如果一个测试模型引用一个导出功能模型,模拟结果有一些限制,以确保一致性。

对于测试模型:

  • 函数调用的输入端口模型块必须遵循root函数调用的执行顺序轮廓尺寸块的引用导出功能模型。

    如果测试模型调用引用模型函数的顺序在任何时间步骤,模型显示一个错误。金宝app执行顺序排序的信息,请参阅控制和显示执行顺序。禁用这个限制,清除复选框的配置参数使严格安排检查参考模型

导出功能模型:

  • 样品时间root函数调用轮廓尺寸块必须设置为继承(1)或匹配的样品时间的函数调用Stateflow图表驱动。

模拟输出函数模型

模拟导出功能模型生成代码之前测试,观察它的行为。

请注意

使用顶级模特导出功能模型模拟时,不改变的启用/禁用状态模型在模拟。使它在仿真和使用函数调用来调用它。

  1. 为测试设置配置参数模型。在建模选项卡和设置部分中,选择模型设置。选择模型引用窗格。清除复选框的配置参数使严格安排检查参考模型

  2. 验证配置参数解算器类型被设置为固定步,解算器设置为离散(没有连续状态)和固定的大小(基本样本时间)设置汽车

  3. 右键单击输出端口的信号模型块,并选择日志选择信号

  4. 模拟运行。

  5. 点击图标打开仿真数据检查员

在您测试您的模型之后,您可以生成代码的功能。看到为导出功能模型生成的代码

另请参阅

相关的话题