StateFlow 状态流

MATLAB、Stateflow、Simulink三者关系

 

1.内容:状态转换图、流程图、状态转换表、流程图

2.作用:描述MATLAB算法和Simulink模型,能够设计并开发监控,任务调度,故障管理,通信协议,用户界面和混合系统。

3.说明:对组合和顺序决策逻辑建模,这些模型可以作为simulink模型中的块进行模拟,也可以作为MATLAB中对的对象执行。

对有限状态机建模

状态流是一个基于有限状态机的图形化编程环境。

使用 Stateflow,可以测试和调试您的设计,考虑不同的仿真场景,并从状态机生成代码。

有限状态机是从一种操作模式(状态)转换到另一种操作模式(状态)的动态系统的表示。

状态机:

  • 作为复杂软件设计过程的高级起点。

  • 能够专注于操作模式以及从一种模式进入下一种模式所需的条件。

  • 设计出清晰简洁的模型,即使模型复杂程度增加也是如此。

将图表作为 MATLAB 对象执行

状态层次结构、时序逻辑和输入事件

  • 层次结构:该图包含一个父状态 gear_logic,其中包含了上例中的四速自动变速器图。此父状态控制车辆的速度和加速度。在执行期间,gear_logic 始终处于激活状态。

  • 时序逻辑:在 gear_logic 状态中,动作 on every(0.25,sec) 决定车速。运算符 every 创建一个 MATLAB 计时器,它执行图并每隔 0.25 秒更新一次图数据 speed

  • 输入事件:输入事件 SpeedUpCruise 和 SlowDown 重置图数据 delta 的值。此数据决定汽车在每个执行步中是加速还是保持其速度。

将图作为具有本地事件的 Simulink 模块进行仿真

状态层次结构、并行机制、激活状态数据、本地事件和时序逻辑

  • 层次结构:状态 gear_state 包含四速自动变速器图的一个修改版本。状态 selection_state 包含代表稳定状态、升挡和降挡工作模式的子状态。当需要升挡或降挡时,这些子状态将被激活。

  • 并行机制:并行状态 gear_state 和 selection_state 显示为带有虚线边框的矩形。这些状态同时工作,即使其内部的子状态存在互斥也是如此。

  • 激活状态数据:输出值 gear 反映仿真过程中挡位的选择。图会根据 gear_state 中的激活子状态生成此值。

  • 本地事件:此图不使用布尔条件,而是使用本地事件 UP 和 DOWN 触发挡位之间的转移。这些事件由 selection_state 中的 send 命令触发,当车速超出所选挡位的工作范围时会发出这些命令。Simulink 函数 calc_th 根据选择的挡位和发动机转速确定工作范围的边界值。

  • 时序逻辑:为了防止连续快速换挡,selection_state 使用时序逻辑运算符 after 来延迟 UP 和 DOWN 事件的广播。仅当所需的换挡时间超过某个预定时间 TWAIT 时,状态才会广播这些事件之一。

 将图作为带时序条件的 Simulink 模块进行仿真

该图合并了状态层次结构、激活状态数据和时序逻辑。

  • 层次结构:此模型将四速自动变速器图置于父状态 gear 中。该父状态监控车辆速度和发动机转速,并触发换挡。状态 gear 左上角列出的动作确定了所选挡位的运行阈值以及布尔条件 up 和 down 的值。标签 en,du 指示在状态第一次被激活 (en = entry) 和在状态已激活时的每个后续时间步 (du = during) 执行状态动作。

  • 激活状态数据:输出值 gear 反映仿真过程中挡位的选择。图会根据 gear 中的激活子状态生成此值。

  • 时序逻辑:为了防止连续快速换挡,布尔条件 up 和 down 使用时序逻辑运算符 duration 来控制挡位之间的转移。当车速保持在所选挡位工作范围之外超过某个预定时间 TWAIT(以秒为单位测量)时,条件有效。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值