主要内容

计划执行多个控制器

一个金宝app模拟®函数是您填充Simulink块的图形对象并呼叫状态和转换的操作。金宝app金宝app独立状态流不支持Simulink函数金宝app®Matlab的图表®。有关更多信息,请参阅在状态溢图中金宝app重用Simulink函数

教程的目标

本教程的目标是在状态流程图中使用Simulink函数来改进名为金宝app时态逻辑调度器

用于改善模型设计的理由

时态逻辑调度器模型包含状态溢图和三个函数呼叫子系统。这些块相互作用如下:

  • 图表广播输出事件A1A2A3触发函数调用子系统。

  • 子系统A1A2A3以图表定义的不同速率执行。

  • 子系统输出直接输入图表。

    模型中没有其他块访问子系统输出。

您可以在图表中使用Simulink函数替换函数调用子系统:金宝app

  • 子系统执行图表要求的计算。

  • 模型中的其他块不需要访问子系统输出。

编辑要使用的模型金宝app职能

遵循的部分介绍如何在Simulink模型中用Simulink函数替换在Simulink模型中的函数呼叫子系统块。金宝app此过程减少了模型中的对象数,同时保留相同的模拟结果。

任务 参考
1 打开模型。 打开模型
2 将函数调用子系统的内容移动到图表中的Simulink函数。金宝app 将Sim金宝appulink函数添加到图表中
3. 将特定图表级别数据的范围更改为当地的 更改图表数据的范围
4. 用函数调用替换事件广播。 更新图表中的状态操作
5. 验证是否定义了功能输入和输出。 将数据添加到图表中
6. 删除模型中的未使用的项目。 删除模型中未使用的项目

笔记

要跳过转换步骤,您可以访问新型直接地。

打开模型

打开时态逻辑调度器模型。如果模拟模型,则会在范围内看到此结果。

有关更多信息,请参阅计划在特定时间执行子系统

添加金宝app函数到图表

按照以下步骤将Simulink函数添加到时序逻辑调度金宝app程序图表中。

  1. 在Simuli金宝appnk模型中,右键单击右下角的A1块并选择从上下文菜单中。

  2. 打开时间逻辑调度程序图表。

  3. 在图表中,右键单击任何状态,然后选择粘贴从上下文菜单中。

  4. 展开新的Simulink函数,金宝app使签名适合于函数框。

    提示

    要更改函数的字体大小,请右键单击“功能”框,然后从中选择新尺寸字体大小菜单。

  5. 重命名Simulink金宝app功能A1F1通过输入Y = F1(U)在功能框中。

  6. 对这些情况重复步骤1到5:

    • 复制内容A2进入名为的Si金宝appmulink函数F2.

    • 复制内容A3进入名为的Si金宝appmulink函数F3

    笔记

    新功能驻留在图表级别,因为两个状态快速调度器乐器需要访问功能输出。

更改图表数据的范围

在模型资源管理器中,更改图表级数据的范围y当地的因为该数据的计算现在发生在图表中。

更新图表中的状态操作

在StateFlow Editor中,您可以使用函数调用替换状态广播中的事件广播。

  1. 编辑状态操作快速调度器乐器调用Simulink函数金宝app的步骤F1F2.F3

  2. 在两个状态中,更新每个状态期间行动如下。

    du:y = u1-y2;

将数据添加到图表中

为了在每一个国家行动快速调度器乐器,定义三个数据。(有关详细信息,请参阅添加状态流数据.)

  1. 添加本地数据y1.Y2.到图表上。

  2. 添加输出数据Y3.到图表上。

  3. 在模型中,连接输出Y3.到范围。

    提示

    翻转范围块,选择块。然后,在工具条中,在总体安排选项卡,单击翻转左右左右翻转按钮

删除模型中未使用的项目

  1. 在模型管理器中,删除输出事件A1A2A3和输入数据U2.因为函数呼叫子系统不再存在。

  2. 从模型中删除任何虚线信号线。

运行新模型

您的新模型看起来像这样:

如果模拟新模型,结果将与原始设计的结果相匹配。

相关话题