stateflow教材手把手教你-Stateflow教程.pdf

所需积分/C币:50 2019-08-13 00:44:57 1.12MB PDF
收藏 收藏 3
举报

stateflow教材手把手教你-Stateflow教程.pdf Stateflow教程.pdf 很不错,对新手
启动后将首先进入这个状态。 节点( )它是方便画状态图的,当各个状态之间的转换很复杂时,可以设立中间节 点,将一些相同的转换指向它,然后再由它指向各个状态(或另一个中闩节点) 转换线( )将鼠标放在一个状态的旁边,当它变成形状的时候,按下左键不动, 就会拉出·条线来,当拉到另个状态旁边时松开左键,这样就画出了·条由个状态指向 另一个状态的转换线,选中这条线,将鼠标停留在上面,鼠标会变成一个的样子,这时按 下鼠标,就可以在上面写语句例: 事件使状态转换)或 当 此条件满足时进行状态的转变)。 交汇连接点:主要用于处理状态迁移过程中的迁移信号的分离和汇合,合理的使用可以实现 的功能 图形函数工只格式:返回形参函数名(形参) 状态流的图形函数是使用交汇连接工具和状态转移工具绘制状态流图形,在调用函数时, 凶数必须执行完全,所以图形函数中不能含有状态。一个最小的图形涵数至少要包含一个缺 省的迁移和一个终止的交汇连接工具 可以在状态流的状态动作好状态迁移中反复调用它,调用的格式与函数的格式完全相同, 知识需要将形参换成实际使用的参数变量。 历史交汇工具的使用 图进入上层状态时,缺省状态迁移线连接的子系统首先被 激活,单在某些情况下,希望在进入上层状态时首先激活以前的最后的状态,这样就要求在 上层状态中引入历史交汇工具完成。 嵌入式 函数:格式:函数名(形参) 内嵌函数的调用类似」图形函数的调用方法,用户可以在状态的动作和近移过程中对内嵌函 数进行反复的调用。 函数的格式: function MaxMin(x) len=length(x)i XMax=max(x)i XMin=min(x) XMean=avg(x, len)i function mean=avg(array size) mean=sum(array)/size; 真值表的决策和使用 使用函数在处理 图中反复处理的动作和判断。在 真值表中,用户可以使用条件、决策和动作来做逻辑判断,并执行相应的动作,对于纯粹的 逻辑来讲,真值表还可以告诉用户是否对于指定的条件做出足够的或过多的决策。 使用真值表函数实现逻辑决策及相应动作的执行。 真值表含有条件、 决策和动作 还允诈真值表函数添加初始和终止动作。初始动作指仁和决策判断 前的动作。终止动作指顶貞值衣函数即将退山最后执行的动作。在动作编辑衣中使用 和 来为真值表函数指定初始和终止动作 为什么初始动作和结束动作不能用 决策列隐含着各个条件的“与ˆ操作最后一个决策称为缺省策略。可以很好的实现 的功能。缺省策略怎么实现 L具整理状态沇图:状态图右击 ,也可以直接创建,在里边创建其他 的对象,创建好之后可以打包 中的对象就变成了子图。对 添加数据,可以是中的所有原始共享该数据。多数情况下 不改变 图的 逻辑判断功能,但是存在并行状态时,她却影响着 图中的激活顺序。在一个 中,顺序是从上到下,之间是左到右 以上的共同点:创建的时候参数需要在中创建输入参数和输出的参数。 中的动作:触发时间迁移条件关系式条件动作迁移动作, 仟何 事件都(包括事件、事件、或 事件等隐含事件)都可以作 为瞬时动作的基事件。可以使用 的输入。也可以使用隐含时间 或() 来唤醒 图(不能用在缺省的途中 常用的逻辑操作 意义相同 下边是一个定时器的转换图: tch 20 maxtimeli output maxtime Scope timer Displa switch reset switch Count/ en: output=0 en: output++ [output>=maxtime [output<maxtlmel entry speed=1: t off_ switch(offcount==0Hoff_count++yLED_off Off entry speed= O, 图12.7状态迁移标记的一般形式举例 说明:格式触发事件条件关系式条件动作迁移动作 中的动作:触发时间迁移条件关系式条件动作迁移动作。 触发事件衣示只要迁移关系式是貞,该触发事件可以引发状态的迁移,缺省触发事件 时,任何事件均可以在条件关系式为真的情况下引发状态的迁移,在图中,只有条件 为真,事件 可以引发状态致状态的迁移。 条件关系式一般为布尔关系式,写在方括号中,使得对」特定的信号有效,木例中 只有 为真时,发生事件 才可以引发状态的迁移。 条件动作是指当条件关系式旦成立(即为貞时),就执行的动作,通常发生在迁移终 点被确认有效之前。如果没有规定条件关系式,则认为条件关系式为真,即刻执行条件动作。 条件动作必须写在花括号中。在图中,只要条件 为真,即刻执行条件 动作 迁移动作是指当迁移终点已绎确定有效才执行的动作,如果迁移包含很多阶段,迁移 动作只有在整个迁移通道到终点确认为有效厚方可执行。迁移动作写在斜线””之后,在图 中的实例中,当条件 为真,发生了 事件,迁移终点状态 确认为有效,此时执行迁移动作 教会连接的实现和循环功能 Cond1HAction 1F [Cond2]Action2] [CondI(Action3) 10+ 图12.17交汇连接工具完成 if then功能 在 中,自己可以手动的调整开关, 中的数据可以修改,调试仿真。 ???自己生成的那个错误是什么原因在 运行中怎么有红圈和篮圈,分别带表什么? 能不能调用子状态 :的作用是什么??? 表示输入信号的时间范围 产生输入正弦信号 传递至 系统模型的变量接下米,采用默认的系统仿真参数并 运行系统仿真。 是在 甲的 里设置的输 入。最后使用 命令绘制出原始输入信号与系统运算结果, ’绘制系统输入信号与仿貞结果,使用命令进行动态系统仿 真 什么是有限元状态机? 有限元状态机是具有有限个状态的系统的理论表述。它以某些缺省的状态为起点,根据 所定义的事件和转移进行操作。转移表小状态机如何对事件进行响应控制流程。它有明确 的输入和输出的个数,可以明确地配置所有的模式或状态。它也定义了导致系统从一个状态 转换到另一个状态的逻辑或事件 状态 在有限状态机里,状态描述的是系统的一种模式。状态只有布尔行为,也就是说在任何 给定的时刻它或者是活动的或者是非活动的 状态在系统中被看作为记忆元件。它保持系统的当前模式,一旦被激活,状态就保持活 动的模式,直到系统改变模式,状态才变为非活动的。 在层次的同级里,所有的状态要么是互斥的要么是并行 的。如果状态之间 是互斥的,那么在任何给定的时刻只有一个状态是活动的,如果状态之间是并行的,在同 时刻所有的状态都是活动的。在同一级里面不可能有既是互斥的又是并行的状态存在。它们 必须是或者互斥或者并行 转移 转移措述的是有限状态系统内的逻辑流。转移管理了当系统从当前状态改变时,这个系 统可能发生的模式改变。当转移发生时,源状态变为非活动的,目标状态变为活动的。 事件 中的动作:触发事件迁移条件关系式条件动作迁移动作 事件控制有限状态系统的执行。只有某个事件发生后系统才能从·个状态改变到另·个 状态。事件是非图形对象—每个事件都被定义成一个独立的名字。如果一个转移用一个事 件名做为标签,仅当那个事件发生时,转移才有效。如果转移没用事件名作为标签,只要有 事件发生转移就有效。 条件 条件是有限状态系统中的有效流,条件必须定义在括号中。当一个事件发生时,只有 括号中的语句为真或非零时,带有条件标签的转移才有效。转移可以同时拥冇事件和条件; 条件要放在事件名之后。当转移标签既有事件乂有条件时,只有当指定的事件发生并且条件 为真时转移才有效 动作 转移动作是当一个转移发生时要执行的命令。转移动作定义在“P”之后,动作能影响系 统本身,并且(或者)影响到与有限状态系统相关的些外部元素。动作能够处理数据,调 用函数,发生触发事件。 如果把动作和转移相关联,动作语句要放在事件标签和条件语句的后面。 数据对象 数据对象存储了关于条件和动作的些必要的信息。数据对象是非图形对象一每个数 据对象都被指定成一个独立的名字 连接节点 迕接节点作为转移通路的判决点或汇合点。它不是记忆元件。因此,转移的执行不能停 留在节点上,必须到达某个状态时,转移才能停止。 连接节点可以作为一个决策点。由于连接节点不是记忆元件,转移必须到达某个状态时, 执行才能结束。因此,可以利用这个特点来简化模型 缺省转移 缺省转移确定当有限状态札或者父状态处」活动状态的时候,在所有的子状态中第一个 被激活的状态。图中当有限状态机变为活动的时候,它首先尝试激活带有缺省转移的子状态, 同吋可以在缺省转移的标签上加上事件和条件来进行限制,也可以将动作和缺省转移相关 联。 注意:缺省转移并不意味着停止状态在最初就是活动的,它仅仅标志着当播放机 系统变为活动的时候这个状态是活动的 状态转移 状态图被称为“状态转移图”,这些状态图中包含了所谓的状态、状态转移管理 和维护当前内存中活动的状态 且包含了状态转移的状态图处于活动的状态,则状态图将直处于这种活动状态,直 到整个模型仿真计算结束。 当在某一个制定的时间步长内完成了必要的工作后,状态图简单地进入到一种暂时挂起 的状态,而不是非活动状态。也就是说,在连续两次触发事件之问,状态图是一直处」活动 状态的。 具有状态转移的 状态图相当于·种包含了离散系统模块的触发了系统。这种了 系统在内存中保持自己的状态,在有钽发时更新自己的输出,而在两个连续的触发之间保持 自己的状态。 当一个状态转移图处」活动状态时,这个状态转移图首先尝试激活相应的状态,以及邻 近的状态。如果,状态机处于第一层,则执行的第一个元素是系统的默认转移。山于状态机 在模型运行结束之前直处于活动状态,默认转移仪仪有效次,即在状态机被激活的首次 有效,这一点必须注意。如果状态的第一层仅有一个状态,则可以不使用默认的转移。一且 进入一个状态,这个状态就一直处于活动状态,直到退出为止。与状态机类似,状态也在连 续两次触发之间挂起而不会成为不活动状态 注意 同层次的图执行顺序是从上到下,从左到右的优先级原则, 和 事件的执行顺序由他们在状态图中的位置决定,先写的先执行 事件驱动 所谓事件是指触发的发生。一个触发可以是隐含存在的,按照预先的配置自动的发生。 同样,触发也可以显性的定义,在一个只有过零特性的信号发生,或者被函数调用时,触发 发生,也就是发出了事件。由于这种触发而引起的相应的动作执行,被称之为事件驱动! 在 中,所有的状态图的运行都是依靠事件驱动。换句话说,状态图是依赖于事 件而活动的。事件同样驱动状态的变化。 每次触发一次,状态图就重新进行判断一次 过零触发 过零触发事件具有三种形式: ·上升沿触发—当过零信号山负值变为正值,或者由负值变为,或者山变为正 下降沿触发——当过零信号由止值变为负值,或者由止值变为,或者由变为负值 双边沿触发—上述两种触发机制的结合 例如图中显示的信号中具冇四个过零,分别是两次上升沿和两次下降沿。如果,模型中 的状态机使用了双边沿触发,则状态机将执行四次。 利用下列的模块可以在 中产生相应的过零信号 震荡函数 ·脉冲发生器 ·阶跃信号每个阶跃信号仅能产生一个事件 双端输入廾关 静态模块 可以使用手动开关以及使用图形界面控制事件的发生。 sine have Pulse anual swtch Constant Genrator ic<t如 Trigger 输入事件的定义和使用 使用事件驱动具体的转移时,需要在相应的转移上标注事件的名称。然而,所有 状态机使用的事件都必须在数据字典中明确定义。 定义个从 输入事件的过程比较简单,选择菜单下命令,接着选择 命令。在弹出的对话框中写入需要定义事件的名称,这个名称 必须与状态转移标签上标注的名称一致。同样,需要选择触发的类型,这里需要注意的 是在对话框 段一定要设置为 单击或按钮后, 块上将出现一个输入端口。同时,也显示了具有输入事件类型的标志。 定义多个输入事件 每个 块有且仅冇一个事件输入端口。所以,在使用多个驱动事件输入时,必须 通过块将不同的事件整合为个向量。这时,每个输入事件的索引同 定义事 件的顺序一一对应。需要注意的一点,块的信号索引是山上至下(块垂直放置)或 者由左至右的(块水平放置 使用默认转移注意事项 当其父状态被溦活的吋候,默认转移仪仪执行·次。那么当父状态再次从非活动状态 进入到活动状态,默认转移将次执行, ·当默认转移在状态图的第一层的时候,需要小心。如果第一次蝕发事件发生时默认转 移无效,系统将发出一个二义性警告,这个警告错误一般在父状态被激活,而父状态下的子 状态不能确认具体哪一个被激活时发出。这时候,状态图被激活了,但是没有一个确定的状 态被激活。 注意:如果在 调试器中从错误检测选项宇段中去除 ,则上述 的二义性错误警告不会发出。 定要牢记点,旦 状态图被激活,则状态图会直处于激活状态直到系 统仿真的结束。由于巘认转移的执行需要依赖父状态的再次激活,则这里的默认转移将不再 有机会执行了。 若需要通过事件来控制状态的执行,则可以建立一个哑元状态,或者将状态图置于使 能子系统中,将相应的触发事件设置为 ?????????????????????怎么建立哑元状态 使用数据对象 数据对象主要是用在条件和动作语句中。可以根据需要在 图表中限制数据对象 的使用,也可以使用数椐对象作为和外部环境璄的接口,这里所说的外部环璄即 模型中的其他模块 定义数据对象 所有可用的数据对象都被定义在数据字典中。定义数据对象时,使用菜单下的 子菜单中相应的命令即可,这些菜单命令决定了数据对象作用的范围: 数据对象仅在该 图表中有效 Input from Simulink-数据对象是从 中某个模块的信号输入到 图表中 Output to Simulink-数据对象作为 块的输出到 模型的其他模块 下图中是添加新数据对象时调用的对话框,可以在数据对象属性对话框中设置数据对象 的属性,例如在字段中可以编辑数据对象的名字,数据对象的名字作为 图表 中的标签,标识数据对象。与输入的事件不同, 块的输入或输出数据对象分别有各 自的输入输出端口 在数据对象属性对话框中设置数据对象的属性。 字段中衣示了数据对象的作用汽围: · Input from Simulink-从外部模块输入信号 Output to Simulink-信号输出到外部模块 Local-仅在该图表中有效 Constant-作为一个常量存在,数值不可改变 Temporary-当图表活动时数据对象才有效 在 图表中,数据对象的炎犁不一定必须为双精度类型,可以在字段中设置 数据对象的数据类型,其中包括: 等。 每一个输入或输出数据对象都有相应的索引值,可以在字段中设置索引值,如果 图表具有多个输入输出数据,可以在这里修改其索引值,这样就改变了数据对象的 端口顺序。 在 面板的和字段中可以设置数据对象的最大值和最小值,以限制数 据对象值域 使用数据对象的 图表,可以使用下列方法设置数据对象的初值: 数据字典,可以在对话框中设置数据对象的初始数值 MATLAB工作空间,可以为数据对象直接赋初值

...展开详情
试读 33P stateflow教材手把手教你-Stateflow教程.pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    抢沙发
    一个资源只可评论一次,评论内容不能少于5个字
    img

    关注 私信 TA的资源

    上传资源赚积分,得勋章
    最新推荐
    stateflow教材手把手教你-Stateflow教程.pdf 50积分/C币 立即下载
    1/33
    stateflow教材手把手教你-Stateflow教程.pdf第1页
    stateflow教材手把手教你-Stateflow教程.pdf第2页
    stateflow教材手把手教你-Stateflow教程.pdf第3页
    stateflow教材手把手教你-Stateflow教程.pdf第4页
    stateflow教材手把手教你-Stateflow教程.pdf第5页
    stateflow教材手把手教你-Stateflow教程.pdf第6页
    stateflow教材手把手教你-Stateflow教程.pdf第7页
    stateflow教材手把手教你-Stateflow教程.pdf第8页
    stateflow教材手把手教你-Stateflow教程.pdf第9页
    stateflow教材手把手教你-Stateflow教程.pdf第10页

    试读已结束,剩余23页未读...

    50积分/C币 立即下载 >