Stateflow 入门

所需积分/C币:50 2012-12-09 22:24:17 1.94MB PDF
收藏 收藏
举报

Matlab/Stateflow 比较好的入门资料,初学者学过之后可以对Statefolw这个工具有个全面的认识,资源来源是《基于MATLAB7.x/Simulink/Stateflow系统仿真、分析及设计》这本书中关于Stateflow的章节,手打版的,绝对清晰!
Stateflow (chart) untitled/chart t 曰回 Eile Edi p 状态T具人→→固②》国■卜n出⑤的殴的回斯 历史交汇工具 缺省状态近移工具 父汇连接工具 真值表 图形函数工具 内嵌 函数 模型整理工具 放大缩小工具 图 编辑界面 Chart char十 Acd1ot白 Parent: untitled Machine: Ima chine untitled PIe Time Appl to all charts in machine Iw Fent si Ho Code Generation for Custom TarGet akeG1obal〕 V Use Strong Data Typing with Simul. nk I/o 厂E 1 Debugger breaky nt: On chart entry Edi tor:厂 Find send to forl Apply 快捷菜单 () 属性设置对话框 图 模型的属性设置 Stateflo (chart) Exanp12_0/Chart File Edit simulation liew Tools bdd Help 4→个圖噜庭‖■瞄画 entry. speed=1 Off entr speed= 100 Ready 图 窗口的新建状态及其设置 state on Parent (chart) Examp12 0/Chart Breakpoint s tate During State Entry State Exit 厂盯 Test point: Outnut State activity Label entry: speed=l DescriptiOn OK Hel: ADDIT 图状态属性设冒对话框 、状态迁移关系设置 在一个状态块的边界按下鼠标键并拖动至另一个状态的边界释放,可以绘制出从一个状态到力 个状态的连线。单击此连线,在该连线上会出现一个问号,用户可以在该问号出添加状态迁移标讠 状态迁移标记可以含有触发事件、迁移条件、条件动作及迁移动作,或他们中的任意纽合。状态迁移 标记的一般形式是 触发事件迁移条件关系式条件动作迁移动作 图中的状态 迁移显示了状态迁移n 标记的般形式。 entry: speed= off switchloff count==ONoff count++FLED of 触发事件表小只 要迁移关系式是真, 该触发事件可以引发 状态的迁移。缺省觚 发事件时,任何事件 均可在条件关系式为 entry speed 真的情况下引发状态 的迁移。图的示 例中,只要条件 图状态迁移标记的一般形式举例 为真, 事件 叮以引发状态至状态的近移。 条件关系式一般是布尔表达式,写在方括号中。该关系式为真时,使得对于特定的触发信号迁移 有效。本例中,只要当条件关系式 为真时,发生的事件 才可引发状态迁移。 条件动作是指当条件关系式一成立(即为真),就执行的动作,通常发生在迁移终点被确定有 效之前。如果没有规定条件关系式,则认为条件关系式为真,即刻执行条件动作。条件动作必须写字 花括号中。图的示例中,只要条件 为真,即可执行条件动作 迁移动作是指当迁移终点口经确定有效,才执行的动作。如果迁移包含很多阶段,迁移动作只有 在整个迁移通道到终点桷认为有效后方可执行。迁移动作写在斜线之后。图的示例中,当条 件 为真,发生了 事件,迁移终氐状态确认为有效,此时执行迁移动作 图也给出了一个简单的状态迁移标记示例。在该例中,用户可以使用状态辽移属性设置对 话框对状态迁移条件进行设置。右键状态迁移连线即可打开状态迁移属性设置对话框,在栏中 设置即可。请读者自行点击问号,将图中未设置触发事件的迁移事件设置为 并保存此例 本例的两个状态迁移均采用的是事件触发,状态迁移也可以采用关系式触发,一且状态迁移上所描述 的关系式成立,则状态迁移开始启动。关系式触发的状态迁移上的关系式格式是关系式,如 4 stateflow (chart) Exanp12_0/Chart 回回 缺省状态转移 File Edit Simulation Yien Tools Add Help 设置 缺省状态转 移设置的作用足回 告诉 图 On 形,当它开始工作画 entry: speed= off switch 时,哪个状态先处 于激活状态。点击 图形编a 缺省状态迁移 辑界面中的图标 ,然后将鼠标[ on_ switch entry: speed=0 移动需要设置的 100飞 Ready 图 状态迁移设置 状态即可。见图 事件与数据设置 前面我们为状态迁移规定了迁移触发事件的名称,也就是说状态的迁移仅在这些事件发牛的时侯 才开始。为了利用这些事件触发,我们必须先定义这些事件。定义 和 事件需要 下几步 )从 编辑界面的菜单选择,并在随后弹出的下拉菜单下选择 打廾事件对话框,见图 d Stateflo (chart) Exanp12_0/Chart 回回凶 Eile edit Simul Hiew To Add Hel Data k Input from Simulink 了ut t ntry speed=1 off switch 100宽 Rea的 Event event Parent Chart) Examp12 cHart nut from Debugger breakpoints: start of Broadcast End of broadcast 事件对话框 Description 十T.iTk Help Apply 图 事件对话框 将事件对话框中的 改为 选择为 (即下降沿触发),点击休存 事件的设置。 )重复上述步骤设置 事件,触发事件仍选择 设置为 选择为 (即上升沿触发) 注:事件的范围 有三种选项: 是指利用本 图形界面产生的触发事件; 是指从 模型引入事件至 图形界 是指将 图形界 面产生的事件输出到 模型中 事件的触发方式亦有多种选择: 和 四种。其中选择 分别指利用事件的上升沿或卜降沿触发, 是指不管上升沿还是下降沿事件均可以触发, 是一种函数调用的触发方式。 前面我们还为状态设置了动作,如状态的动作描述为: ,是希望在状态激活时 将 的值赋为,这个数据是要在 模型中使用的,所以要将数据传递到 模型中。 在能够被利用之前,这个数据必须先定义。数据的定义步骤如下 从 编辑界面的菜单选择,并在随后弹出的卜拉菜单卜选择 打开数据对话框,将图 将数据名 改为 ,点击保存设置即可。 Stateflow (chart) Exanp12_0/Chart x File Edit Simlation View Tools addHelp Iar get Input from Simulink entry speed= 1 off SwItd instant 00客 Dat a dat Gener I Value At tributes I Description I 数据对话框 chart ScOP OutPut Por t Ffixed-F口it tore integer nt 16 Fraction length tput scaling aGainst chares :calif tool 1了已 Cancel 上e1p Apply 图 数据对话框 注意:数据范围可以设置为 (局部数据)、 (从 模型中输入数据, 但 图需要利用 模型的数据时,需要将相应的数据输入到 图中) 模型输出数据)和 (常数)四种形式。数据的类型可以是 (双精度)、 (单凊度) (整数)及 (布尔数)等,也可以设置为 即继原来的改置。 这样在 编辑界面中,选择菜单中的 ,脊会打开模型管理器 如图 所 lode explorer EiLe旦 d it vie-5A4Hlp 亡≥条啪岛X口■∈噜民自画四承鼻多『日 d·]H:YYs2 nt ents∩fFRm12 n,ha rh 0冒Lc h Labels speed 〔 hat)Temp:y U/Chart -ntcl suconfiEurat 厂 Start of broadcas:「 End of broadcas 妈? E置Anl2 图 模型管理器 事件和数据的定义也均可以在模管理器中进行。分别点击模型管理器工具栏上的图标多和即 可添加事件和数据,然后点击相应的内容修改事件的范围、铀发方式或数据的范围及数据的类型等内容。 设置了事件和数据后,就可以从 模型中输入事件和数据,并将 图执行过程中产生 的数据或事件输出至 模型中。 例将前面叙述中已设置好数据和事件的 图存为 从 中产生上升 沿和下降沿的触发事件,将 图状态动作产生的数据输出到 模型中并加以显示。 解 建模前面的叙述已经讲到了 图的建立方法,包括状态模块的绘制及其设置、状 态迁移及缺省状态迁移的设置、事件和数据的设置。下面我们在 中产生具有上升沿或下降沿的 触发事件 和 ,并将数据 的值在 模型中显示出来。 为了产生上升沿或下降沿的触发信号,需要使用 模型库中的 库中的两个 模块及一个 库中的 模块,见图 ()。因为本例需要两个触发信号,而 模块的触发口仅有一个,所以必须使用 库中的模块组合信号。见图 将模型库中的 模块拖进 模型中以便显示的数值。最终的模型见图 、仿貞缺省情况下,可以直接对含有 模块的 模型进行仿貞 )像一般的 模型仿真一样,设胃仿真参数: 模型窗口的菜单 下选择 ,打开仿真参数设置对话框,将 设置为,见图仿真结束时间 设置为表小由用户自行决定仿真结束的时刻。 Tool= Hi-p Edit yi simulation F2rmit Io L Formal 色由的|2C↓阳0m Canstant 口+。 =p UIeLdIIL Ready 100% adel Exap12_ File edit w Simulat Format Tools 日各啪c|,同0km1图图 Consta nt manual switch ff switch n switch Constante Ready 100 0dg45 图 例的建模过程 )选择 菜单中的或直接点击 模型窗口上的图标启动仿真 注意在启动仿真前,摆好 模型窗凵、 图形编辑界面和 示波器的位置以便既 可以改置手动开关( )的位置以产生所需的上升沿或下降沿触发信号,又可以同时观察 图形窗口中状态迁移情况及中数据显示的变化情况。见图(),并将手动开关置于 图示位置。 启动仿真后, 先分析 图是否存在错误,如果有错误,会弹出一个窗口告诉用 户错误的类型及位置;如果没有错误,则 为每个 图自动生成函数(文 件),并将生成的一函数放到 当前目录中的子目录下(如果 当前目录中没有 子目录, 会自动建立此目录)。仿真时, 只需调用这些函数 对」木例,在 对 图分析并生产函数后,系统仿真才真正廾始,此时 12 1/Confi If Il工 WurI ewer Samle Tim 雪t白1:色 uto y通 el Referene nitial st auto DEmentation Zero crossing control: Jse local settinGs -Real-Time worksop Deb'1p Apply 例的仿真参数设置 图的背景要变灰。本例中,仿真开始时 图处于休眠状态,没有状态是激活的。点击 (或 ,这时就产牛的有效的 上升沿触发信号(或有效的 下降沿触发 信号),这个有效的信号将 图唤醒, 图开始判断应该如何动作。因为有一个缺省状态迁 移,所以 图先启动缺省状态迁移,缺省状态迁移信号线变粗,然后激活状态,状态的边 框变粗, 输出数值是,见图 改变 开关位置以产生一个具有上升沿的 信号,此时 图中的状态已经处于激活状态, 也有效,故产生状态迁移, 状态迁移线先变粗,然后激活状态,状态的边框随之变粗。见图 。改变 开关位置以产生一个下降沿的 信号,此时 图中的状态是激活状态, 触发信号有效,将产生从状态到状态的迁移, 状态迁移线先变爼,然后激活状态 状态的边框随之变粗。见图 交汇连接设置 使用 编辑界面中的交汇连接工具可以产生交汇连接点。交汇连接点主要用来处理状态 +自 迁移过程中的迁移信号的分离和汇合的。用户只需激活交汇连接工只*,然后将鼠标移动适当的位置 单击鼠标即可设置个交汇连接点。我们通过下面的例了讲述交汇连接⊥具如何进行信号的汇合及分离 的。 例 在例的基础上,我们修改系统模型,给系统增加一个温度传感器,使得其每秒测量 次温度,系统需要根据温度数值的大小确定输出值。这种情氿卜, 模型需要给 模块输入数据, 图中需要根据值的大小判断需要激活那个状态。 解、健模在例的基础上,我们修改系统模型如图所

...展开详情
试读 51P Stateflow 入门
立即下载 低至0.43元/次 身份认证VIP会员低至7折
抢沙发
一个资源只可评论一次,评论内容不能少于5个字
关注 私信 TA的资源
上传资源赚积分,得勋章
最新推荐
Stateflow 入门 50积分/C币 立即下载
1/51
Stateflow 入门第1页
Stateflow 入门第2页
Stateflow 入门第3页
Stateflow 入门第4页
Stateflow 入门第5页
Stateflow 入门第6页
Stateflow 入门第7页
Stateflow 入门第8页
Stateflow 入门第9页
Stateflow 入门第10页
Stateflow 入门第11页

试读结束, 可继续读5页

50积分/C币 立即下载 >