Stateflow的并行状态和复杂逻辑判断.doc

上传人:ng****60 文档编号:2246171 上传时间:2019-05-02 格式:DOC 页数:7 大小:43KB
下载 相关 举报
Stateflow的并行状态和复杂逻辑判断.doc_第1页
第1页 / 共7页
Stateflow的并行状态和复杂逻辑判断.doc_第2页
第2页 / 共7页
Stateflow的并行状态和复杂逻辑判断.doc_第3页
第3页 / 共7页
Stateflow的并行状态和复杂逻辑判断.doc_第4页
第4页 / 共7页
Stateflow的并行状态和复杂逻辑判断.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、上午一直在看并行状态的创建。由于 MATLAB2008 的Stateflow 工具箱创建并行进程后并不是根据拖动即时调整状态的序号,而是需要取消并行再次选择使用并行,额外耗费了点时间。这个序号可以在仿真的时候直观地看到它的作用:两个并行状态,确认先进入哪一个。p.s.所用的资料 (基于MATLAB7.x+SIMULINK_STATEFLOW 系统仿真、分析及设计)有点小问题,12.8 例子里面双风扇打开后,当 temp 调节至 28 以下时,Fan2 的关闭会导致speed=0,算是个 bug 了。如果要解决,Fan2 的操作改成 speed=speed-1 就行了。这样便开始学习资料里最后一

2、小节:利用 Stateflow 的完成复杂的状态逻辑判断,在此梳理一下相关知识以便备忘(大部分摘自基于MATLAB7.x+SIMULINK_STATEFLOW 系统仿真、分析及设计)。1.Stateflow 的动作条件动作和迁移动作一般形式触发事件 迁移条件关系式 条件动作 /迁移动作状态动作一般格式如下,第一行规定状态名称,其余各行规定状态的动作,每个状态的动作必须单独另起一行。?name/ entry:entry actions during:during actions exit:exit actions bind:data and events on event_name:on eve

3、nt_name actions关键词 输入内容 描述无 name 在 name 处输入状态名,随后紧跟“/”entry 或enentry actions 状态进入动作,表示发生状态迁移,激活了该状态时需要执行的动作。during 或duduring actions 状态仍然激活动作,表示原处于激活的状态受到一个事件的触发,不存在从这个状态发出的状态迁移时,此状态仍处于激活状态需要执行的动作。exit or exexit actions 状态退出动作。表示存在由此状态发出的有效状态迁移时,该状态退出时执行的动作。bind data and events数据事件绑定动作。将数据 data 和事件

4、events绑定在此状态上。绑定的数据只能在此状态或其子状态内被改写,其他状态只能读取此数据。绑定的事件由此状态或其子状态广播。on event_name; 特定事件发生动作。 on event_name atcionsevent_name 规定一个特定的事件;on event_name actions 表示当该状态是激活状态且event_name 规定的事件发生时需要执行的动作。2.Stateflow 的隐含事件当 Stateflow 图被唤醒时或进入到某个状态或从某个状态退出或某个内部数据(非输入数据)赋值时,Stateflow 会定义并触发某种事件。这些事件是Stateflow 自动定义

5、触发的,非用户定义、添加的,故称为隐含事件。隐含事件 含义change(data_name)chg(data_name)当变量 data_name 的数值发生变化时,定义或产生一个局部事件enter(state_name)en(state_name)进入状态 state_name 时,定义或产生一个局部事件exit(state_name)ex(state_name)退出状态 state_name 时,定义或产生一个局部事件wakeup 动作图刚刚唤醒时,定义或产生一个局部事件tick 同 wakeup隐含事件是瞬时逻辑操作的内容之一。3.动作中的瞬时逻辑操作after 瞬时逻辑操作一般格式 a

6、fter(n,E)其中 n 是正整数或结果为正整数的表达式,E 是基事件(可以是隐含事件),E 发生 n 次后逻辑操作为真,反之为假。对于没有输入的 stateflow 图,表示当该图被唤醒n 次后,瞬时逻辑操作为真。需要指出的是 after 瞬时逻辑操作的项链状态每次激活时,基事件 E 的计数器都被复位为 0。before 瞬时逻辑操作一般格式 before(n,E)类似于 after,当 E 发生小于 n 次时,逻辑操作为真,反之为假。同样在相连事件每次激活时,基事件 E 的计数器被复位为 0。at 瞬时逻辑操作一般格式 at(n,E)类似于 after,当 E 事件第 n 次发生时,逻辑

7、操作为真,反之为假。对于没有输入的 stateflow 图,表示当该图第n 次被唤醒时,瞬时逻辑操作为真。同样在相连事件每次激活时,基事件 E 的计数器被复位为 0。every 瞬时逻辑操作一般格式 every(n,E)类似于 after,当 E 事件每发生 n 次时,逻辑操作为真,反之为假。对于没有输入的 stateflow 图,表示当该图被唤醒次数小于 n 时,瞬时逻辑操作为真。同样在相连事件每次激活时,基事件 E 的计数器被复位为 0。4.事件广播广播是一个非常有效的同步并行状态的方法。通过迁移动作进行直接事件广播。直接广播的格式send( 事件名,状态名 )利用有效事件名直接进行事件广播的格式状态名.事件名通过条件动作进行事件广播。通过状态动作进行事件广播。至此,对 Stateflow 的简单学习就结束了,以后需要在实例的接触和具体应用中提高自己的实战能力。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。