matlab仿真 stateflow学习教程.pptx
《matlab仿真 stateflow学习教程.pptx》由会员分享,可在线阅读,更多相关《matlab仿真 stateflow学习教程.pptx(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 Lecture2.4 StateflowStateflow简介简介第1页/共53页2.3 Stateflow StateflowStateflow 是是一一种种与与 SimulinkSimulink 联联合合使使用用的的用用于于控控制制和和管管理理逻逻辑辑的的图图形形设设计计开开发发工工具具。它它用用有有限限状状态态机机理理论论,为为复复杂杂的的系系统统行行为为提提供供清清晰晰的,简明的描述。的,简明的描述。第2页/共53页 2.3.1 Stateflow 的特点 “Stateflow is Part of Simulink”“Stateflow is a Finite State Mach
2、ine “Stateflow Adds Flow Diagrams to the State Machine”“Stateflow Simulates its State Machine”“Stateflow Generates Code”第3页/共53页2.3.2.Build a Stateflow Model通过以下步骤可以建立一个通过以下步骤可以建立一个StateflowStateflow模型模型1)“Create a Simulink Model”2)“Create a Stateflow Diagram”3)“Define Input Events and Input Data4)“
3、Define the Stateflow Interface5)“Define Simulink Parameters”6)“Parse the Stateflow Diagram”7)“Run a Simulation”第4页/共53页 要求:对加热器进行定时加热并保证被加要求:对加热器进行定时加热并保证被加热物体温度不超过热物体温度不超过3030摄氏度。摄氏度。状态状态1 1:加热:加热 on;on;触发条件:上升沿触发条件:上升沿 on_switch;on_switch;状态状态2 2:停止加热:停止加热 off;off;触发条件:下降沿触发条件:下降沿 off_switch;off_s
4、witch;初始状态:停止加热初始状态:停止加热 off;off;检测温度:检测温度:2020度、度、4040度度 temp temp例:温度控制(stateflow_tempreture.mdl)第5页/共53页第6页/共53页 Stateflow 模块stateflow_temp_event第7页/共53页第8页/共53页第9页/共53页stateflow_heat_data第10页/共53页第11页/共53页第12页/共53页2.3.3 语法说明1 状态语句说明State Label Notation1)语句的一般形式name/entry:entry actionsduring:duri
5、ng actionsbind:events,dataexit:exit actionson event_name:on event_name actions第13页/共53页2)状态分解(State Decomposition)OR 状态分解 图中或是A被执行,或是B被执行。当A被执行时,A1或A2可以在某一时刻被执行。第14页/共53页 AND状态分解 图中当A被执行后,A1 A2被同时执行。或 B C 同时被执行。第15页/共53页2 动作Action 1)动作类型(1)状态动作类型State Action Types 每个每个State ActionState Action后面都跟后面都
6、跟(:):)号,以号,以(;)(;)或者或者(,)(,)结结束。束。Entry Actions:进入模块Entry actions第一个被执行。Exit Actions:当出口条件满足时执行Exit actions。如果进入后不满足出口条件,则执行During Actions。否则不执行During Actions,而直接执行Exit actionsDuring Actions:当没有到其它的状态的传递时,During Actions才能被执行。第16页/共53页(2)传递动作类型Transition Action Types第17页/共53页Event TriggersEvent Trigg
7、ers 在传递标号中,在传递标号中,Event triggersEvent triggers是第一个是第一个出现的事件名。不需要用特殊的字符来区分其出现的事件名。不需要用特殊的字符来区分其它部分。它发出一个确定的事件,使传递开始它部分。它发出一个确定的事件,使传递开始执行,提供执行的条件。如果缺省,表示可以执行,提供执行的条件。如果缺省,表示可以无条件执行。多个事件用或逻辑符无条件执行。多个事件用或逻辑符 (|)来分来分隔。隔。第18页/共53页ConditionsConditionsConditions的前后用的前后用()分隔,是布尔形表达。分隔,是布尔形表达。必须是布尔型必须是布尔型 tr
8、ue(1)or false(0).true(1)or false(0).可以包括以下内容可以包括以下内容 -布尔操作的比较数值布尔操作的比较数值 -一个能返回布尔值的函数一个能返回布尔值的函数condition condition 表达式不能调用引起表达式不能调用引起 StateflowStateflow状态或变量改变的函数。状态或变量改变的函数。布尔代数可以用布尔代数可以用&(与与),|(或或)组合。组合。第19页/共53页Condition Actions 跟在跟在condition condition 之后,用之后,用 ()分隔。条件满足后被执行。如果没有条件,分隔。条件满足后被执行。如
9、果没有条件,当潜在的条件值满足后也可以执行。当潜在的条件值满足后也可以执行。Transition Actions 用反斜杠用反斜杠(/)分隔,分隔,TransitionTransition有效后被执行。当有多段条件时,当所有条有效后被执行。当有多段条件时,当所有条件都满足才能被执行。件都满足才能被执行。第20页/共53页 3.传递Transition 是连接图形之间的代箭头的连线。它从一个原对是连接图形之间的代箭头的连线。它从一个原对象出象出发,在一个目的对象终止,箭头代表传递方向。发,在一个目的对象终止,箭头代表传递方向。单向传递多向传递第21页/共53页1)传递语句说明Transition
10、 Label Notation 基本结构eventconditioncondition_action/transition_action第22页/共53页Event.定义什么条件会引起传递发生,当 off_count=0 真,从ON传递到OFF。Condition.off_count=0 Condition Action.当条件 off_count=0 真,执行 off_count+Transition Action.传递的执行结果Light_off第23页/共53页u状态之间的传递 第24页/共53页u通过节点的传递 第25页/共53页u高层状态之间的传递 当OFF被执行,且 Switch_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab仿真 stateflow学习教程 matlab 仿真 stateflow 学习 教程
限制150内