StateFlow-自动变速逻辑搭建

综述:

        stateflow是simulink中的一个工具箱,stateflow类似编程语言中的if else语句、switch case语句,能够实现逻辑切换,但是state状态切换起来非常直观,本文将使用stateflow搭建一个简单的自动变速逻辑。

一、自动挡简介

        简单的自动挡有P挡、R挡、N挡、D挡四个挡位,这四个挡位可以通过手动控制,当汽车处在D挡的时候,也就是前进挡,车辆可以根据当前的速度来自动切换当前车辆的挡位。

二、stateflow逻辑搭建

        在simulink模块库里面找到stateflow,然后把chart拖出来。之后所有的逻辑实现都在chart块中实现。

 双击chart进去,会出现如下页面,之后的逻辑搭建将在这块画布中进行

         之后主要用下面的状态块来代表一个一个的状态,并设立相应的条件进行状态的切换。

        下图为最终搭建好的模型,分为4个大状态,对应PRND四个挡位,其中D挡状态里面又嵌套了四个状态,代表自动挡的4个挡位,1挡、2挡、3挡、4挡。

        当换挡的输入分别等于PP  RR   NN  DD 时切换挡位,当到D挡的时候,4个挡位的切换根据速度大小判断。

 三、参数设置

        参数的设置部分在model explorer中设置,包括端口、变量等等。

其中在变量区对PP  RR  NN  DD 进行了设置对应的值

在下面添加了这变量以及输入输出的端口,和一个事件。

 可以看下最终的效果:

四、附加说明

 有几点需要说明:

1、chart里面搭建的逻辑转换需要有初始状态,在状态块上有个点加箭头的代表默认进入的初始的状态。

2、在状态块里可以加状态,或者逻辑语句,或者通过事件调用函数。en 表示进入状态的操作,du:表示处在这个状态中的操作;ex:表示退出这个状态的操作。

五、模型链接

AT_9_18_model.slx-讲义文档类资源-CSDN下载

  • 2
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芝士就是菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值