课件整理 Stateflow使用方法.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《课件整理 Stateflow使用方法.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课件整理 Stateflow使用方法 课件 整理 Stateflow 使用方法
- 资源描述:
-
1、Stateflow软件使用方法软件使用方法Stateflow软件简介有限状态机简介各功能模块的使用方法yyExcellent coursewareStateflow的基本简介:的基本简介:uStatefolw 是一种图形化的设计开发工具,是有限状态机的图 形实现工具,也称之为状态流。u主要用于simulink 中控制和检测逻辑关系。u使用这种图形化的工具可以实现各个状态之间的转换,解决复 杂的监控逻辑问题。u它和Simulink 同时使用使得Simulink 更具有事件驱动控制能力。Excellent courseware有限状态机简介:有限状态机简介:Stateflow 的仿真原理是有限状态
2、机(finite state machine,简称FSM)理论。所谓有限状态机是指系统中存在可数的状态,在某些事件发生时,系统从一个状态转换成另一个状态,故又称为事件驱动的系统。在有限状态机的描述中,可以设计出由一种状态转换至另一种状态的条件,并将每对可转换的状态均设计出状态迁移的事件,从而构造出状态迁移图。Excellent courseware有限状态机示意图:有限状态机示意图:Stateflow允许用户:(1)建立有限的状态。(2)用图形的形式绘制出状态 迁移的条件。(3)使用规定的命令设计状 态迁移执行的任务。完成以上操作即构造出整 个有限状态机系统。注:Stateflow 模型一般是
3、嵌在Simulink 模型下运行的,Stateflow 是由事件驱动的,这些事件可以来自某一个Stateflow 图中,也可以来自Simulink。Excellent courseware 在MATLAB窗口中点开Simulink,在Simulink的library中点开Stateflow,将chart拖入一个新建的文件中,结果如下图所示。Excellent courseware 双 击 untitled*窗口中的Stateflow 模块打开如图下图 所示的Stateflow 编辑界面,用户可以在此窗口中编辑所需的Stateflow 模型。Stateflow 提供了强大的图形编辑功能,用户可以
4、使用它描述很复杂的逻辑关系式。1.状态工具2.历史交汇工具3.缺省状态迁移工具4.交汇连接工具5.真值表6.图形函数工具7.内嵌Matlab函数8.模型整理工具10放大缩小工具9.函数调用Excellent courseware 在Stateflow 编辑界面中点击鼠标右键,可以看到下图(a)所示的快捷菜单,选择其中的Properties(属性)菜单,可以打开图(b)所示的对话框,用户可以在此对话框中设置整个Stateflow 模型的属性。Excellent courseware 用户可以利用Stateflow 编辑界面左侧的编辑工具绘制Stateflow图形,下面介绍常用的编辑工具。1.状态
5、工具2.历史交汇工具3.缺省状态迁移工具4.交汇连接工具5.真值表6.图形函数工具7.内嵌Matlab函数8.模型整理工具10放大缩小工具9.函数调用Excellent courseware状态工具状态工具 系统的状态是指系统运行的模态。在Stateflow 下,状态有两种行为:活动的(active)和非活动的(inactive)。单击状态工具按钮并拖动到编辑界面的空白处,即可绘制出一个状态的示意模块。我们可以在该模块右上角的问号位置填写状态的名称及动作描述。entry为一种状态动作。右图中状态的动作描述为:entry:speed=1,将speed 的值赋为1。使用CtrlC 和CtrlV 或
6、使用edit菜单下的复制及粘贴命令,即可再复制一个同样的模块。Excellent courseware(2)右击建立的状态图标,并选择快捷菜单中的Properties 菜 单项,可打开如下图所示的设置状态属性的对话框。可以 在Label 栏填写状态的名称和动作描述。状态名称与动作的描述:状态名称与动作的描述:(1)双击已拖出的状态模块右上角的问号,可在该位置填写状态 的名称及动作描述。状态模块的名称状态属性设置对话框在Label 栏填写状态的名称和动作描述。选择状态动作Excellent courseware状态迁移关系设置:状态迁移关系设置:把鼠标放在一个状态块的边界,当出现十字光标时按下鼠
7、标键并拖动至另一个状态的边界释放,可以绘制出从一个状态到另一个状态的连线。单击此连线,在该连线上会出现一个问号,我们可以在该问号处添加状态迁移标记。Excellent courseware 状态迁移标记可以含有触发事件、迁移条件、条件动作及迁移动作,或他们中的任意组合。状态迁移标记的一般形式是:触发事件迁移条件关系式条件动作/迁移动作触发事件:表示只要迁移关系式是真,该触发事件可以引发状态的迁移。缺省触发事件时,任何事件均可在条件关系式为真的情况下引 引发状态的迁移。迁移条件关系式:写在方括号中,该关系式为真时,触发事件可以引发状 态的迁移。条件动作:是指当迁移条件关系式一旦成立(即为真),就
8、执行的动作,通常发生在迁移终点被确定有效之前。如果没有规定迁移条件 关系式,则认为条件关系式为真,即刻执行条件动作。条件动 作必须写在花括号中。迁移动作:是指当迁移终点已经确定有效,才执行的动作。如果迁移包含 很多阶段,迁移动作只有在整个迁移通道到终点确认为有效后 方可执行。迁移动作写在斜线/之后。Excellent courseware状态迁移标记的一般形式举例 上图表明只要当条件关系式off_count=0 为真时,发生的事件off_switch 才可引发状态On至状态Off 的迁移发状态迁移。只要迁移条件off_count=0为真,即可执行条件动作off_count+;当条件off_co
9、unt=0为真,发生了off_switch 事件,迁移终点状态Off 确认为有效,此时执行迁移动作LED_off条件动作迁移关系表达式触发事件迁移动作Excellent courseware ss3.Excellent courseware 缺省状态转移设置的作用是告诉Stateflow图形,当它开始工作时,哪个状态先处激活状态。点击Stateflow 图形编界面中的 图标,然后将鼠标移动到要设置为初始状态的状态即可。如图:Excellent courseware4.Excellent courseware 前面为状态迁移规定了迁移触发事件的名称,也就是说状态的迁移仅在这些事件发生的时候才开始
10、。为了利用这些事件触发,我们必须先定义这些事件。下面以下图为例,讲解如何定义on_ switch 和off_switch 事件。Excellent courseware 从stateflow 编辑界面的add 菜单选择 Event,并在随后弹出的下拉菜单下选择 Input from Simulink,打开事件对话框,见图。将事件对话框中的 Name 改为off_switch/on_switch,trigger 选择为Falling(即下降沿触发)/Rising(即上升沿触发),点击 OK 保存off_switch 事件的设置。Excellent courseware 事件的范围(Scope)有
11、三种选择:Local 是指利用本 Stateflow 图形界面产生的触发事件;Input from Simulink 是指从 Simulink 模型引入事件至 Stateflow 图形界面;Output to Simulink 是指将Stateflow 图形界面产生的事件输出到Simulink 模型中。事件的触发方式(Trigger)有四种选择:Either、Rising、Falling 和 Function Call。其中选择Rising 或Falling 分别指利用事件的上升沿或下降沿触发;Either 是指不管上升沿还是下降沿事件均可以触发;Function Call 是一种函数调用的触
12、发方式。Excellent courseware 前面我们还为状态设置了动作,如状态 On的动作描述为 entry:speed=1,是希望在状态 On激活时将speed 的值赋为 1,这个数据是要在 Simulink 模型中使用的,所以要将数据传递到Simulink 模型中。在能够被利用之前,这个数据必须先定义。Excellent courseware 从stateflow 编辑界面的add 菜单选择 Data,并在随后弹出的下拉菜单下选择 Output to Simulink,打开数据对话框,如图;将数据名Name改为speed,点击OK保存设置即可。Excellent courseware
13、 常用设置:数据范围(Scope)可以设置为Local(局部数据)、Input(从Simulink 模型中输入数据)、Output(向 Simulink 模型输出数据)、Constant(常数)、parameter(变量)和Data store memory(存储的数据)六种形式。数据的类型(Type)可以是Double(双精度)、Single(单精度)、Int32(整数)及 Boolean(布尔数)等,也可以设置为 Inherited,即继承原来的设置。Excellent courseware另一种定义事件和数据的方式:在Stateflow 编辑界面中,选择Tools菜单中的Explore,
展开阅读全文