Stateflow使用方法实用教案

上传人:深*** 文档编号:110576530 上传时间:2022-06-18 格式:PPTX 页数:58 大小:2.09MB
收藏 版权申诉 举报 下载
Stateflow使用方法实用教案_第1页
第1页 / 共58页
Stateflow使用方法实用教案_第2页
第2页 / 共58页
Stateflow使用方法实用教案_第3页
第3页 / 共58页
资源描述:

《Stateflow使用方法实用教案》由会员分享,可在线阅读,更多相关《Stateflow使用方法实用教案(58页珍藏版)》请在装配图网上搜索。

1、会计学1Stateflow使用使用(shyng)方法方法第一页,共58页。Stateflow的基本的基本(jbn)简介:简介:uStatefolw 是一种图形化的设计开发工具,是有限状态机的图u 形实现工具,也称之为状态流。u主要用于simulink 中控制(kngzh)和检测逻辑关系。u使用这种图形化的工具可以实现各个状态之间的转换,解决复u 杂的监控逻辑问题。u它和Simulink 同时使用使得Simulink 更具有事件驱动控制(kngzh)能力。第1页/共57页第二页,共58页。有限有限(yuxin)状态机简介:状态机简介: Stateflow 的仿真(fn zhn)原理是有限状态机(

2、finite state machine,简称FSM)理论。 所谓有限状态机是指系统中存在可数的状态,在某些事件发生时,系统从一个状态转换成另一个状态,故又称为事件驱动的系统。 在有限状态机的描述中,可以设计出由一种状态转换至另一种状态的条件,并将每对可转换的状态均设计出状态迁移的事件,从而构造出状态迁移图。第2页/共57页第三页,共58页。有限有限(yuxin)状态机示意图:状态机示意图:Stateflow允许用户:(1)建立有限的状态。(2)用图形的形式绘制出状态 迁移的条件。(3)使用规定的命令设计(shj)状 态迁移执行的任务。 完成以上操作即构造出整 个有限状态机系统。注:State

3、flow 模型一般是嵌在Simulink 模型下运行的,Stateflow 是由事件驱动的,这些事件可以(ky)来自某一个Stateflow 图中,也可以(ky)来自Simulink。第3页/共57页第四页,共58页。 在MATLAB窗口(chungku)中点开Simulink,在Simulink的library中点开Stateflow,将chart拖入一个新建的文件中,结果如下图所示。第4页/共57页第五页,共58页。 双 击 untitled* 窗口中的Stateflow 模块打开如图下图 所示的Stateflow 编辑界面,用户可以在此窗口中编辑所需的Stateflow 模型(mxng)

4、。Stateflow 提供了强大的图形编辑功能,用户可以使用它描述很复杂的逻辑关系式。1.状态(zhungti)工具2.历史(lsh)交汇工具3.缺省状态迁移工具4.交汇连接工具5.真值表6.图形函数工具7.内嵌Matlab函数8.模型整理工具10放大缩小工具9.函数调用第5页/共57页第六页,共58页。 在Stateflow 编辑界面中点击鼠标右键,可以看到下图(a)所示的快捷菜单(ci dn),选择其中的Properties(属性)菜单(ci dn),可以打开图(b)所示的对话框,用户可以在此对话框中设置整个Stateflow 模型的属性。第6页/共57页第七页,共58页。 用户可以(ky

5、)利用Stateflow 编辑界面左侧的编辑工具绘制Stateflow图形,下面介绍常用的编辑工具。1.状态(zhungti)工具2.历史交汇(jio hu)工具3.缺省状态迁移工具4.交汇连接工具5.真值表6.图形函数工具7.内嵌Matlab函数8.模型整理工具10放大缩小工具9.函数调用第7页/共57页第八页,共58页。状态状态(zhungti)工具工具 系统的状态是指系统运行的模态。在Stateflow 下,状态有两种行为:活动的(active)和非活动的(inactive)。 单击状态工具按钮并拖动到编辑界面的空白处,即可绘制出一个状态的示意模块。我们可以在该模块右上角的问号位置(wi

6、 zhi)填写状态的名称及动作描述。entry为一种状态动作。右图中状态的动作描述为:entry:speed = 1,将speed 的值赋为1。 使用CtrlC 和CtrlV 或使用edit菜单下的复制(fzh)及粘贴命令,即可再复制(fzh)一个同样的模块。第8页/共57页第九页,共58页。(2)右击建立的状态图标,并选择快捷菜单中的Properties 菜 单项,可打开如下图所示的设置状态属性的对话框。可以 在Label 栏填写状态的名称(mngchng)和动作描述。状态状态(zhungti)名称与动作的描述:名称与动作的描述:(1)双击已拖出的状态模块右上角的问号,可在该位置(wi zh

7、i)填写状态 的名称及动作描述。状态模块的名称状态属性设置对话框在Label 栏填写状态的名称和动作描述。选择状态动作第9页/共57页第十页,共58页。状态迁移状态迁移(qiny)关系设置:关系设置: 把鼠标放在一个状态(zhungti)块的边界,当出现十字光标时按下鼠标键并拖动至另一个状态(zhungti)的边界释放,可以绘制出从一个状态(zhungti)到另一个状态(zhungti)的连线。单击此连线,在该连线上会出现一个问号,我们可以在该问号处添加状态(zhungti)迁移标记。第10页/共57页第十一页,共58页。 状态迁移标记可以含有(hn yu)触发事件、迁移条件、条件动作及迁移动

