概述
文章目录
- 一、无历史节点
- 1. 模型
- 2.添加数据 y
- 3. 配置步长为1s
- 4.运行结果
- 5.分析
- 二、有历史节点
- 1. 模型
- 2.运行结果
- 3.分析
- 三、附加
- 3.1 含有历史节点
- 3.1.1 简要分析
- 3.2 不含历史节点
- 四、视频解析
- 4.1 NoHistory_1Tick
- 4.2 NoHistory_2Tick
- 4.3 NoHistory_3Tick
- 4.4 History_3Tick
- 4.5 NoHistory_7Tick
- 五、相关知识点
一、无历史节点
1. 模型
双击后进入模型如下
2.添加数据 y
注:右下角有个Apply
,需要点击。
3. 配置步长为1s
4.运行结果
5.分析
- 开始运行时,默认迁移进入A,此时 y 被赋值为1,0-1s 内 y ==1;
- 当处于 A 状态 1s(0-1s) 后,`after(1,tick)条件触发,进入A1状态;
- 进入A1状态,默认迁移进入C1,此时
y 被赋值为4,1-2s 内 y ==4,s(1-2s)后,
after(1,tick)条件触发,进入C2状态; - 进入C2状态时,y 被赋值为3,2-3s 内 y ==3;1s(2-3)后,A与A1之间的
after(2,tick)
条件触发,进入到A状态
。此条件触发的原因为A1状态存续了2s
,进入A状态是因为层次化迁移的优先级规则为:从高层次到低层次检测;从外部迁移到内部迁移 检测;同一层次内,超转移优先。
. - 进入A,此时 y 被赋值为1,3-4s 内 y ==1;,回到
上述·中
,开始循环。
二、有历史节点
1. 模型
2.运行结果
3.分析
前4条与上述分析中的一致,从第 5 条
开始变化,
1.
2.
3.
4.
5. 进入A,此时 y 被赋值为1,3-4s 内 y ==1;,1s(3-4s)后,A与A1之间的条件after(1,tick)
被触发,进入A1;
6. 注意进入A1之后,由于历史节点
的存在,会直接进入状态C2
,此时的默认迁移,进入C1不再有效
。(历史节点:记录退出父状 态时,正处于激活状态的子状态,当再次进入父状态时,则默认激活上一次所记录 的子状态,而不是激活默认迁移的状态
)
7. 后续分析不在赘述。
三、附加
3.1 含有历史节点
3.1.1 简要分析
<1> 0 时刻:A1 被激活
<2> 0~1 TICK: Y = 1;
<3> 1 时刻:A2.C1 被激活
<4> 1~2 TICK: Y = 4;
<5> 2 时刻:A2.C2 被激活
<6> 2~3 TICK: Y = 3;
<7> 3 时刻:A1 被激活(优先级:高–>低,外–>内,同层超迁移)
<8> 3~4 TICK: Y = 1;
<9> 4 TICK:A2.C2 被激活(History 节点的作用)
<10> 3~5 TICK: Y = 3;
<11> 5 TICK: A2.C2 继续处于激活状态
<12> 5~6 TICK: Y = 3;
<13> 6 时刻:A1 被激活
<14> 6~7 TICK: Y = 1;(回到 <7>,循环)
3.2 不含历史节点
四、视频解析
4.1 NoHistory_1Tick
NoHistory_1Tick-哔哩哔哩
4.2 NoHistory_2Tick
NoHistory_2Tick-哔哩哔哩
4.3 NoHistory_3Tick
NoHistory_3Tick-哔哩哔哩
4.4 History_3Tick
History_3Tick-哔哩哔哩
4.5 NoHistory_7Tick
NoHistory_7Tick-哔哩哔哩
五、相关知识点
- 层次化迁移的优先级规则为:从高层次到低层次检测;从外部迁移到内部迁移检测;同一层次内,超转移优先。
- 2.Stateflow中的事件执行顺序
最后
以上就是怕孤单橘子为你收集整理的Stateflow历史节点的使用一、无历史节点二、有历史节点三、附加四、视频解析五、相关知识点的全部内容,希望文章能够帮你解决Stateflow历史节点的使用一、无历史节点二、有历史节点三、附加四、视频解析五、相关知识点所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复