学习内容:

1、 搭建 stateflow状态转移仿真
2、 掌握 stateflow参数设置
3、 了解 stateflow状态转移基本原理

状态动作

entry:当状态被**时执行相应的动作
exit:当状态退出活动状态时执行相应的动作
during:当状态保持其活动状态时执行相应的动作

触发事件[迁移条件关系式]{条件动作}/迁移动作

触发事件表示只要迁移关系式是真,该触发事件可以引起状态的迁移
迁移条件关系式一般是布尔表达式,写在[]中
条件动作是指当条件关系式一旦成立就执行的动作,写在{}中
迁移动作是当迁移终点已经确定有效才执行的动作,写在’/’之后

建立仿真模型:

按照思路搭建好状态转移图
stateflow仿真练习实例——汽车五状态逻辑控制仿真
1、 仿真开始时系统默认进入stop状态(缺省状态转移)
2、 触发事件motor控制汽车的move和stop状态的转移
3、 触发事件Low、Mid、High控制汽车速度的变化
4、 触发事件switch_go、switch_back控制汽车前进或者后退

提示:状态动作和条件动作设置一个就行。例如在low状态中设置了entry状态动作(效果为当low状态被**时执行speed=1),而high到low状态转移条件动作也设置了speed=1,两个只需有一个就行,当然两个都有也行。


参数设置:

打开Model Explorer对端口触发方式进行设置,或者在搭建完仿真后直接运行就会弹出参数类型设置界面。

stateflow仿真练习实例——汽车五状态逻辑控制仿真

为了后面设计GUI方便,将所有变量触发方式设置either,上升沿和下降沿均可触发。
按照设置的端口安放simulink仿真器件,由示波器输出仿真结果,speed为速度大小,y为行驶方向。stateflow仿真练习实例——汽车五状态逻辑控制仿真

确认设置无误后即可开始仿真。

仿真结果

为了更好得展示仿真结果,最好设计一个GUI来控制状态转移,这部分我过几天再写。

相关文章:

  • 2021-04-20
  • 2021-07-12
  • 2021-07-01
  • 2021-04-16
  • 2021-06-23
  • 2021-07-20
  • 2021-12-16
猜你喜欢
  • 2021-12-05
  • 2021-05-23
  • 2021-04-29
  • 2022-12-23
  • 2021-10-30
  • 2021-10-03
相关资源
相似解决方案