MATLAB Simulink Statflow学习笔记

MATLAB Simulink Statflow学习笔记

1.概述

在做算法设计时,会用到Statflow模块和MATLAB Function模块,我们可以在这里搭建自己需要的程序逻辑。

(1) Statflow、MATLAB Function和Simulink之间的区别

做一些逻辑设计,尤其是和状态机相关的,用Statflow更方便。
做一些和矩阵相关的计算,用MATLAB Function更方便。
做一些数据流传,用Simulink更方便。
在这里插入图片描述
在这里插入图片描述

2.Statflow创建一个简单的逻辑

搭建一个简单的流程图如下:
在这里插入图片描述
在这里插入图片描述
画完连线如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
Statflow更擅长做状态机,具体操作如下:
在这里插入图片描述
我们可以在状态机里面添加条件,

en:
fun();
LED1 = 1;
LED2 = 0;
du:
LED1 = 0;
LED2 = 1;
ex:
LED1 = 1;
LED2 = 1;

en(entry):表示进入状态的动作
du(during):表示在状态条件下的动作
ex(exit):表示离开状态的动作
在这里插入图片描述
在这里插入图片描述

3.Statflow模块介绍

在这里插入图片描述

4.Statflow案例

例如:用Stateflow做一个简易的温度控制系统(节点形式)
在这里插入图片描述
下面在stateflow外面画好输入输出
在这里插入图片描述
在这里插入图片描述
我们画一个动态输入源可以观看仿真动画
在这里插入图片描述
点击运行后可以看到节点和连线被高亮,表示此刻程序执行的状态。
在这里插入图片描述
有可能电脑执行画面太快,在下图可以更改动画速度
在这里插入图片描述
例如:用Stateflow挡位切换控制系统(状态形式)
下图表示挡位切换的逻辑
在这里插入图片描述
下面我们在D档写汽车自动换挡控制逻辑
在这里插入图片描述
在这里插入图片描述
在statflow外面建立逻辑如下:
在这里插入图片描述
在这里插入图片描述
定义好PP、RR、NN、DD变量在这里插入图片描述
在这里插入图片描述
点击仿真按钮,更改Constant模块数值即可在仿真动画中看到挡位的切换情况
在这里插入图片描述
仿真结果如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.Statflow其他
(1)函数调用事件

在这里插入图片描述
在这里插入图片描述

点击apply,这样ststeflow页面就多出来一个端口,这个端口和其他端口不一样,这是个函数调用端口,可以调用一些函数事件。这个端口可以接Function-Call Subsystem子系统,用这个端口太触发子系统。
在这里插入图片描述
在这里插入图片描述
这个Function-Call Subsystem,我们可以在合适的时机(例如:在N档的时候触发子系统)进行调用
在这里插入图片描述

(2)默认子状态

在这里插入图片描述
一般每个页面会带一个默认子状态,当然如果我们要修改其位置,可以把自带的删掉,自己在所需的模块上添加;
在这里插入图片描述

(3)语言选择

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一般我们默认使用matlab语言,在某些特殊情况下,比如要引入其他地方的C代码,自己不想转述成matlab语言,可以使用此手段。

(4)状态机里面也可以画流程逻辑

在这里插入图片描述
可以看到,新画的流程逻辑在P档状态机里面,表示当状态进入P状态机后执行流程逻辑,相当于代码en:
如果要实现代码du:的功能,可以拉一条线到状态机,
在这里插入图片描述

  • 6
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值