文档详情

Stateflow学习.pdf

发布:2017-05-12约3.02万字共31页下载文档
文本预览下载声明
Stateflow工作窗口介绍: 创建框图之后,可以将其锁定,具体做法是: 1. 选择Edit菜单下的Chart Properties选项打开Chart属性对话框 2. 在Editor域里面选择Locked选项。 在matlab 窗口中输入sfnew,则出现了带chart 的simulink 工作界面 Inf 代表无穷大 两个chart 的并行状态的设置:在Stateflow 的空白处,右击鼠标,选择Decomposition-parallel (AND )此时两个状态的边框将变成虚线,并出现边框 状态(state ):双击它就可以在其中写一些命令,格式如下(%后面的是我自加的,方便解释) : name/ %此状态的名称 entry:entry action %刚转换到此状态时执行entry action during:during action %在此状态之中时执行during action exit:exit action %退出此状态时执行exit action(可以是事件触发) 注意 StateFlow 同层次的图执行顺序是从上到下,从左到右的优先级原则,during 和on 事 件的执行顺序由他们在状态图中的位置决定,先写的先执行 on event_name:on event_name action %当某事件发生时执行on event_name action 历史节点(History Junction ):一旦一个状态框中有这个历史节点,在退出这个状态时会将这 个状态的一些信息保存下来,当下次再进入此状态时,此状态的初始状态就会是前面保存过 的那些信息。 默认转换 (default transition ):把他拖到一个状态的旁边,它就会指向一个状态,表示系统 启动后将首先进入这个状态。 节点 (Junction ):它是方便画状态图的,当各个状态之间的转换很复杂时,可以设立中间节 点,将一些相同的转换指向它,然后再由它指向各个状态(或另一个中间节点) 转换线 (transition ):将鼠标放在一个状态的旁边,当它变成+形状的时候,按下左键不动, 就会拉出一条线来,当拉到另一个状态旁边时松开左键,这样就画出了一条由一个状态指向 另一个状态的转换线,选中这条线,将鼠标停留在上面,鼠标会变成一个I 的样子,这时按 下鼠标,就可以在上面写语句,例:switch(switch 事件使状态转换)或[outputmaxtime] (当 此条件满足时进行状态的转变)。 交汇连接点:主要用于处理状态迁移过程中的迁移信号的分离和汇合,合理的使用可以实现 if_else 的功能 图形函数工具; 格式:返回形参 = 函数名(形参) 状态流的图形函数是使用交汇连接工具和状态转移工具绘制状态流图形,在调用函数时, 函数必须执行完全,所以图形函数中不能含有状态。一个最小的图形函数至少要包含一个缺 省的迁移和一个终止的交汇连接工具 可以在状态流的状态动作好状态迁移中反复调用它,调用的格式与函数的格式完全相同, 知识需要将形参换成实际使用的参数变量。 历史交汇工具的使用:Stateflow 图进入上层状态时,缺省状态迁移线连接的子系统首先被 激活,单在某些情况下,希望在进入上层状态时首先激活以前的最后的状态,这样就要求在 上层状态中引入历史交汇工具完成。 嵌入式MATLAB 函数:格式:函数名(形参) 内嵌函数的调用类似于图形函数的调用方法,用户可以在状态的动作和迁移过程中对内嵌函 数进行反复的调用。 函数的格式: function MaxMin(x) len=length(x); XMax=max(x); XMin=min(x); XMean=avg(x,len); function mean=avg(array,size) mean=sum(array)/size; 真值表的决策和使用:Stateflow 使用函数在处理Stateflow 图中反复处理的动作和判断。在 真值表中,用户可以使用条件、决策和动作来做逻辑判断,并执行相应的动作,对于纯粹的 逻辑来讲,真值表还可以告诉用户是否对于指定的条件做出足够的或过多的决策。 Stateflow 使用真值表函数实现逻辑决策及相应动作的执行。Stateflow 真值表含有条件、 决策和动作。Stateflow 还允许真值表函数添加初始和终止动作。初始动作指仁和决策判断 前的动作。终止动作指顶真值表函数即将退出最后执行的动作。在动作编辑表中使
显示全部
相似文档