一个金宝app模拟®函数是您填充Simulink块的图形对象并呼叫状态和转换的操作。金宝app金宝app独立状态流不支持Simulink函数金宝app®Matlab的图表®。有关更多信息,请参阅在状态溢图中金宝app重用Simulink函数。
本教程的目标是在状态流程图中使用Simulink函数来改进名为金宝app时态逻辑调度器
。
这时态逻辑调度器
模型包含状态溢图和三个函数呼叫子系统。这些块相互作用如下:
图表广播输出事件A1
那A2
和A3
触发函数调用子系统。
子系统A1那A2和A3以图表定义的不同速率执行。
子系统输出直接输入图表。
模型中没有其他块访问子系统输出。
您可以在图表中使用Simulink函数替换函数调用子系统:金宝app
子系统执行图表要求的计算。
模型中的其他块不需要访问子系统输出。
遵循的部分介绍如何在Simulink模型中用Simulink函数替换在Simulink模型中的函数呼叫子系统块。金宝app此过程减少了模型中的对象数,同时保留相同的模拟结果。
步 | 任务 | 参考 |
---|---|---|
1 | 打开模型。 | 打开模型 |
2 | 将函数调用子系统的内容移动到图表中的Simulink函数。金宝app | 将Sim金宝appulink函数添加到图表中 |
3. | 将特定图表级别数据的范围更改为当地的 。 |
更改图表数据的范围 |
4. | 用函数调用替换事件广播。 | 更新图表中的状态操作 |
5. | 验证是否定义了功能输入和输出。 | 将数据添加到图表中 |
6. | 删除模型中的未使用的项目。 | 删除模型中未使用的项目 |
笔记
要跳过转换步骤,您可以访问新型直接地。
打开时态逻辑调度器
模型。如果模拟模型,则会在范围内看到此结果。
有关更多信息,请参阅计划在特定时间执行子系统。
按照以下步骤将Simulink函数添加到时序逻辑调度金宝app程序图表中。
在Simuli金宝appnk模型中,右键单击右下角的A1块并选择切从上下文菜单中。
打开时间逻辑调度程序图表。
在图表中,右键单击任何状态,然后选择粘贴从上下文菜单中。
展开新的Simulink函数,金宝app使签名适合于函数框。
提示
要更改函数的字体大小,请右键单击“功能”框,然后从中选择新尺寸字体大小菜单。
重命名Simulink金宝app功能A1
到F1
通过输入Y = F1(U)
在功能框中。
对这些情况重复步骤1到5:
复制内容A2进入名为的Si金宝appmulink函数F2.
。
复制内容A3进入名为的Si金宝appmulink函数F3
。
笔记
新功能驻留在图表级别,因为两个状态快速调度器
和乐器
需要访问功能输出。
在模型资源管理器中,更改图表级数据的范围y
到当地的
因为该数据的计算现在发生在图表中。
在StateFlow Editor中,您可以使用函数调用替换状态广播中的事件广播。
编辑状态操作快速调度器
和乐器
调用Simulink函数金宝app的步骤F1
那F2.
和F3
。
在两个状态中,更新每个状态期间
行动如下。
du:y = u1-y2;
为了在每一个
国家行动快速调度器
和乐器
,定义三个数据。(有关详细信息,请参阅添加状态流数据.)
添加本地数据y1.
和Y2.
到图表上。
添加输出数据Y3.
到图表上。
在模型中,连接输出Y3.
到范围。
提示
翻转范围块,选择块。然后,在工具条中,在总体安排选项卡,单击翻转左右。
在模型管理器中,删除输出事件A1
那A2
和A3
和输入数据U2.
因为函数呼叫子系统不再存在。
从模型中删除任何虚线信号线。
您的新模型看起来像这样:
如果模拟新模型,结果将与原始设计的结果相匹配。