8、作,或他们中的任意组合。 状态迁移标记的一般形式(xngsh)是: 触发事件迁移条件关系式条件动作/迁移动作触发事件:表示只要迁移关系式是真,该触发事件可以引发状态的迁移。 缺省触发事件时,任何事件均可在条件关系式为真的情况下引 引发状态的迁移。迁移条件关系式:写在方括号中,该关系式为真时,触发事件可以引发状 态的迁移。条件动作:是指当迁移条件关系式一旦成立(即为真),就执行的动作, 通常发生(fshng)在迁移终点被确定有效之前。如果没有规定迁移条件 关系式,则认为条件关系式为真,即刻执行条件动作。条件动 作必须写在花括号中。迁移动作:是指当迁移终点已经确定有效,才执行的动作。如果迁移包含

9、很多阶段,迁移动作只有在整个迁移通道到终点确认为有效后 方可执行。迁移动作写在斜线/之后。第11页/共57页第十二页,共58页。状态迁移标记的一般(ybn)形式举例 上图表明只要当条件关系式off_count=0 为真时,发生的事件off_switch 才可引发状态On至状态Off 的迁移发状态迁移。只要迁移条件off_count=0为真,即可执行条件动作off_count+;当条件off_count=0为真,发生了off_switch 事件,迁移终点状态Off 确认为有效(yuxio),此时执行迁移动作LED_off条件(tiojin)动作迁移关系表达式触发事件迁移动作第12页/共57页第十

10、三页,共58页。 ss3.第13页/共57页第十四页,共58页。 缺省状态转移设置的作用是告诉Stateflow图形,当它开始工作时,哪个状态先处激活状态。点击Stateflow 图形编界面中的 图标,然后(rnhu)将鼠标移动到要设置为初始状态的状态即可。如图:第14页/共57页第十五页,共58页。4.第15页/共57页第十六页,共58页。 前面为状态迁移规定了迁移触发事件的名称,也就是说状态的迁移仅在这些(zhxi)事件发生的时候才开始。为了利用这些(zhxi)事件触发,我们必须先定义这些(zhxi)事件。下面以下图为例,讲解如何定义on_ switch 和off_switch 事件。第1

11、6页/共57页第十七页,共58页。 从stateflow 编辑(binj)界面的add 菜单选择 Event,并在随后弹出的下拉菜单下选择 Input from Simulink ,打开事件对话框,见图。 将事件对话框中的 Name 改为(i wi)off_switch/on_switch,trigger 选择为Falling (即下降沿触发)/Rising(即上升沿触发),点击 OK 保存off_switch 事件的设置。第17页/共57页第十八页,共58页。 事件的范围(Scope)有三种选择:Local 是指利用本 Stateflow 图形界面产生的触发事件; Input from Si

12、mulink 是指从 Simulink 模型引入事件至 Stateflow 图形界面;Output to Simulink 是指将Stateflow 图形界面产生的事件输出到Simulink 模型中。 事件的触发方式(Trigger)有四种选择:Either、Rising、Falling 和 Function Call 。其中选择Rising 或Falling 分别指利用事件的上升(shngshng)沿或下降沿触发;Either 是指不管上升(shngshng)沿还是下降沿事件均可以触发;Function Call 是一种函数调用的触发方式。 第18页/共57页第十九页,共58页。 前面我们还

