Stateflow

 

Stateflow

使用状态机与流程图进行决策逻辑的建模和仿真

设计状态机

使用 Stateflow,您可以使用拖放元素和简单的逻辑语句来设计状态机Stateflow 入门之旅培训可帮助您快速入门。

具有多个状态和 MATLAB 函数模块的状态图。“交换”状态包含使用流程图表示的逻辑,用以确定它是进入两个子状态之一还是退出该状态。

创建流程图

您可以使用流程图来表示状态逻辑。构型向导可用于自动生成常见逻辑模式的流程图。

使用表进行逻辑建模

Stateflow 提供了状态转移表真值表。状态转移表为逻辑建模提供表视图,而真值表以表格形式实现组合逻辑设计。

执行 Stateflow 图

当执行状态图时,动画会突出显示活动状态和转移。您可以在执行过程中手动修改变量,以可视化它们对系统的影响。

左侧是手动换挡的 Stateflow 图。两个状态的仿真数据显示在右侧的图形中,箭头标识每个状态对应的绘图。

监控和分析数据

仿真数据检查器提供了仿真数据可视化功能。使用此工具,您可以通过监控系统收集关于其行为的有价值的信息。

在 Stateflow 中调试逻辑

Stateflow 的调试功能可让您详细地对状态图的执行进行逐步调试。您可以在状态图中设置断点并逐步执行不同函数,以了解意外的行为。

在 Simulink 模型中实现了一个时序逻辑调度器。该模块可调度三个函数调用子系统的执行,其中第三个将输出到 Scope 模块。

Stateflow 的任务调度

Stateflow 可以周期性或连续地调用 Simulink 算法来调度组件的执行,并对您的实时环境进行仿真。

在需求验证后重新设计的 Simulink 模型。在模型下方,所列需求的验证状态显示为绿色,表明模型的所有属性都有效。

使用 Simulink 验证设计

Stateflow 与其他 MathWorks 产品无缝集成,可用于验证、确认和测试您的设计。您可以使用这些产品来确保您的设计满足需求,更早地发现错误,以及达到质量目标。

由一个图形连接的两个应用窗口,该图形指示第二个窗口是基于第一个窗口创建的。第一个窗口显示 Stateflow 图,而第二个窗口显示从该图自动生成的 C 代码。

生成用于部署的代码

代码生成有助于在嵌入式系统上实现状态图逻辑。Stateflow 支持为 PLC 生成 C、C++VHDL 和 Verilog 代码以及结构化文本的工作流。

“在深空 1 号之前,状态图和自动代码生成技术未曾用于航天器航电设备软件的大型系统。MathWorks 工具使这种应用成为了可能。”