测试导出功能模型模拟使用Stateflow图表
使用一个Stateflow®图提供一个函数调用调度程序,您可以完全控制的调度过程周期(同步)或非周期(异步)调用序列。
创建一个新的模型金宝app®模型。
添加一个模型块引用导出功能模型。
指定使用Stateflow图函数调用的输入。
指定数据输入。
模拟运行。
对于这个示例,创建模型创建一个导出功能模型。
打开一个测试模型,完成ex_export_function_test_model_with_stateflow_chart
。
创建引用导出功能模型
引用一个导出功能模型的模型块允许添加函数调用事件从Stateflow图表和数据信号测试的日志不改变模型本身。
添加一个模型块一个新的仿真软件模型。金宝app在模型名称框中,输入
export_function_model
。添加外港块的output_100ms和output_10ms港口MATLAB仿真数据保存。
添加一个正弦波块提供数据输入。集振幅来
2
和样品时间来0.01
。连接的块input_10ms输入端口上模型块。
使用Stateflow图表创建周期性调度程序
创建一个新的Stateflow图表。这一步需要Stateflow许可证。
在建模选项卡和设计部分中,选择模型浏览器。在模型层次结构窗格中,选择
图表
。函数调用事件与输出端口添加到图表。从菜单中选择添加>事件。在的名字框中,输入
out_100ms
。从范围列表中,选择输出仿真软件金宝app
。重复步骤创建一个函数调用事件和输出端口out_10ms
。通过双击打开图表。添加一个状态块和一个默认转换箭头。
重命名状态
function_call_scheduler
。添加周期函数调用每10和100毫秒。在块中,输入以下命令。
在每一个(10,蜱虫):发送(out_10ms);在每一个(100年,蜱虫):发送(out_100ms);
关键字
蜱虫
是一个隐式的事件计数仿真步骤的数目发送
是一个显式事件输出函数调用事件到输出端口。
创建测试模型(利用)的模拟
你只使用仿真软件测试金宝app模型模拟。模拟测试后,从导出功能模型生成代码,然后导出函数代码与外部编码调度器集成。
Stateflow图添加到您的测试模型。
连接Stateflow图输出模型块的输入。
调度限制引用导出功能模型
如果一个测试模型引用一个导出功能模型,模拟结果有一些限制,以确保一致性。
对于测试模型:
函数调用的输入端口模型块必须遵循root函数调用的执行顺序轮廓尺寸块的引用导出功能模型。
如果测试模型调用引用模型函数的顺序在任何时间步骤,模型显示一个错误。金宝app执行顺序排序的信息,请参阅控制和显示执行顺序。禁用这个限制,清除复选框的配置参数使严格安排检查参考模型。
导出功能模型:
样品时间root函数调用轮廓尺寸块必须设置为继承(
1
)或匹配的样品时间的函数调用Stateflow图表驱动。
模拟输出函数模型
模拟导出功能模型生成代码之前测试,观察它的行为。
请注意
使用顶级模特导出功能模型模拟时,不改变的启用/禁用状态模型在模拟。使它在仿真和使用函数调用来调用它。
为测试设置配置参数模型。在建模选项卡和设置部分中,选择模型设置。选择模型引用窗格。清除复选框的配置参数使严格安排检查参考模型。
验证配置参数解算器类型被设置为
固定步
,解算器设置为离散(没有连续状态)
和固定的大小(基本样本时间)设置汽车
。右键单击输出端口的信号模型块,并选择日志选择信号。
模拟运行。
点击图标打开仿真数据检查员。
在您测试您的模型之后,您可以生成代码的功能。看到为导出功能模型生成的代码。