Stateflow系统建模(全)解读.pptx

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Stateflow系统建模(全)解读

Stateflow系统建模 同济大学 电子与信息工程学院 戴毅茹 内容提要 Stateflow入门介绍及基本概念 创建状态图 状态图仿真 流程图建模 Stateflow的基本简介: Statefolw 是一种图形化的设计开发工具,是有限状态机的图 形实现工具,也称之为状态流。 主要用于simulink 中控制和检测逻辑关系。 使用这种图形化的工具可以实现各个状态之间的转换,解决复 杂的监控逻辑问题。 它和Simulink 同时使用,使得Simulink 更具有事件驱动控制能力。 有限状态机简介: Stateflow 的仿真原理是有限状态机(finite state machine,简 称FSM)理论。 所谓有限状态机是指系统中存在可数的状态,在某些事件发生 时,系统从一个状态转换成另一个状态,故又称为事件驱动的系统。 在有限状态机的描述中,可以设计出由一种状态转换至另一种 状态的条件,并将每对可转换的状态均设计出状态迁移的事件,从 而构造出状态迁移图。 有限状态机示意图: Stateflow允许用户: (1)建立有限的状态。 (2)用图形的形式绘制出状态 迁移的条件。 (3)使用规定的命令设计状 态迁移执行的任务。 完成以上操作即构造出整 个有限状态机系统。 注:Stateflow 模型一般是嵌在Simulink 模型下运行的,Stateflow 是由事件 驱动的,这些事件可以来自某一个Stateflow 图中,也可以来自Simulink。 实例:DVD播放机 8缺省转移 1状态 2转移 3事件 4条件 5动作 7连接节点 6Counter数据对象 一个状态机(可以包含多个Chart) 用户可以利用Stateflow 编辑界面左侧的编辑工具绘制Stateflow图形,下面介绍常用的编辑工具。 1.状态工具 2.历史交汇工具 3.默认转移 4.连接节点 5.真值表 6.图形函数工具 7.内嵌Matlab函数 8.模型整理工具 10放大缩小工具 9.函数调用 创建状态图—插入图块Chart 在MATLAB命令窗口输入 sfnew 直接从stateflow库中拖Chart块到模型中 拖 创建状态图—几个术语 每个Chart被称作一个stateflow图块,每个图块都有对应的stateflow框图,模型中所有的图块的集合叫做stateflow状态机,且一个模型中只有一个状态机。 状态机 图块 框图 双击 图块包含的内容 创建状态图的几个重要图形对象 状态 连接节点 转移 转移标签 默认转移 添加注释 状态(Chart) 状态具有层次性 父状态 子状态 状态(Chart) 状态(Chart) 状态(Chart) 连接节点 转移 转移标签 事件 条件 条件动作 转移动作 如果在转移上没有定义事件和条件,则意味着该转移在任何事件发生时都会执行。 状态转移—使用条件 条件表达式包括 : 逻辑运算或关系运算 以布尔变量作为返回值的函数 条件表达式不能通过调用函数而更改数据对象或影响状态 赋值表达式不能作为条件表达式 使用“与”操作符“”完成条件表达式的与操作 使用“或”操作符“| |”完成条件表达式的或操作 转移标签 事件 条件 条件动作 转移动作 转移标签 状态转移—动作语言 动作语言的功能: 执行数学计算:操作数据对象 调用函数:使用MATLAB或C语言的函数 触发事件:影响内部或外部的状态 状态转移—支持的数学运算 二元操作:* / %% + - ^ = = == ~= != | || 一元操作: ~ ! - ++ -- 赋值运算:= += -+ *= /= 位操作: ^ | = ^= |= 状态转移—调用MATLAB函数 调用MATLAB 函数,需要在函数的名字前使用MATLAB命名空间运算符,如 y = ml.abs(x) 在使用ml运算符调用MATLAB函数时需要注意以下几点: 使用ml关键字调用的MATLAB函数,仅能使用标量或者字符串作为函数的输入参量 调用函数时的圆括号是必须,无论被调用的函数是否具有参量 如果调用的函数具有返回参数,则返回数值的类型必须为double型 如果具有多个返回变量,仅有第一个返回变量被赋值 状态转移—C语言数学函数 调用C语言数学函数:如y=abs(x) 下表中所列的数学函数可以被调用 状态转移—调用函数 调用MATLAB函数时需要使用m

您可能关注的文档

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档