Stateflow教程讲解.ppt

  1. 1、本文档共68页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
stateflow教程;Stateflow概述:;第一章 创建状态图;Stateflow编辑器;双击模型文件或者库文件中的 Stateflow 图块打开 Stateflow 编辑器;创建和编辑状态图; 在状态上单击鼠标右键,在快捷菜单中选择 Properties 命令, 可以通过状态的属性对话框进一步定义状态;在图形对象面板的连接节点图标 上按下鼠标左键并保持, 将状态拖放到Stateflow 编辑器的空白区域中。;创建转移的具体步骤是: (1) 当鼠标光标接近状态的边缘时, 鼠标光标将变成十字形状。 (2) 按下鼠标左键并保持, 将引出的转移线拖放到目标状态的边缘即可, ;给转移添加标签的方法: (1) 左键单击选中相应的转移,此时转移将显示问号; (2) 左键单击出现的问号, 则进入文本编辑状态; (3) 在光标处插入文本; (4) 单击 Stateflow 编辑器中任意一处, 结束标签的插入。;Stateflow 中都可以使用三类语法元素作为动作: (1) 数学???算表达式或者逻辑运算表达式。 (2) 调用函数。 (3) 事件广播。 4. 默认转移: 默认转移是一类特殊的转移, 可以把它看做是状态转移的特例。 默认转移确定当有限 状态机或者父层次状态处于活动状态的时候,在其所有的子状态中第一个被激活的状态。 根据有限状态机的要求, 当有限状态系统被激活时, 必有相应的确定的某个状态被激活。 而默认转移就定义了当状态机被激活或者层次模型中父层次状态被激活时, 具体哪个子状 态被激活。;创建默认转移的方法如下: 鼠标单击图形对象面板中的默认转移图标, 然后将默认的转移(注意鼠标光标的 变化)放置在状态或者连接节点的边缘, 就可以完成默认转移的创建了 说明: Stateflow 的状态图中,同一层次上的状态只有两种工作模式,一种叫做异或(OR)模式,另 一种叫做并行(AND)模式。在异或模式下,同 一层次上的子状态必须有一个子状态具有默认的转移,同时该子状态被称为默认状态。 由于 Stateflow 是一种事件驱动模型建模环境,不允许出现模型运行的二义性,因此,正确的使用默认转移就非常重要, 因为默认转移就是用来改变状态机或者父层次状态被激活时, 相应的子状态二义性的图形元素 在默认转移上添加标签的方法和在一般的转移上添加标签的方法是一样的,可以在默认转移的标签上加上事件和条件来进行限制,也可以将动作和默认转移相关联。不过, 一个有限状态系统必须确保能够正确地被激活, 这一点在使用默认转移时非常重要, 因为状态机的默认转移只有一次执行的机会。如果没有明确的子状态能够被激活,系统会报告二义性错误;5. 添加注释: ;编辑图形对象外观:;第二章 状态图的仿真;状态图的基本概念;事件:;如果用户设置事件的 Scope 属性为 Input from Simulink 或者 Output to Simulink,则添加事件的对话框会发生变化,;创建事件实例:;使用多个输入事件:;数 据 对 象:;数据类型模式 (Data Type Mode) Inherited 类型的数据对象一般为 Stateflow 的输入或者输出数据对象, 它能够通过与Simulink 模块相连接的信号线来判断具体的数据类型对象。 Built-in 类型是 Stateflow 数据对象默认的数据类型, 通常情况下, 都使用 Simulink 内建的数据类型作为数据对象的数据类型。 Expression 类型是指可以通过一个表达式来表示数据类型 Fixed point 类型用于模型的定点数据设置, 若选择了该类型,则可以完成 Stateflow 模型数据的量化处理。;状态图的更新模式;系统默认使用 Inherited 更新模式,在这种更新模式下可能存在以下三种情况: (1) 有输入事件定义。如果 Stateflow 框图定义了输入事件,并且 Simulink 提供了相应输入事件, 则整个框图就按照所定义的事件触发来更新。 也就是说,在相应类型的事件发生时, Stateflow 框图进行相应的工作, 例如状态的转移、 动作的执行等。 (2) 未定义输入事件但定义了输入数据。如果 Stateflow 框图没有定义事件而定义了输入数据,则 Stateflow 框图按照其连接的 Simulink 输入信号中更新频率最高的信号更新周期来更新框图, 这相当于输入数据的采样更新触发了 Stateflow 框图的执行。 (3) 既未定义输入事件又未定义输入数据。如果 Stateflow 框图既没有定义输入事件,又没有定义输入数据,则 Stateflow 框图继承其父层次模型的更新周期。如果 Stateflow 框图位于系统模型的顶层,则 State

文档评论(0)

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

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

1亿VIP精品文档

相关文档