13、为状态设置了动作,如状态 On的动作描述(mio sh)为 entry:speed = 1 ,是希望在状态 On激活时将speed 的值赋为 1 ,这个数据是要在 Simulink 模型中使用的,所以要将数据传递到Simulink 模型中。在能够被利用之前,这个数据必须先定义。第19页/共57页第二十页,共58页。 从stateflow 编辑界面的add 菜单选择 Data ,并在随后弹出的下拉菜单下选择 Output to Simulink ,打开数据对话框,如图; 将数据名Name改为(i wi)speed,点击OK保存设置即可。第20页/共57页第二十一页,共58页。 常用设置: 数据范

14、围(Scope)可以设置为Local(局部数据)、Input(从Simulink 模型中输入数据)、Output(向 Simulink 模型输出数据)、 Constant(常数)、parameter(变量(binling))和Data store memory(存储的数据)六种形式。 数据的类型(Type)可以是Double(双精度)、Single (单精度)、Int32(整数)及 Boolean(布尔数)等,也可以设置为 Inherited ,即继承原来的设置。第21页/共57页第二十二页,共58页。另一种定义事件和数据的方式:在Stateflow 编辑界面中,选择Tools菜单中的Expl

15、ore,将会打开(d ki)模型管理器 Model Explorer。如图:第22页/共57页第二十三页,共58页。2022-6-18第 24 页点击(din j)该处添加事件点击该处添加(tin ji)数据第23页/共57页第二十四页,共58页。 ljm 第24页/共57页第二十五页,共58页。使用Stateflow编辑界面中的交汇连接工具可以产生(chnshng)交汇连接点。该工具主要用于处理状态迁移过程中的迁移信号的分离和汇合。第25页/共57页第二十六页,共58页。简单的使用(shyng)了交汇连接工具的实例:第26页/共57页第二十七页,共58页。第27页/共57页第二十八页,共58

16、页。第28页/共57页第二十九页,共58页。事实上,交汇连接工具的合理使用可以完成非常复杂的逻辑关系:例如(lr)实现如下if_then 判断功能if Cond1 Action1if Cond2 Action2elseif Cond3Action3第29页/共57页第三十页,共58页。还可实现(shxin)For 循环功能:第30页/共57页第三十一页,共58页。6、图形(txng)函数的设置及其调用第31页/共57页第三十二页,共58页。前面例子中的Stateflow 图中多次利用了条件关系式temp=120。对于这种多次使用的关系式,我们可以设置一个图形函数Function,使用时调用这个

17、函数即可。状态流的图形函数是使用交汇连接工具和状态迁移工具绘制的状态流图形。用户可以建立一个图形函数,在里面加入流程图,然后在状态的动作和迁移过程(guchng)中反复调用。因为调用函数时,函数必须执行完全,所以图形函数中不能含有状态。一个最小的图形函数至少要包含一个缺省状态迁移和一个终止的交汇连接工具。第32页/共57页第三十三页,共58页。要在一个 Stateflow 图添加一个图形函数Function,只需点击Stateflow 图中的图形函数工具 ,移动鼠标至Stateflow 图中的适当位置,再点击一下鼠标左键即可。在图形函数function 后写入函数的返回变量及函数名格式为:返回

18、形参函数名(形参);回车后即可建立该图形函数。一旦(ydn)建立了图形函数,用户可以在状态流的状态动作和状态迁移中反复调用它,调用的格式与函数的格式完全相同,只是需要将形参换成实际的参数变量。第33页/共57页第三十四页,共58页。这两个(lin )工具必须有!第34页/共57页第三十五页,共58页。2022-6-18第 36 页7、多层状态(zhungti)的嵌套第35页/共57页第三十六页,共58页。继续上面的例子:当系统开始处于(chy)休眠状态时,状态Off 激活时,状态High 和Low 实际上均需要On_switch事件激活,这样我们可以利用一个状态来包含这两个状态,这样可以使St

