版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Stateflow使用方法剖析 Stateflow软件使用方法软件使用方法 Stateflow软件简介 有限状态机简介 各功能模块的使用方法 yy Stateflow使用方法剖析 Stateflow的基本简介:的基本简介: uStatefolw 是一种图形化的设计开发工具,是有限状态机的图 形实现工具,也称之为状态流。 u主要用于simulink 中控制和检测逻辑关系。 u使用这种图形化的工具可以实现各个状态之间的转换,解决复 杂的监控逻辑问题。 u它和Simulink 同时使用使得Simulink 更具有事件驱动控制能力。 Stateflow使用方法剖析 有限状态机简介:有限状态机简介: S
2、tateflow 的仿真原理是有限状态机(finite state machine,简 称FSM)理论。 所谓有限状态机是指系统中存在可数的状态,在某些事件发生 时,系统从一个状态转换成另一个状态,故又称为事件驱动的系统。 在有限状态机的描述中,可以设计出由一种状态转换至另一种 状态的条件,并将每对可转换的状态均设计出状态迁移的事件,从 而构造出状态迁移图。 Stateflow使用方法剖析 有限状态机示意图:有限状态机示意图: Stateflow允许用户: (1)建立有限的状态。 (2)用图形的形式绘制出状态 迁移的条件。 (3)使用规定的命令设计状 态迁移执行的任务。 完成以上操作即构造出整
3、 个有限状态机系统。 注:Stateflow 模型一般是嵌在Simulink 模型下运行的,Stateflow 是由事件 驱动的,这些事件可以来自某一个Stateflow 图中,也可以来自Simulink。 Stateflow使用方法剖析 在MATLAB窗口中点开Simulink,在Simulink的library中点开 Stateflow,将chart拖入一个新建的文件中,结果如下图所示。 Stateflow使用方法剖析 双 击 untitled* 窗口中的Stateflow 模块打开如图下图 所示的Stateflow 编 辑界面,用户可以在此窗口中编辑所需的Stateflow 模型。Sta
4、teflow 提供了 强大的图形编辑功能,用户可以使用它描述很复杂的逻辑关系式。 1.状态工具 2.历史交汇工具 3.缺省状态迁移工具 4.交汇连接工具 5.真值表 6.图形函数工具 7.内嵌Matlab函数 8.模型整理工具 10放大缩小工具 9.函数调用 Stateflow使用方法剖析 在Stateflow 编辑界面中点击鼠标右键,可以看到下图(a)所 示的快捷菜单,选择其中的Properties(属性)菜单,可以打开图 (b)所示的对话框,用户可以在此对话框中设置整个Stateflow 模 型的属性。 Stateflow使用方法剖析 用户可以利用Stateflow 编辑界面左侧的编辑工具
5、绘制 Stateflow图形,下面介绍常用的编辑工具。 1.状态工具 2.历史交汇工具 3.缺省状态迁移工具 4.交汇连接工具 5.真值表 6.图形函数工具 7.内嵌Matlab函数 8.模型整理工具 10放大缩小工具 9.函数调用 Stateflow使用方法剖析 状态工具状态工具 系统的状态是指系统运行的模态。在Stateflow 下,状态有两 种行为:活动的(active)和非活动的(inactive)。 单击状态工具按钮并拖动到编辑界面的空白处,即可绘制出 一个状态的示意模块。我们可以在该模块右上角的问号位置填写 状态的名称及动作描述。 entry为一种状态动作。 右图中状态的动作描述为
6、: entry:speed = 1, 将speed 的值赋为1。 使用CtrlC 和CtrlV 或使用edit菜单下的复制及 粘贴命令,即可再复制一个 同样的模块。 Stateflow使用方法剖析 (2)右击建立的状态图标,并选择快捷菜单中的Properties 菜 单项,可打开如下图所示的设置状态属性的对话框。可以 在Label 栏填写状态的名称和动作描述。 状态名称与动作的描述:状态名称与动作的描述: (1)双击已拖出的状态模块右上角的问号,可在该位置填写状态 的名称及动作描述。 状态模块的名称 状态属性设置对话框 在Label 栏填写状态 的名称和动作描述。 选择状态动作 Statefl
7、ow使用方法剖析 状态迁移关系设置:状态迁移关系设置: 把鼠标放在一个状态块的边界,当出现十字光标时按下鼠标键并拖 动至另一个状态的边界释放,可以绘制出从一个状态到另一个状态的连 线。单击此连线,在该连线上会出现一个问号,我们可以在该问号处添 加状态迁移标记。 。 Stateflow使用方法剖析 状态迁移标记可以含有触发事件、迁移条件、条件动作及迁移动作, 或他们中的任意组合。 状态迁移标记的一般形式是: 触发事件迁移条件关系式条件动作/迁移动作 触发事件:表示只要迁移关系式是真,该触发事件可以引发状态的迁移。 缺省触发事件时,任何事件均可在条件关系式为真的情况下引 引发状态的迁移。 迁移条件
8、关系式:写在方括号中,该关系式为真时,触发事件可以引发状 态的迁移。 条件动作:是指当迁移条件关系式一旦成立(即为真),就执行的动作, 通常发生在迁移终点被确定有效之前。如果没有规定迁移条件 关系式,则认为条件关系式为真,即刻执行条件动作。条件动 作必须写在花括号中。 迁移动作:是指当迁移终点已经确定有效,才执行的动作。如果迁移包含 很多阶段,迁移动作只有在整个迁移通道到终点确认为有效后 方可执行。迁移动作写在斜线/之后。 Stateflow使用方法剖析 状态迁移标记的一般形式举例 上图表明只要当条件关系式off_count=0 为真时,发生的事件off_switch 才可引发状态On至状态O
9、ff 的迁移发状态迁移。只要迁移条件off_count=0 为真,即可执行条件动作off_count+;当条件off_count=0为真,发生了 off_switch 事件,迁移终点状态Off 确认为有效,此时执行迁移动作LED_off 条件动作 迁移关系表达式 触发事件 迁移动作 Stateflow使用方法剖析 ss 3. Stateflow使用方法剖析 缺省状态转移设置的作用是告诉Stateflow图形,当它开始工作时,哪 个状态先处激活状态。点击Stateflow 图形编界面中的 图标,然后 将鼠标移动到要设置为初始状态的状态即可。如图: Stateflow使用方法剖析 4. State
10、flow使用方法剖析 前面为状态迁移规定了迁移触发事件的名称,也就是说状态的迁移仅在 这些事件发生的时候才开始。为了利用这些事件触发,我们必须先定义这 些事件。下面以下图为例,讲解如何定义on_ switch 和off_switch 事件。 Stateflow使用方法剖析 从stateflow 编辑界面的add 菜单选择 Event,并在随后弹出的下拉菜单 下选择 Input from Simulink ,打开事件对话框,见图。 将事件对话框中的 Name 改为off_switch/on_switch,trigger 选择为 Falling (即下降沿触发)/Rising(即上升沿触发),点击
11、 OK 保存 off_switch 事件的设置。 Stateflow使用方法剖析 事件的范围(Scope)有三种选择:Local 是指利用本 Stateflow 图形 界面产生的触发事件; Input from Simulink 是指从 Simulink 模型引入 事件至 Stateflow 图形界面;Output to Simulink 是指将Stateflow 图 形界面产生的事件输出到Simulink 模型中。 事件的触发方式(Trigger)有四种选择:Either、Rising、Falling 和 Function Call 。其中选择Rising 或Falling 分别指利用事件的
12、上升沿或 下降沿触发;Either 是指不管上升沿还是下降沿事件均可以触发; Function Call 是一种函数调用的触发方式。 Stateflow使用方法剖析 前面我们还为状态设置了动作,如状态 On的动作描述为 entry:speed = 1 ,是希望在状态 On激活时将speed 的值赋为 1 ,这个数据是要在 Simulink 模型中使用的,所以要将数据传递到Simulink 模型中。在能够 被利用之前,这个数据必须先定义。 Stateflow使用方法剖析 从stateflow 编辑界面的add 菜单选择 Data ,并在随后弹出的下拉菜单下 选择 Output to Simuli
13、nk ,打开数据对话框,如图; 将数据名Name改为 speed,点击OK保存设置即可。 Stateflow使用方法剖析 常用设置: 数据范围(Scope)可以设置为Local(局部数据)、Input(从Simulink 模型中输入数据)、Output(向 Simulink 模型输出数据)、 Constant(常 数)、parameter(变量)和Data store memory(存储的数据)六种形式。 数据的类型(Type)可以是Double(双精度)、Single (单精度)、 Int32(整数)及 Boolean(布尔数)等,也可以设置为 Inherited ,即继承 原来的设置。 S
14、tateflow使用方法剖析 另一种定义事件和数据的方式: 在Stateflow 编辑界面中,选择Tools菜单中的Explore,将会打开模型管 理器 Model Explorer。如图: Stateflow使用方法剖析 2021-7-11第 24 页 点击该处添加事件 点击该处添加数据 Stateflow使用方法剖析 ljm Stateflow使用方法剖析 使用Stateflow编辑界面中的交汇连接工具 可以产生交汇连接点。 该工具主要用于处理状态迁移过程中的迁移信号 的分离和汇合。 Stateflow使用方法剖析 简单的使用了交汇连接工具的实例: Stateflow使用方法剖析 Stat
15、eflow使用方法剖析 Stateflow使用方法剖析 事实上,交汇连接工具的合理使用可以完 成非常复杂的逻辑关系: 例如实现如下if_then 判断功能 if Cond1 Action1 if Cond2 Action2 elseif Cond3 Action3 Stateflow使用方法剖析 还可实现For 循环功能: Stateflow使用方法剖析 6、图形函数的设置及其调用 Stateflow使用方法剖析 前面例子中的Stateflow 图中多次利用了条件关系式 temp=120。对于这种多次使用的关系式,我们可以设置一 个图形函数Function,使用时调用这个函数即可。 状态流的图
16、形函数是使用交汇连接工具和状态迁移工具绘制 的状态流图形。 用户可以建立一个图形函数,在里面加入流程图,然后在状 态的动作和迁移过程中反复调用。 因为调用函数时,函数必须执行完全,所以图形函数中不能 含有状态。一个最小的图形函数至少要包含一个缺省状态迁 移和一个终止的交汇连接工具。 Stateflow使用方法剖析 要在一个 Stateflow 图添加一个图形函数Function,只需点击 Stateflow 图中的图形函数工具 ,移动鼠标至Stateflow 图中 的适当位置,再点击一下鼠标左键即可。在图形函数function 后 写入函数的返回变量及函数名 格式为:返回形参函数名(形参);
17、回车后即可建立该图形函数。一旦建立了图形函数,用户可以在 状态流的状态动作和状态迁移中反复调用它,调用的格式与函数 的格式完全相同,只是需要将形参换成实际的参数变量。 Stateflow使用方法剖析 这两个 工具必 须有! Stateflow使用方法剖析 2021-7-11第 36 页 7、多层状态的嵌套 Stateflow使用方法剖析 继续上面的例子:当系统开始处于休眠状态时, 状态Off 激活时,状态High 和Low 实际上均需 要On_switch事件激活,这样我们可以利用一个 状态来包含这两个状态,这样可以使Stateflow 图更简单明了。下面说明如何进行多层状态的 设计以及多层状
18、态在仿真时如何进行状态迁移 的。 Stateflow使用方法剖析 Stateflow使用方法剖析 Stateflow使用方法剖析 可以将上层状态包含的状态迁移图设置成 子图的形式。 用户只需在上层状态On 内的任意点点击 鼠标右键,在出现的下拉菜单中选择 Make Contents 中的Subchart 即可。 Make Contents 中的Subchart 具有复选 功能,再选它时,上层状态又变回非子图 形式了。 Stateflow使用方法剖析 双击打开子图 Stateflow使用方法剖析 ss 8. Stateflow使用方法剖析 功能:Stateflow 图进入上层状态时,缺省状态迁移
19、线连接的子状态 首先被激活。但在有些情况下,希望在进入上层状态时首先激活前一 次运行时最后激活的那个子状态。这样的要求可以通过在上层状态中 引入历史交汇工具完成。 使用方法:点击Stateflow 图左侧的历史交汇工具图标 ,然后将 鼠标移至上层状态中的任意位置,再点击鼠标即添加了一个历史交汇 工具。如图: Stateflow使用方法剖析 9、嵌入式 M 函数的设置及其调用 嵌入式 MATLAB 函数使用户可以利用 MATLAB 强大的功能,在Stateflow 图中编 MATLAB 语言函数,调用MATLAB 的各类 函数。Simulink 利用嵌入MATLAB 函数的 状态流实现Simul
20、ink 模型中嵌入MATLAB 模块功能。 Stateflow使用方法剖析 9、嵌入式 M 函数的设置及其调用 单击M文件图标后 将其拖入工作区, 在左上图中问号处 单击写入MATLAB 函数名及其形参名, 如MaxMin(x) 双击新建的M文件 会出现函数编辑窗 口,当MATLAB中 自带函数不能实现 所需功能,我们可 以在该窗口编辑实 现目标功能所需的 函数。 M文件 图标 Stateflow使用方法剖析 10、真值表的设置及其使用 Stateflow 模块使用函数来处理在Stateflow 图中需反复处理的动作或判断。 在真值表中,用户可以用条件、决策和动 作来做逻辑判断,并执行相应的动
21、作。 对于纯粹的逻辑来讲,真值表比图形函数 更容易编写、维护,也更容易阅读。真值 表还可以告诉用户是否对于指定的条件做 出了足够的或过多的决策。 Stateflow使用方法剖析 10、真值表的设置及其使用 Stateflow 使用真值表函数实现逻辑决策及相应动 作的执行。 Stateflow 真值表含有条件、决策和动作。 Condition(条件)列中的每个条件先要判断是真(T)或 假(F),对于上表,就是判断x1,y1,z 1 是否成立。每个条件可以如上表标记为T、F 或-(即不 论T 或F) Stateflow使用方法剖析 10、真值表的设置及其使用 每个Decision(决策)列隐含着各
22、个条件的“与”操作。 表12.1 中Decision1 列中,当x1 为真,而y1 和z 1 同时为假时,Decision1 为真。 执行过程中,Stateflow 会从Decision1 开始判断真值表中 的每个决策,如果哪个Decision为真,就执行该Decision 对应的动作。如当x1 为真,而y1 和z1 同时 为假时,Decision1为真,执行动作将t 置为1。 表中的最后一个决策称为缺省决策,它包含着除了前面列 举的决策外的所有其他决策。如果Decision13 都是假的, 则Default Decision 自动为真,执行其对应的动作,将t 值 置为4。 Stateflow
23、使用方法剖析 10、真值表的设置及其使用 单击M文件图 标后将其拖入 工作区,在左 上图中问号处 单击写入 MATLAB 函数 名及其形参名, 如MaxMin(x) 双击新建的M 文件会出现真 值表编辑窗口, 当内嵌窗口不 能实现所需功 能,我们可以 在该窗口编辑 所需函数 真值表 图标 Stateflow使用方法剖析 10、真值表的设置及其使用-真值表 编辑窗口 单击 增添条件 编辑表和动作编 辑表中的行数。 单击 增添 Decision 决策的 列数 Stateflow使用方法剖析 用用Box工具整理状态流程图工具整理状态流程图 Boxes 能够很方便地用来整理Stateflow 图。 y
24、y Stateflow使用方法剖析 Box的创建方法:的创建方法: (1)利用 Stateflow 编辑界面左边的Box 工具 。 点击图标 ,将鼠标移至Stateflow 编辑界面的适当位置,再点 击鼠标,即可创建一个Box 对象,在Box 的问号处写入该Box 的名称。 (2)可以先建立一个状态,将该状态转换为Box。 右击创建好的状态,在弹出的下拉菜单中选择TypeBox 即可创 建一个Box 对象。 创建好 Box 工具后,用户可以在此Box 工具中创建其他的对象以 完成一定的逻辑判断功能。 Stateflow使用方法剖析 (3)有的时候,用户可能已经建立了一些对象了,这时,可以利用 上述的两种方法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026春季中国工商银行宁夏分行园招聘50人备考题库(典型题)附答案详解
- 学生如何调整作息时间以适应冬季生活节奏
- 城市水环境治理策略与实施方案
- 电子竞技产业纠纷调解规范
- 无人机低空航拍与三维实景建模教程
- 矿山水灾事故应急救援知识手册
- 非虚构作品策划案制作手册
- 经济学视角下的古代小说价值评估研究
- 冬季旅游地及健康旅行小贴士
- 网络直播对文化传播的影响与挑战
- 2026年鄂尔多斯职业学院单招职业倾向性测试题库附答案解析
- 2025-2026学年苏科版八年级下册数学 第十章 分式 单元巩固测试卷(含答案)
- 古诗词诵读《涉江采芙蓉》教学课件统编版高中语文必修上册
- 财务的兼职合同范本
- 2025年智慧医院建设项目可行性研究报告
- 解除土地租赁合同协议书
- 机场防鸟撞培训大纲
- 小学桥梁知识科普
- 2025年劳动关系协调员(高级)劳动保障政策法规与案例分析考试试卷(附答案)
- 国企合规风控培训课件
- 中行员工管理办法
评论
0/150
提交评论