Stateflow

组件集成与算法调度

您可以将在 Stateflow 中创建组件的与其他组件相集成,从而构建状态机算法。Stateflow 组件可以包含 MATLAB 和 Simulink 函数、自定义 C 代码、图形函数和真值表。在所构建的算法中,可以使用基于时间和基于条件的逻辑来调度组件和函数的执行。

每个 Stateflow 组件都可以独立开发、执行和验证,从而使多个用户能够同时处理算法的不同部分。

Simulink model incorporating a Stateflow diagram that uses graphical functions, MATLAB functions, and truth tables.
Simulink 模型(左)合并了一个 Stateflow 图(右)。Stateflow 图对升降舵所用的逻辑进行建模,其中包括图形函数、MATLAB 函数和真值表。

将组件集成到设计中

右键单击组件,将其转换为原子子图,并放入库中,即可跨图、跨模型重复使用该组件。要使用该组件,可以将其从库中拖出,然后放入状态图或模型中。当更新库中的某个组件时,该组件的所有实例将自动更新。您可以分层组织组件和函数,以便简明而准确地表达您的系统。

在图中多次重复使用状态 3:47
在 Stateflow 中创建和重复使用组件,便于大规模建模。

调度算法

在 Stateflow 中,可对条件逻辑和基于时间的逻辑建模,以调用 Simulink 函数和 MATLAB 函数。在 Stateflow 中,根据逻辑建模的事件可以输出到 Simulink,以激活对函数调用或控制信号变化做出反应的子系统。

Stateflow 提供基于事件和基于时间的算子(before、after、at 和 every),以便于您根据事件计数和经过的时间来指定状态转移逻辑,而无需使用计时器和计数器。

构建发射中止系统的模型 3:38
构建发射中止系统的模型,如果在起飞过程中出现异常或错误,可以将飞机引导回地面。

下一页: 模型仿真与结果分析

试用 Stateflow

获取试用版软件

移动机器人防撞的Simulink仿真

观看网上技术交流会录像