19、ateflow 图更简单明了。下面说明如何进行多层状态的设计以及多层状态在仿真时如何进行状态迁移的。第36页/共57页第三十七页,共58页。第37页/共57页第三十八页,共58页。第38页/共57页第三十九页,共58页。可以将上层状态包含的状态迁移(qiny)图设置成子图的形式。用户只需在上层状态On 内的任意点点击鼠标右键,在出现的下拉菜单中选择Make Contents 中的Subchart 即可。Make Contents 中的Subchart 具有复选功能,再选它时,上层状态又变回非子图形式了。第39页/共57页第四十页,共58页。双击打开(d ki)子图第40页/共57页第四十一页,

20、共58页。 ss8.第41页/共57页第四十二页,共58页。功能:Stateflow 图进入上层状态时,缺省状态迁移线连接的子状态首先被激活。但在有些(yuxi)情况下,希望在进入上层状态时首先激活前一次运行时最后激活的那个子状态。这样的要求可以通过在上层状态中引入历史交汇工具完成。使用方法:点击Stateflow 图左侧的历史交汇工具图标 ,然后将鼠标移至上层状态中的任意位置,再点击鼠标即添加了一个历史交汇工具。如图:第42页/共57页第四十三页,共58页。第43页/共57页第四十四页,共58页。M文件(wnjin)图标第44页/共57页第四十五页,共58页。第45页/共57页第四十六页,共

21、58页。Condition(条件(tiojin)列中的每个条件(tiojin)先要判断是真(T)或 假(F),对于上表,就是判断x1,y1,z1 是否成立。每个条件(tiojin)可以如上表标记为T、F 或-(即不 论T 或F)第46页/共57页第四十七页,共58页。第47页/共57页第四十八页,共58页。真值表图标第48页/共57页第四十九页,共58页。第49页/共57页第五十页,共58页。用用Box工具整理工具整理(zhngl)状态流程图状态流程图Boxes 能够很方便地用来(yn li)整理Stateflow 图。yy第50页/共57页第五十一页,共58页。Box的创建的创建(chung

22、jin)方法:方法:(1)利用 Stateflow 编辑界面左边的Box 工具 。 点击图标 ,将鼠标移至Stateflow 编辑界面的适当位置,再点击鼠标,即可创建一个Box 对象,在Box 的问号(wnho)处写入该Box 的名称。(2)可以先建立一个状态(zhungti),将该状态(zhungti)转换为Box。 右击创建好的状态(zhungti),在弹出的下拉菜单中选择TypeBox 即可创建一个Box 对象。 创建好 Box 工具后,用户可以在此Box 工具中创建其他的对象以完成一定的逻辑判断功能。第51页/共57页第五十二页,共58页。(3)有的时候,用户可能(knng)已经建立了

23、一些对象了,这时,可以利用 上述的两种方法创建 Box 对象,然后将Box 框扩大到能够包含 所以需要包入的对象。第52页/共57页第五十三页,共58页。 图形的打包处理: 将所有的对象放入Box 中后,用户还可以将整个含对象的Box打包成一个图形对象,只要右击Box,在弹出的下拉菜单中选择Make ContentsGroup 或简单的双击该Box 对象,即可完成打包过程,打包的对象边框(binkung)变粗,如图(a)内保图形的隐藏: 用户也可以右击Box,在弹出的下拉菜单中选择Make Contents Subcharted 隐含Box 中的对象,将Box 中的对象变成子图形式,如图(b)

24、。(a)(b)第53页/共57页第五十四页,共58页。 (1)对于逻辑顺序的影响: 大多数情况下,Boxes 不改变(gibin)Stateflow 图实现的逻辑判断功能,但是在存在并行状态时,它却影响着Stateflow 图中的激活顺序。Stateflow 图中左边的的Box 比它右边任何并行状态或者Box 要先激活。在某一个Box 内,并行状态的激活顺序依然是上下左右的顺序。(关于并行状态的问题,下节即将讲述)其他问题其他问题(wnt)的说明:的说明:(2)关于数据(shj)的适用范围 对一个 Box 添加数据(shj),可以使Box 中的所有元素共享该数据(shj)。第54页/共57页第五十五页,共58页。第55页/共57页第五十六页,共58页。第56页/共57页第五十七页,共58页。感谢您的观看感谢您的观看(gunkn)。第57页/共57页第五十八页,共58页。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!