文档详情

Stateflow 建模与应用.pdf

发布:2017-09-20约4.09万字共79页下载文档
文本预览下载声明
第3 章Stateflow 建模与应用 Stateflow 是有限状态机 (finite state machine )的图形工具,它通过开发有限 状态机和流程图扩展了Simulink 的功能。Stateflow 使用自然、可读和易理解的形式, 可使复杂的逻辑问题变得清晰与简单,并且还与MATLAB\Simulink 紧密集成,为包 含控制、优先级管理、工作模式逻辑的嵌入式系统设计提供了有效的开发手段,是 本书的核心内容之一。读者在5~8 章将看到Stateflow 应用于MCU 器件的嵌入式开 发,尤其显得得心应手,一些采用传统方法难于实现的算法,如果利用Stateflow 建 模却非常容易。大到导弹、航空航天器的控制,小到点亮一个发光二极管,Stateflow 都非常称职。Stateflow 状态图模型,还可利用Stateflow Coder 代码生成工具,直 接生成C 代码。 Stateflow 的主要功能包括:  使用层次化、可并行的、有明确执行语义的元素,来描述复杂的逻辑系统。  采用流程图定义图形化函数。  利用真值表实现表格形式的功能。  使用临时逻辑处理状态转移与事件。  支持Mealy 和Moore 有限状态机。  可集成用户自定义的C 代码。  可用动画的形式显示状态图的仿真运行过程,并可记录数据。  调试器使用图形化断点进行单步调试,并可观察其中的数据。 本章主要内容:  Stateflow 工作原理与基本概念  建立Stateflow 状态图与流程图  Stateflow 的层次结构与并行机制  Stateflow 应用 3.1Stateflow 基本概念 Stateflow 对象可分为图形对象与非图形对象。 图形对象有状态、历史节点、迁移、默认迁移、连接节点、真值表、图形函数、 Embedded MATLAB 函数、盒函数、Simulink 函数;非图形对象有事件、数据、目 标。本节首先介绍常用的对象:状态、迁移、数据、事件的概念和使用,连接节点 留待3.3 节、历史节点留待3.4 节,其余对象留待3.5 节说明。 Stateflow 状态机使用一种基于容器的层次结构管理Stateflow 对象,也就是说, 一个Stateflow 对象可以包含其他Stateflow 对象。 最高级的对象是Stateflow 状态机,它包含了所有的Stateflow 对象,因此也就 包含了Simulink 中的所有Stateflow 状态图,以及数据、事件、目标对象。 同样地,状态图包含了状态、盒函数、函数、数据、事件、迁移、节点与注释 事件(note events)。用户可以使用这一系列对象,建立一个Stateflow 状态图。而 具体到一个状态,它也可以包含上述的对象。 图3.1.1 抽象地说明了这样的关系,而图3.1.2 则具体地说明了Stateflow 状态 机的组成。 状态机 数据/ 数据/ 目标 目标 事件 事件 状态图 迁移 节点 迁移 节点 数据/ 数据/ 标注 标注 事件 事件 状态/盒函数
显示全部
相似文档