- 1、本文档共78页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
port_label(input,1,signal);
port_label(output,1,gain);
port_label(output,2,saturation);
port_label(output,3,sample);
port_label(output,4,error);
image(imread(dianji.jpg))
第3章Stateflow建模与应用
Stateflow是有限状态机〔finitestatemachine〕的图形工具,它通过开发有限状态机和流程图扩展了Simulink的功能。Stateflow使用自然、可读和易理解的形式,可使复杂的逻辑问题变得清晰与简单,并且还与MATLAB\Simulink紧密集成,为包含控制、优先级管理、工作模式逻辑的嵌入式系统设计提供了有效的开发手段,是本书的核心内容之一。读者在5~8章将看到Stateflow应用于MCU器件的嵌入式开发,尤其显得得心应手,一些采用传统方法难于实现的算法,如果利用Stateflow建模却非常容易。大到导弹、航空航天器的控制,小到点亮一个发光二极管,Stateflow都非常称职。Stateflow状态图模型,还可利用StateflowCoder代码生成工具,直接生成C代码。
Stateflow的主要功能包括:
使用层次化、可并行的、有明确执行语义的元素,来描述复杂的逻辑系统。
采用流程图定义图形化函数。
利用真值表实现表格形式的功能。
使用临时逻辑处理状态转移与事件。
支持Mealy和Moore有限状态机。
可集成用户自定义的C代码。
可用动画的形式显示状态图的仿真运行过程,并可记录数据。
调试器使用图形化断点进行单步调试,并可观察其中的数据。
本章主要内容:
Stateflow工作原理与根本概念
建立Stateflow状态图与流程图
Stateflow的层次结构与并行机制
Stateflow应用
3.1Stateflow根本概念
Stateflow对象可分为图形对象与非图形对象。
图形对象有状态、历史节点、迁移、默认迁移、连接节点、真值表、图形函数、EmbeddedMATLAB函数、盒函数、Simulink函数;非图形对象有事件、数据、目标。本节首先介绍常用的对象:状态、迁移、数据、事件的概念和使用,连接节点留待3.3节、历史节点留待3.4节,其余对象留待3.5节说明。
Stateflow状态机使用一种基于容器的层次结构管理Stateflow对象,也就是说,一个Stateflow对象可以包含其他Stateflow对象。
最高级的对象是Stateflow状态机,它包含了所有的Stateflow对象,因此也就包含了Simulink中的所有Stateflow状态图,以及数据、事件、目标对象。
同样地,状态图包含了状态、盒函数、函数、数据、事件、迁移、节点与注释事件〔noteevents〕。用户可以使用这一系列对象,建立一个Stateflow状态图。而具体到一个状态,它也可以包含上述的对象。
图抽象地说明了这样的关系,而图那么具体地说明了Stateflow状态机的组成。
图3.1.1
图3.1.2
3.1.1状态图编辑器
在Simulink模块库浏览器,找到Stateflow模块,如下图3.1.3,添参加模型窗口,如图3.1.4所示。
图3.1.3
用户也可以使用以下命令,建立带有Stateflow状态图的Simulink模型,如下图3.1.4,同时翻开Stateflow模块库,如图3.1.5所示。
sf
图3.1.4
图3.1.5
用户还可以直接使用以下命令,快速建立带有Stateflow状态图的Simulink模型。
sfnew
双击Chart模块,翻开Stateflow编辑器窗口,如下图,左侧工具栏列出了Stateflow图形对象的按钮。
图3.1.6
3.1.2状态
状态可以理解为事件驱动系统中的模式,可分为激活与非激活状态,而状态是否激活那么是由状态图中的事件与条件决定的,假设没有预先定义的事件或条件发生,状态将一直保持其原先的激活或非激活状态。
1.状态的层次结构
状态可以包含除了目标〔详见第3.6.6节〕以外的所有Stateflow对象,所以状态内部可以有其他状态,如图3.1.7所示,处于外层的A称作超状态〔或父状态〕,处于内部的B称作子状态。
每一个状态都有其父状态,图3.1.7中,状态A的父状态就是Stateflow状态图本身。
图3.1.7
2.状态的横向结构
在Stateflow状态图的顶层或某一超状态下,通常并存有多个状态,它们之间的关系可分为互斥与并行。
(1)互斥状态〔OR〕
互斥状态的矩形框边缘显示为实线,同一级的互斥状态,至多允许激活一个状态。如下图3.1.8的状态图,状态A与状态
您可能关注的文档
最近下载
- 大学计算机(西安交通大学)中国大学MOOC 慕课 章节测验 期末考试答案.docx
- 血液透析充分性及影响因素护理课件.pptx
- 全国青少年编程等级考试-Python一级必备考试题库(附答案).docx
- 【智慧树】【知到】大学生劳动就业法律问题解读(2024最新版) 章节测试答案.docx VIP
- 江西省上进联考2024-2025学年高三上学期11月期中调研测试 数学 PDF版含解析.pdf
- 俯卧位通气护理ppt课件.pptx
- 幼儿园课件老鼠今天真快乐.ppt
- 《中外历史纲要》上 第14课 清朝的鼎盛与危机 ( 教学设计).docx VIP
- 解决方案经理岗位面试题及答案(经典版).pdf VIP
- 定向钻(拉管)施工方案.doc
文档评论(0)