第3 章Stateflow 原理与建模 Stateflow 是有限状态机的图形实现工具,它可以用于解决事件驱动系统中复杂的逻辑问题。Stateflow 通过开发有限状态机和流程图的设计环境扩展Simulink 的功能,在系统中可以用图形化的工具来实现各个状态之间的迁移。 Stateflow 通过开发有限状态机和流程图的设计环境扩展Simulink 的功能,Stateflow 是和Simulink 一起用于对事件驱动型动态系统分析的交互式仿真设计工具。Stateflow 使用自然、可读和易理解的形式来表达复杂逻辑,同时与MATLAB 和Simulink 紧密集成,为包含控制、优先级管理、工作模式逻辑的嵌入式系统的设计提供了有效的工作环境。 而有限状态机又称为事件驱动系统,指系统在条件发生变化时,即有事件发生时从一个状态转换到另一个状态。通过将系统中的行为描述成不同状态的转换,可将系统设计成事件驱动系统。在特定的条件下发生的事件来激活状态,状态迁移图就是基于此种方法的图形表示。 Stateflow 图表采用图形建模的方式构建层次化的、并行工作的状态和它们之间由事件驱动的逻辑迁移关系。Stateflow 在传统状态图的基础上扩展了控制流、Embedded MATLAB函数、图形函数、真值表、临时运算符、直接事件广播并可以集成用户自编 C 代码,而且通过Stateflow Coder 可以为 Stateflow 状态图模型自动生成 C 代码。 本章主要向读者介绍 Stateflow 图表的基本图形对象的用法,并通过一个实例完整的介绍了 Stateflow 建模及仿真调试的全过程,还介绍了如何在Stateflow 图表中集成自定义代码以提高仿真能力。主要内容包括: Stateflow 概述 流程图 状态图的层次 并行机制 其他的图形对象 Embedded MATLAB 函数 Simulink 函数 集成自定义代码 Stateflow 建模实例 3.1Stateflow 概述 Stateflow 主要有以下特点: 提供层次化、可并行的、具有明确执行语义的建模语言元素,并以自然易懂的形式来描述复杂逻辑系统。 使用流程图定义图形化函数,使用 Embedded MATLAB 函数进行编程操作、使用真值表完成表格形式的处理。 采用临时逻辑调度状态迁移与事件。 支持 Mealy和Moore 有限状态机。 可集成用户自定义输入输出变量的C 代码。 支持向量,矩阵,总线信号和定点数据类型。 可进行静态模型检查,包括病态定义的真值表。 可动态检测迁移冲突,死循环,状态不一致,数据范...