网站大量收购闲置独家精品文档,联系QQ:2885784924

matlab的stateflow(状态流)简单应用--做一个计数器.doc

matlab的stateflow(状态流)简单应用--做一个计数器.doc

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
发信人:?xxhn?(小湖南),?信区:?MathTools??????? 标??题:?matlab的stateflow(状态流)简单应用--做一个计数器 发信站:?BBS?水木清华站?(Thu?Apr?24?18:00:57?2003),?转信 ????精华区里只有关于stateflow的英文介绍,再加上前几天有网友问我怎么用它,我就 拿我以前用stateflow做的计数器来简单介绍一下stateflow的用法,希望能够抛砖引玉。 ????先介绍一下stateflow,从matlab的help中翻译过来的,stateflow要与simulink一 起使用,他是一个用来在控制和管理中设计和开发逻辑图的工具(翻的不好,请大家见 谅)。从我的理解来说,stateflow就是用来作状态流图的,可以用它设计一些状态和 各个状态之间的转换条件,然后放在simulink中仿真。 ????说了这么多,我的手痒起来了,还是动手做吧,^_^。 ????一.打开simulink,新建一个model(保存为time.mdl),在simulink的左边找到state flow并选中他,将右边的chart拖入新建的model中,双击这个chart,就出现了stateflow 的编辑器,先介绍一下这里面能画的东东(在左边的工具栏上) ????1.左边工具栏上第一个图标是方框似的东东,将它拖入编辑器中,就表示一个状态 (state),双击它就可以在其中写一些 命令,格式如下(%后面的是我自加的,方便解释): name/???????????????????????????????????%此状态的名称 entry:entry?action??????????????????????%刚转换到此状态时执行entry?action during:during?action????????????????????%在此状态之中时执行during?action exit:exit?action????????????????????????%退出此状态时执行exit?action on?event_name:on?event_name?action??????%当某事件发生时执行on?event_name?action ????2.左边工具栏上第二个图标是一个圆中有个H的东东,它的名字叫做历史节点(Hist ory?Junction)?,可将他拖入一个状态框中(就是上面说的).一旦一个状态框中有这个历 史节点,在退出这个状态时会将这个状态的一些信息保存下来,当下次再进入此状态时, 此状态的初始状态就会是前面保存过的那些信息。 ????3.左边工具栏上第三个图标是一个一根线指向一个方框的东东,叫默认转换(defau lt?transition),把他拖到一个状态的旁边,它就会指向一个状态,表示系统启动后将首 先进入这个状态。 ????4.左边工具栏上第四个图标(他的样子太复杂了,不描述了,反正是最后一个,呵 呵)代表的东东,叫节点(Junction),它是方便画状态图的,当各个状态之间的转换 很复杂时,可以设立中间节点,将一些相同的转换指向它,然后再由它指向各个状态( 或另一个中间节点) ????5.还得介绍一下画转换线(transition),将鼠标放在一个状态的旁边,当它变成+形 状的时候,按下左键不动,就会拉出一条线来,当拉到另一个状态旁边时松开左键,这样 就画出了一条由一个状态指向另一个状态的转线,选中这条线,将鼠标停留在上面,鼠标 会变成一个I的样子,这时按下鼠标,就可以在上面写语句,例:switch(switch事件使状 态转换)或[outputmaxtime](当此条件满足时进行状态的转变)。 ????二.再介绍一下stateflow是怎样跟simulink通讯的,在stateflow编辑器中点tool菜 单下的explore,在左边支开time,选中chart,我们将在此添加一个事件和两个数据(计数 器所需要的)。 ????1.点Add菜单下event,在右边就新产生了一行,将它的名字(name)改成switch,范围 (scope)改成input?from?simulink,触发器形式(Trigger)改成Rising(其实这儿无所谓) ,此时你看看time.mdl,是不是chart模块上方多了一个上升的标志,此时在time.mdl添 加一个pulse?generator(在simulink\sources里面),将他的输出接到chart的上方,就 表示每当pulse?generator产生的信号上升时,switch事件发生。 ????2.再添加两个data,点Add菜单下data,在右边将他的名字改成output,scope改成out pu

文档评论(0)

e71ah65wn9 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档